@font-face { font-family: 'Alegreya'; font-style: italic; font-weight: 500; font-display: swap; src: url(../fonts/alegreya-italic-500-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Alegreya'; font-style: italic; font-weight: 500; font-display: swap; src: url(../fonts/alegreya-italic-500-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Alegreya'; font-style: italic; font-weight: 500; font-display: swap; src: url(../fonts/alegreya-italic-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Alegreya'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/alegreya-normal-500-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Alegreya'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/alegreya-normal-500-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Alegreya'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/alegreya-normal-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Alegreya'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/alegreya-normal-500-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Alegreya'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/alegreya-normal-500-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Alegreya'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/alegreya-normal-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/commissioner-normal-400-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/commissioner-normal-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/commissioner-normal-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/commissioner-normal-400-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/commissioner-normal-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/commissioner-normal-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/commissioner-normal-400-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/commissioner-normal-400-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Commissioner'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/commissioner-normal-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --bg: #F3F6F5; --surface: #FFFFFF; --ink: #10242A; --muted: #50666A; --river: #0E5E5B; --river-2: #0A4745;
  --brick: #B24A2E; --gold: #C9962B; --line: #D5DEDC; --on-dark: #F3F7F6; --deep: #0B1F23; --on-olive: #FFFFFF; --btn-bg: #B24A2E; --btn-fg: #FFFFFF; --topo: url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="640" height="640" viewBox="0 0 640 640" fill="none" stroke="%230E5E5B" stroke-opacity=".28" stroke-width="1.4"%3E%3Cpath d="M371.4 190.0C381.2 211.9 373.5 250.3 356.2 268.0C338.8 285.6 292.7 287.7 267.3 296.1C241.9 304.5 225.5 315.1 203.7 318.5C182.0 321.8 161.5 317.0 136.8 316.4C112.1 315.8 82.5 322.3 55.4 314.9C28.3 307.5 -18.1 292.8 -25.7 272.0C-33.4 251.1 -1.1 212.8 9.6 190.0C20.4 167.2 30.9 155.6 38.8 135.1C46.7 114.5 41.7 82.6 57.0 66.8C72.3 51.0 105.1 45.5 130.7 40.3C156.3 35.0 187.3 28.6 210.6 35.2C234.0 41.9 256.2 63.3 270.7 80.2C285.2 97.1 280.6 118.3 297.4 136.6C314.2 154.9 361.6 168.1 371.4 190.0Z"/%3E%3Cpath d="M350.5 190.0C358.8 209.4 349.4 242.9 333.6 258.5C317.8 274.1 278.0 275.9 255.7 283.5C233.4 291.0 219.1 300.9 199.9 304.0C180.7 307.1 162.7 302.5 140.6 302.2C118.4 301.9 91.1 308.7 67.2 302.1C43.3 295.5 3.3 281.1 -3.0 262.4C-9.2 243.7 20.6 210.3 29.9 190.0C39.1 169.7 46.0 159.1 52.6 140.8C59.2 122.6 55.8 94.3 69.5 80.4C83.3 66.5 112.4 62.1 135.2 57.4C158.0 52.8 185.5 46.6 206.1 52.6C226.6 58.6 245.4 78.7 258.4 93.7C271.3 108.6 268.5 126.3 283.8 142.3C299.2 158.4 342.2 170.6 350.5 190.0Z"/%3E%3Cpath d="M329.0 190.0C335.9 206.9 325.5 235.7 311.4 249.2C297.3 262.7 263.6 264.4 244.3 271.1C225.1 277.8 212.8 286.7 196.1 289.5C179.4 292.3 163.8 288.1 144.3 288.0C124.8 287.9 100.0 294.8 79.3 288.9C58.5 283.1 24.8 269.4 19.8 252.9C14.8 236.4 41.7 207.7 49.5 190.0C57.3 172.3 61.2 162.7 66.6 146.7C72.1 130.8 70.0 106.3 82.2 94.2C94.3 82.2 119.8 78.5 139.7 74.5C159.6 70.5 183.7 64.7 201.5 70.1C219.2 75.5 234.8 93.9 246.2 106.9C257.7 119.9 256.3 134.2 270.1 148.1C283.9 161.9 322.1 173.1 329.0 190.0Z"/%3E%3Cpath d="M307.0 190.0C312.5 204.4 301.8 228.6 289.5 240.0C277.2 251.5 249.3 253.0 233.1 258.8C216.9 264.6 206.5 272.4 192.3 274.9C178.1 277.4 164.8 273.7 148.0 273.8C131.2 273.8 109.2 280.5 91.6 275.4C74.1 270.4 46.3 257.7 42.5 243.4C38.6 229.2 62.1 205.1 68.5 190.0C74.9 174.9 76.5 166.3 80.9 152.7C85.3 139.0 84.4 118.3 94.9 108.1C105.4 97.9 127.1 94.9 144.1 91.5C161.1 88.1 181.8 82.9 196.9 87.6C211.9 92.3 224.5 108.8 234.4 119.8C244.3 130.9 244.1 142.2 256.3 153.9C268.4 165.6 301.5 175.6 307.0 190.0Z"/%3E%3Cpath d="M284.5 190.0C288.8 201.9 278.4 221.6 268.0 231.0C257.6 240.5 235.3 241.9 222.1 246.8C208.8 251.6 200.2 258.2 188.5 260.4C176.8 262.5 165.8 259.3 151.7 259.5C137.7 259.7 118.8 265.8 104.3 261.6C89.9 257.3 67.9 245.9 65.0 234.0C62.1 222.1 82.0 202.5 87.0 190.0C92.1 177.5 92.0 170.1 95.4 158.8C98.9 147.5 98.8 130.5 107.7 122.1C116.6 113.7 134.5 111.3 148.6 108.4C162.7 105.6 179.9 101.2 192.3 105.2C204.6 109.2 214.4 123.4 222.7 132.5C231.1 141.6 231.9 150.2 242.2 159.8C252.5 169.4 280.2 178.1 284.5 190.0Z"/%3E%3Cpath d="M261.5 190.0C264.6 199.4 255.2 214.7 246.9 222.2C238.5 229.7 221.5 230.9 211.1 234.8C200.7 238.7 193.9 244.0 184.6 245.8C175.4 247.5 166.7 245.0 155.5 245.3C144.3 245.6 128.7 250.8 117.4 247.4C106.0 243.9 89.3 234.2 87.3 224.6C85.2 215.1 101.2 199.9 105.0 190.0C108.9 180.1 107.7 174.0 110.3 165.0C112.9 156.0 113.5 142.7 120.6 136.1C127.7 129.5 141.9 127.6 153.0 125.4C164.2 123.1 177.9 119.5 187.6 122.8C197.4 126.0 204.6 137.7 211.4 144.9C218.1 152.1 219.5 158.3 227.9 165.8C236.2 173.3 258.3 180.6 261.5 190.0Z"/%3E%3Cpath d="M238.0 190.0C240.2 196.9 232.4 208.0 226.1 213.5C219.8 219.0 207.8 220.0 200.3 223.0C192.7 225.9 187.6 229.8 180.8 231.2C174.0 232.5 167.6 230.7 159.2 231.0C150.9 231.3 139.0 235.4 130.7 232.8C122.4 230.2 110.7 222.5 109.4 215.4C108.0 208.2 119.9 197.3 122.6 190.0C125.3 182.7 123.6 178.0 125.4 171.3C127.2 164.7 128.1 155.0 133.5 150.2C138.8 145.3 149.2 143.9 157.5 142.3C165.7 140.6 175.9 137.9 183.0 140.4C190.1 142.9 195.2 151.8 200.2 157.1C205.2 162.3 207.0 166.4 213.3 171.9C219.6 177.4 235.9 183.1 238.0 190.0Z"/%3E%3Cpath d="M214.2 190.0C215.5 194.5 210.0 201.5 205.9 205.0C201.7 208.6 194.3 209.3 189.5 211.2C184.7 213.2 181.4 215.7 177.0 216.6C172.6 217.5 168.5 216.3 163.0 216.6C157.6 216.8 149.7 219.7 144.4 218.0C139.0 216.2 131.9 210.9 131.2 206.3C130.4 201.6 138.1 194.7 139.7 190.0C141.3 185.3 139.8 182.1 140.9 177.8C142.0 173.5 142.9 167.4 146.4 164.3C149.9 161.2 156.6 160.2 161.9 159.2C167.2 158.1 173.8 156.4 178.4 158.0C183.0 159.6 186.0 165.6 189.3 168.9C192.6 172.3 194.1 174.6 198.3 178.1C202.4 181.7 213.0 185.5 214.2 190.0Z"/%3E%3Cpath d="M636.8 430.0C628.8 450.0 603.2 465.0 589.0 479.8C574.9 494.7 566.9 509.2 551.9 519.3C536.9 529.5 519.1 531.2 499.1 540.7C479.0 550.2 455.1 574.4 431.6 576.3C408.1 578.2 370.5 568.8 357.8 552.4C345.1 536.0 359.6 498.3 355.5 477.9C351.4 457.5 338.0 448.0 333.3 430.0C328.5 412.0 320.2 387.5 327.1 370.2C334.0 352.8 356.8 338.5 374.8 326.2C392.7 313.8 414.2 296.8 434.8 295.9C455.4 295.1 479.0 313.7 498.6 321.1C518.2 328.5 529.1 333.9 552.2 340.3C575.4 346.8 623.4 344.9 637.5 359.9C651.6 374.8 644.9 410.0 636.8 430.0Z"/%3E%3Cpath d="M613.4 430.0C606.2 447.4 585.3 460.3 573.2 473.2C561.2 486.2 554.1 498.6 541.1 507.5C528.1 516.5 512.9 518.2 495.4 526.7C477.9 535.2 456.6 557.0 436.3 558.5C415.9 559.9 384.2 549.9 373.3 535.4C362.5 520.9 375.3 488.9 371.4 471.3C367.5 453.7 354.2 445.5 349.9 430.0C345.6 414.5 339.6 393.1 345.8 378.0C352.1 363.0 371.6 350.4 387.2 339.7C402.8 329.0 421.6 314.3 439.5 313.7C457.4 313.2 477.4 330.1 494.6 336.3C511.8 342.5 522.2 345.6 542.5 351.0C562.8 356.4 604.6 355.5 616.4 368.7C628.2 381.9 620.6 412.6 613.4 430.0Z"/%3E%3Cpath d="M590.5 430.0C584.2 444.8 567.6 455.7 557.6 466.7C547.5 477.6 541.3 488.1 530.3 495.8C519.3 503.4 506.6 505.2 491.7 512.6C476.8 520.0 458.2 539.2 441.1 540.2C423.9 541.2 397.7 531.2 388.7 518.7C379.7 506.1 390.5 479.6 386.9 464.8C383.3 450.0 370.6 443.2 366.9 430.0C363.2 416.8 359.2 398.7 364.6 385.9C370.1 373.1 386.3 362.2 399.5 353.2C412.8 344.1 428.9 331.8 444.1 331.5C459.3 331.1 476.0 346.1 490.7 351.2C505.4 356.3 515.1 357.5 532.5 361.9C549.8 366.3 585.3 366.3 594.9 377.7C604.6 389.0 596.7 415.2 590.5 430.0Z"/%3E%3Cpath d="M568.0 430.0C562.8 442.2 550.0 451.1 542.0 460.1C533.9 469.1 528.6 477.7 519.6 484.0C510.6 490.4 500.2 492.2 488.0 498.4C475.7 504.7 460.0 520.9 446.0 521.5C431.9 522.2 411.1 512.7 403.8 502.2C396.5 491.7 405.4 470.5 402.1 458.4C398.9 446.4 387.4 440.8 384.3 430.0C381.2 419.2 378.8 404.3 383.4 393.7C388.0 383.2 401.0 374.1 411.9 366.7C422.8 359.3 436.3 349.3 448.8 349.2C461.3 349.0 474.6 361.8 486.9 365.8C499.1 369.7 507.8 369.6 522.2 373.1C536.6 376.6 565.6 377.3 573.2 386.8C580.8 396.3 573.2 417.8 568.0 430.0Z"/%3E%3Cpath d="M546.0 430.0C541.9 439.6 532.6 446.6 526.4 453.6C520.2 460.7 515.9 467.3 508.8 472.3C501.8 477.4 493.8 479.1 484.2 484.1C474.6 489.1 461.9 502.1 451.0 502.5C440.0 502.8 424.3 494.4 418.6 486.0C412.9 477.7 419.8 461.5 417.1 452.2C414.3 442.8 404.6 438.4 402.1 430.0C399.6 421.6 398.4 409.9 402.1 401.6C405.8 393.3 415.8 386.0 424.4 380.2C432.9 374.4 443.6 366.8 453.4 366.8C463.2 366.8 473.4 377.0 483.1 380.0C492.8 383.0 500.2 382.0 511.6 384.7C522.9 387.3 545.5 388.4 551.2 396.0C557.0 403.5 550.2 420.4 546.0 430.0Z"/%3E%3Cpath d="M524.5 430.0C521.5 437.0 515.3 442.0 510.9 447.1C506.5 452.3 503.2 456.9 498.1 460.7C493.0 464.4 487.4 465.8 480.4 469.6C473.4 473.3 464.0 482.9 456.1 483.0C448.2 483.1 437.2 476.4 433.1 470.2C429.1 464.0 433.9 452.7 431.8 446.0C429.6 439.3 422.0 436.1 420.2 430.0C418.4 423.9 418.1 415.4 420.8 409.4C423.6 403.4 430.6 398.0 436.8 393.8C443.0 389.6 450.9 384.3 458.0 384.3C465.1 384.4 472.3 392.0 479.4 394.0C486.5 396.1 492.4 394.7 500.7 396.6C508.9 398.4 525.1 399.7 529.1 405.3C533.1 410.8 527.6 423.0 524.5 430.0Z"/%3E%3Cpath d="M503.6 430.0C501.7 434.3 498.2 437.5 495.5 440.7C492.8 443.8 490.6 446.7 487.5 449.0C484.3 451.4 480.9 452.4 476.5 454.8C472.1 457.2 466.1 463.3 461.3 463.2C456.4 463.2 449.8 458.6 447.3 454.7C444.8 450.8 447.7 444.0 446.3 439.9C444.9 435.8 439.9 433.8 438.7 430.0C437.6 426.2 437.7 421.0 439.5 417.2C441.2 413.5 445.5 410.0 449.3 407.4C453.2 404.9 458.2 401.7 462.6 401.7C467.0 401.8 471.4 406.6 475.8 407.8C480.3 409.0 484.2 407.7 489.4 408.9C494.5 410.0 504.4 411.1 506.8 414.6C509.2 418.1 505.4 425.7 503.6 430.0Z"/%3E%3Cpath d="M483.0 430.0C482.3 431.7 481.0 432.9 480.0 434.2C479.0 435.4 478.1 436.5 476.8 437.5C475.6 438.4 474.3 438.9 472.6 439.8C470.9 440.8 468.4 443.2 466.5 443.1C464.7 443.1 462.2 441.1 461.2 439.6C460.2 438.0 461.3 435.5 460.7 433.9C460.1 432.3 458.1 431.5 457.6 430.0C457.2 428.5 457.3 426.5 458.0 425.0C458.7 423.5 460.3 422.1 461.9 421.1C463.4 420.1 465.4 418.9 467.1 418.9C468.8 419.0 470.5 420.9 472.3 421.3C474.0 421.8 475.7 421.1 477.7 421.6C479.8 422.0 483.6 422.5 484.5 423.9C485.4 425.3 483.8 428.3 483.0 430.0Z"/%3E%3C/svg%3E");
  --citrus: #E08A1E; --kiwi: #7FA23A; --olive: #6B7B2E; --honey: #D9A21B; --leaf: #4F6B2B; --icon-bg: #E3EBE8;
  --shadow: 0 1px 2px rgba(16,36,42,.06), 0 10px 28px rgba(16,36,42,.09);
  --display: "Alegreya", Georgia, serif; --body: "Commissioner", system-ui, -apple-system, "Segoe UI", sans-serif;
  --radius: 14px; --overlay: linear-gradient(to top, rgba(7,20,23,.86) 0%, rgba(7,20,23,.4) 45%, rgba(7,20,23,0) 78%);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0B1416; --surface: #122024; --ink: #E8EFEE; --muted: #93A7A8; --river: #5FB8B0; --river-2: #7CCCC4;
    --brick: #E2896A; --gold: #E3B552; --line: #25393D; --deep: #050D0F; --on-olive: #10200A; --btn-bg: #E2896A; --btn-fg: #1B0E08; --topo: url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="640" height="640" viewBox="0 0 640 640" fill="none" stroke="%235FB8B0" stroke-opacity=".22" stroke-width="1.4"%3E%3Cpath d="M371.4 190.0C381.2 211.9 373.5 250.3 356.2 268.0C338.8 285.6 292.7 287.7 267.3 296.1C241.9 304.5 225.5 315.1 203.7 318.5C182.0 321.8 161.5 317.0 136.8 316.4C112.1 315.8 82.5 322.3 55.4 314.9C28.3 307.5 -18.1 292.8 -25.7 272.0C-33.4 251.1 -1.1 212.8 9.6 190.0C20.4 167.2 30.9 155.6 38.8 135.1C46.7 114.5 41.7 82.6 57.0 66.8C72.3 51.0 105.1 45.5 130.7 40.3C156.3 35.0 187.3 28.6 210.6 35.2C234.0 41.9 256.2 63.3 270.7 80.2C285.2 97.1 280.6 118.3 297.4 136.6C314.2 154.9 361.6 168.1 371.4 190.0Z"/%3E%3Cpath d="M350.5 190.0C358.8 209.4 349.4 242.9 333.6 258.5C317.8 274.1 278.0 275.9 255.7 283.5C233.4 291.0 219.1 300.9 199.9 304.0C180.7 307.1 162.7 302.5 140.6 302.2C118.4 301.9 91.1 308.7 67.2 302.1C43.3 295.5 3.3 281.1 -3.0 262.4C-9.2 243.7 20.6 210.3 29.9 190.0C39.1 169.7 46.0 159.1 52.6 140.8C59.2 122.6 55.8 94.3 69.5 80.4C83.3 66.5 112.4 62.1 135.2 57.4C158.0 52.8 185.5 46.6 206.1 52.6C226.6 58.6 245.4 78.7 258.4 93.7C271.3 108.6 268.5 126.3 283.8 142.3C299.2 158.4 342.2 170.6 350.5 190.0Z"/%3E%3Cpath d="M329.0 190.0C335.9 206.9 325.5 235.7 311.4 249.2C297.3 262.7 263.6 264.4 244.3 271.1C225.1 277.8 212.8 286.7 196.1 289.5C179.4 292.3 163.8 288.1 144.3 288.0C124.8 287.9 100.0 294.8 79.3 288.9C58.5 283.1 24.8 269.4 19.8 252.9C14.8 236.4 41.7 207.7 49.5 190.0C57.3 172.3 61.2 162.7 66.6 146.7C72.1 130.8 70.0 106.3 82.2 94.2C94.3 82.2 119.8 78.5 139.7 74.5C159.6 70.5 183.7 64.7 201.5 70.1C219.2 75.5 234.8 93.9 246.2 106.9C257.7 119.9 256.3 134.2 270.1 148.1C283.9 161.9 322.1 173.1 329.0 190.0Z"/%3E%3Cpath d="M307.0 190.0C312.5 204.4 301.8 228.6 289.5 240.0C277.2 251.5 249.3 253.0 233.1 258.8C216.9 264.6 206.5 272.4 192.3 274.9C178.1 277.4 164.8 273.7 148.0 273.8C131.2 273.8 109.2 280.5 91.6 275.4C74.1 270.4 46.3 257.7 42.5 243.4C38.6 229.2 62.1 205.1 68.5 190.0C74.9 174.9 76.5 166.3 80.9 152.7C85.3 139.0 84.4 118.3 94.9 108.1C105.4 97.9 127.1 94.9 144.1 91.5C161.1 88.1 181.8 82.9 196.9 87.6C211.9 92.3 224.5 108.8 234.4 119.8C244.3 130.9 244.1 142.2 256.3 153.9C268.4 165.6 301.5 175.6 307.0 190.0Z"/%3E%3Cpath d="M284.5 190.0C288.8 201.9 278.4 221.6 268.0 231.0C257.6 240.5 235.3 241.9 222.1 246.8C208.8 251.6 200.2 258.2 188.5 260.4C176.8 262.5 165.8 259.3 151.7 259.5C137.7 259.7 118.8 265.8 104.3 261.6C89.9 257.3 67.9 245.9 65.0 234.0C62.1 222.1 82.0 202.5 87.0 190.0C92.1 177.5 92.0 170.1 95.4 158.8C98.9 147.5 98.8 130.5 107.7 122.1C116.6 113.7 134.5 111.3 148.6 108.4C162.7 105.6 179.9 101.2 192.3 105.2C204.6 109.2 214.4 123.4 222.7 132.5C231.1 141.6 231.9 150.2 242.2 159.8C252.5 169.4 280.2 178.1 284.5 190.0Z"/%3E%3Cpath d="M261.5 190.0C264.6 199.4 255.2 214.7 246.9 222.2C238.5 229.7 221.5 230.9 211.1 234.8C200.7 238.7 193.9 244.0 184.6 245.8C175.4 247.5 166.7 245.0 155.5 245.3C144.3 245.6 128.7 250.8 117.4 247.4C106.0 243.9 89.3 234.2 87.3 224.6C85.2 215.1 101.2 199.9 105.0 190.0C108.9 180.1 107.7 174.0 110.3 165.0C112.9 156.0 113.5 142.7 120.6 136.1C127.7 129.5 141.9 127.6 153.0 125.4C164.2 123.1 177.9 119.5 187.6 122.8C197.4 126.0 204.6 137.7 211.4 144.9C218.1 152.1 219.5 158.3 227.9 165.8C236.2 173.3 258.3 180.6 261.5 190.0Z"/%3E%3Cpath d="M238.0 190.0C240.2 196.9 232.4 208.0 226.1 213.5C219.8 219.0 207.8 220.0 200.3 223.0C192.7 225.9 187.6 229.8 180.8 231.2C174.0 232.5 167.6 230.7 159.2 231.0C150.9 231.3 139.0 235.4 130.7 232.8C122.4 230.2 110.7 222.5 109.4 215.4C108.0 208.2 119.9 197.3 122.6 190.0C125.3 182.7 123.6 178.0 125.4 171.3C127.2 164.7 128.1 155.0 133.5 150.2C138.8 145.3 149.2 143.9 157.5 142.3C165.7 140.6 175.9 137.9 183.0 140.4C190.1 142.9 195.2 151.8 200.2 157.1C205.2 162.3 207.0 166.4 213.3 171.9C219.6 177.4 235.9 183.1 238.0 190.0Z"/%3E%3Cpath d="M214.2 190.0C215.5 194.5 210.0 201.5 205.9 205.0C201.7 208.6 194.3 209.3 189.5 211.2C184.7 213.2 181.4 215.7 177.0 216.6C172.6 217.5 168.5 216.3 163.0 216.6C157.6 216.8 149.7 219.7 144.4 218.0C139.0 216.2 131.9 210.9 131.2 206.3C130.4 201.6 138.1 194.7 139.7 190.0C141.3 185.3 139.8 182.1 140.9 177.8C142.0 173.5 142.9 167.4 146.4 164.3C149.9 161.2 156.6 160.2 161.9 159.2C167.2 158.1 173.8 156.4 178.4 158.0C183.0 159.6 186.0 165.6 189.3 168.9C192.6 172.3 194.1 174.6 198.3 178.1C202.4 181.7 213.0 185.5 214.2 190.0Z"/%3E%3Cpath d="M636.8 430.0C628.8 450.0 603.2 465.0 589.0 479.8C574.9 494.7 566.9 509.2 551.9 519.3C536.9 529.5 519.1 531.2 499.1 540.7C479.0 550.2 455.1 574.4 431.6 576.3C408.1 578.2 370.5 568.8 357.8 552.4C345.1 536.0 359.6 498.3 355.5 477.9C351.4 457.5 338.0 448.0 333.3 430.0C328.5 412.0 320.2 387.5 327.1 370.2C334.0 352.8 356.8 338.5 374.8 326.2C392.7 313.8 414.2 296.8 434.8 295.9C455.4 295.1 479.0 313.7 498.6 321.1C518.2 328.5 529.1 333.9 552.2 340.3C575.4 346.8 623.4 344.9 637.5 359.9C651.6 374.8 644.9 410.0 636.8 430.0Z"/%3E%3Cpath d="M613.4 430.0C606.2 447.4 585.3 460.3 573.2 473.2C561.2 486.2 554.1 498.6 541.1 507.5C528.1 516.5 512.9 518.2 495.4 526.7C477.9 535.2 456.6 557.0 436.3 558.5C415.9 559.9 384.2 549.9 373.3 535.4C362.5 520.9 375.3 488.9 371.4 471.3C367.5 453.7 354.2 445.5 349.9 430.0C345.6 414.5 339.6 393.1 345.8 378.0C352.1 363.0 371.6 350.4 387.2 339.7C402.8 329.0 421.6 314.3 439.5 313.7C457.4 313.2 477.4 330.1 494.6 336.3C511.8 342.5 522.2 345.6 542.5 351.0C562.8 356.4 604.6 355.5 616.4 368.7C628.2 381.9 620.6 412.6 613.4 430.0Z"/%3E%3Cpath d="M590.5 430.0C584.2 444.8 567.6 455.7 557.6 466.7C547.5 477.6 541.3 488.1 530.3 495.8C519.3 503.4 506.6 505.2 491.7 512.6C476.8 520.0 458.2 539.2 441.1 540.2C423.9 541.2 397.7 531.2 388.7 518.7C379.7 506.1 390.5 479.6 386.9 464.8C383.3 450.0 370.6 443.2 366.9 430.0C363.2 416.8 359.2 398.7 364.6 385.9C370.1 373.1 386.3 362.2 399.5 353.2C412.8 344.1 428.9 331.8 444.1 331.5C459.3 331.1 476.0 346.1 490.7 351.2C505.4 356.3 515.1 357.5 532.5 361.9C549.8 366.3 585.3 366.3 594.9 377.7C604.6 389.0 596.7 415.2 590.5 430.0Z"/%3E%3Cpath d="M568.0 430.0C562.8 442.2 550.0 451.1 542.0 460.1C533.9 469.1 528.6 477.7 519.6 484.0C510.6 490.4 500.2 492.2 488.0 498.4C475.7 504.7 460.0 520.9 446.0 521.5C431.9 522.2 411.1 512.7 403.8 502.2C396.5 491.7 405.4 470.5 402.1 458.4C398.9 446.4 387.4 440.8 384.3 430.0C381.2 419.2 378.8 404.3 383.4 393.7C388.0 383.2 401.0 374.1 411.9 366.7C422.8 359.3 436.3 349.3 448.8 349.2C461.3 349.0 474.6 361.8 486.9 365.8C499.1 369.7 507.8 369.6 522.2 373.1C536.6 376.6 565.6 377.3 573.2 386.8C580.8 396.3 573.2 417.8 568.0 430.0Z"/%3E%3Cpath d="M546.0 430.0C541.9 439.6 532.6 446.6 526.4 453.6C520.2 460.7 515.9 467.3 508.8 472.3C501.8 477.4 493.8 479.1 484.2 484.1C474.6 489.1 461.9 502.1 451.0 502.5C440.0 502.8 424.3 494.4 418.6 486.0C412.9 477.7 419.8 461.5 417.1 452.2C414.3 442.8 404.6 438.4 402.1 430.0C399.6 421.6 398.4 409.9 402.1 401.6C405.8 393.3 415.8 386.0 424.4 380.2C432.9 374.4 443.6 366.8 453.4 366.8C463.2 366.8 473.4 377.0 483.1 380.0C492.8 383.0 500.2 382.0 511.6 384.7C522.9 387.3 545.5 388.4 551.2 396.0C557.0 403.5 550.2 420.4 546.0 430.0Z"/%3E%3Cpath d="M524.5 430.0C521.5 437.0 515.3 442.0 510.9 447.1C506.5 452.3 503.2 456.9 498.1 460.7C493.0 464.4 487.4 465.8 480.4 469.6C473.4 473.3 464.0 482.9 456.1 483.0C448.2 483.1 437.2 476.4 433.1 470.2C429.1 464.0 433.9 452.7 431.8 446.0C429.6 439.3 422.0 436.1 420.2 430.0C418.4 423.9 418.1 415.4 420.8 409.4C423.6 403.4 430.6 398.0 436.8 393.8C443.0 389.6 450.9 384.3 458.0 384.3C465.1 384.4 472.3 392.0 479.4 394.0C486.5 396.1 492.4 394.7 500.7 396.6C508.9 398.4 525.1 399.7 529.1 405.3C533.1 410.8 527.6 423.0 524.5 430.0Z"/%3E%3Cpath d="M503.6 430.0C501.7 434.3 498.2 437.5 495.5 440.7C492.8 443.8 490.6 446.7 487.5 449.0C484.3 451.4 480.9 452.4 476.5 454.8C472.1 457.2 466.1 463.3 461.3 463.2C456.4 463.2 449.8 458.6 447.3 454.7C444.8 450.8 447.7 444.0 446.3 439.9C444.9 435.8 439.9 433.8 438.7 430.0C437.6 426.2 437.7 421.0 439.5 417.2C441.2 413.5 445.5 410.0 449.3 407.4C453.2 404.9 458.2 401.7 462.6 401.7C467.0 401.8 471.4 406.6 475.8 407.8C480.3 409.0 484.2 407.7 489.4 408.9C494.5 410.0 504.4 411.1 506.8 414.6C509.2 418.1 505.4 425.7 503.6 430.0Z"/%3E%3Cpath d="M483.0 430.0C482.3 431.7 481.0 432.9 480.0 434.2C479.0 435.4 478.1 436.5 476.8 437.5C475.6 438.4 474.3 438.9 472.6 439.8C470.9 440.8 468.4 443.2 466.5 443.1C464.7 443.1 462.2 441.1 461.2 439.6C460.2 438.0 461.3 435.5 460.7 433.9C460.1 432.3 458.1 431.5 457.6 430.0C457.2 428.5 457.3 426.5 458.0 425.0C458.7 423.5 460.3 422.1 461.9 421.1C463.4 420.1 465.4 418.9 467.1 418.9C468.8 419.0 470.5 420.9 472.3 421.3C474.0 421.8 475.7 421.1 477.7 421.6C479.8 422.0 483.6 422.5 484.5 423.9C485.4 425.3 483.8 428.3 483.0 430.0Z"/%3E%3C/svg%3E"); --citrus: #F0A24A; --kiwi: #9CC252;
    --olive: #9AAA52; --honey: #E8BB4A; --leaf: #7C9A52; --icon-bg: #1D3034;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 28px rgba(0,0,0,.4); color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0B1416; --surface: #122024; --ink: #E8EFEE; --muted: #93A7A8; --river: #5FB8B0; --river-2: #7CCCC4;
  --brick: #E2896A; --gold: #E3B552; --line: #25393D; --deep: #050D0F; --on-olive: #10200A; --btn-bg: #E2896A; --btn-fg: #1B0E08; --topo: url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="640" height="640" viewBox="0 0 640 640" fill="none" stroke="%235FB8B0" stroke-opacity=".22" stroke-width="1.4"%3E%3Cpath d="M371.4 190.0C381.2 211.9 373.5 250.3 356.2 268.0C338.8 285.6 292.7 287.7 267.3 296.1C241.9 304.5 225.5 315.1 203.7 318.5C182.0 321.8 161.5 317.0 136.8 316.4C112.1 315.8 82.5 322.3 55.4 314.9C28.3 307.5 -18.1 292.8 -25.7 272.0C-33.4 251.1 -1.1 212.8 9.6 190.0C20.4 167.2 30.9 155.6 38.8 135.1C46.7 114.5 41.7 82.6 57.0 66.8C72.3 51.0 105.1 45.5 130.7 40.3C156.3 35.0 187.3 28.6 210.6 35.2C234.0 41.9 256.2 63.3 270.7 80.2C285.2 97.1 280.6 118.3 297.4 136.6C314.2 154.9 361.6 168.1 371.4 190.0Z"/%3E%3Cpath d="M350.5 190.0C358.8 209.4 349.4 242.9 333.6 258.5C317.8 274.1 278.0 275.9 255.7 283.5C233.4 291.0 219.1 300.9 199.9 304.0C180.7 307.1 162.7 302.5 140.6 302.2C118.4 301.9 91.1 308.7 67.2 302.1C43.3 295.5 3.3 281.1 -3.0 262.4C-9.2 243.7 20.6 210.3 29.9 190.0C39.1 169.7 46.0 159.1 52.6 140.8C59.2 122.6 55.8 94.3 69.5 80.4C83.3 66.5 112.4 62.1 135.2 57.4C158.0 52.8 185.5 46.6 206.1 52.6C226.6 58.6 245.4 78.7 258.4 93.7C271.3 108.6 268.5 126.3 283.8 142.3C299.2 158.4 342.2 170.6 350.5 190.0Z"/%3E%3Cpath d="M329.0 190.0C335.9 206.9 325.5 235.7 311.4 249.2C297.3 262.7 263.6 264.4 244.3 271.1C225.1 277.8 212.8 286.7 196.1 289.5C179.4 292.3 163.8 288.1 144.3 288.0C124.8 287.9 100.0 294.8 79.3 288.9C58.5 283.1 24.8 269.4 19.8 252.9C14.8 236.4 41.7 207.7 49.5 190.0C57.3 172.3 61.2 162.7 66.6 146.7C72.1 130.8 70.0 106.3 82.2 94.2C94.3 82.2 119.8 78.5 139.7 74.5C159.6 70.5 183.7 64.7 201.5 70.1C219.2 75.5 234.8 93.9 246.2 106.9C257.7 119.9 256.3 134.2 270.1 148.1C283.9 161.9 322.1 173.1 329.0 190.0Z"/%3E%3Cpath d="M307.0 190.0C312.5 204.4 301.8 228.6 289.5 240.0C277.2 251.5 249.3 253.0 233.1 258.8C216.9 264.6 206.5 272.4 192.3 274.9C178.1 277.4 164.8 273.7 148.0 273.8C131.2 273.8 109.2 280.5 91.6 275.4C74.1 270.4 46.3 257.7 42.5 243.4C38.6 229.2 62.1 205.1 68.5 190.0C74.9 174.9 76.5 166.3 80.9 152.7C85.3 139.0 84.4 118.3 94.9 108.1C105.4 97.9 127.1 94.9 144.1 91.5C161.1 88.1 181.8 82.9 196.9 87.6C211.9 92.3 224.5 108.8 234.4 119.8C244.3 130.9 244.1 142.2 256.3 153.9C268.4 165.6 301.5 175.6 307.0 190.0Z"/%3E%3Cpath d="M284.5 190.0C288.8 201.9 278.4 221.6 268.0 231.0C257.6 240.5 235.3 241.9 222.1 246.8C208.8 251.6 200.2 258.2 188.5 260.4C176.8 262.5 165.8 259.3 151.7 259.5C137.7 259.7 118.8 265.8 104.3 261.6C89.9 257.3 67.9 245.9 65.0 234.0C62.1 222.1 82.0 202.5 87.0 190.0C92.1 177.5 92.0 170.1 95.4 158.8C98.9 147.5 98.8 130.5 107.7 122.1C116.6 113.7 134.5 111.3 148.6 108.4C162.7 105.6 179.9 101.2 192.3 105.2C204.6 109.2 214.4 123.4 222.7 132.5C231.1 141.6 231.9 150.2 242.2 159.8C252.5 169.4 280.2 178.1 284.5 190.0Z"/%3E%3Cpath d="M261.5 190.0C264.6 199.4 255.2 214.7 246.9 222.2C238.5 229.7 221.5 230.9 211.1 234.8C200.7 238.7 193.9 244.0 184.6 245.8C175.4 247.5 166.7 245.0 155.5 245.3C144.3 245.6 128.7 250.8 117.4 247.4C106.0 243.9 89.3 234.2 87.3 224.6C85.2 215.1 101.2 199.9 105.0 190.0C108.9 180.1 107.7 174.0 110.3 165.0C112.9 156.0 113.5 142.7 120.6 136.1C127.7 129.5 141.9 127.6 153.0 125.4C164.2 123.1 177.9 119.5 187.6 122.8C197.4 126.0 204.6 137.7 211.4 144.9C218.1 152.1 219.5 158.3 227.9 165.8C236.2 173.3 258.3 180.6 261.5 190.0Z"/%3E%3Cpath d="M238.0 190.0C240.2 196.9 232.4 208.0 226.1 213.5C219.8 219.0 207.8 220.0 200.3 223.0C192.7 225.9 187.6 229.8 180.8 231.2C174.0 232.5 167.6 230.7 159.2 231.0C150.9 231.3 139.0 235.4 130.7 232.8C122.4 230.2 110.7 222.5 109.4 215.4C108.0 208.2 119.9 197.3 122.6 190.0C125.3 182.7 123.6 178.0 125.4 171.3C127.2 164.7 128.1 155.0 133.5 150.2C138.8 145.3 149.2 143.9 157.5 142.3C165.7 140.6 175.9 137.9 183.0 140.4C190.1 142.9 195.2 151.8 200.2 157.1C205.2 162.3 207.0 166.4 213.3 171.9C219.6 177.4 235.9 183.1 238.0 190.0Z"/%3E%3Cpath d="M214.2 190.0C215.5 194.5 210.0 201.5 205.9 205.0C201.7 208.6 194.3 209.3 189.5 211.2C184.7 213.2 181.4 215.7 177.0 216.6C172.6 217.5 168.5 216.3 163.0 216.6C157.6 216.8 149.7 219.7 144.4 218.0C139.0 216.2 131.9 210.9 131.2 206.3C130.4 201.6 138.1 194.7 139.7 190.0C141.3 185.3 139.8 182.1 140.9 177.8C142.0 173.5 142.9 167.4 146.4 164.3C149.9 161.2 156.6 160.2 161.9 159.2C167.2 158.1 173.8 156.4 178.4 158.0C183.0 159.6 186.0 165.6 189.3 168.9C192.6 172.3 194.1 174.6 198.3 178.1C202.4 181.7 213.0 185.5 214.2 190.0Z"/%3E%3Cpath d="M636.8 430.0C628.8 450.0 603.2 465.0 589.0 479.8C574.9 494.7 566.9 509.2 551.9 519.3C536.9 529.5 519.1 531.2 499.1 540.7C479.0 550.2 455.1 574.4 431.6 576.3C408.1 578.2 370.5 568.8 357.8 552.4C345.1 536.0 359.6 498.3 355.5 477.9C351.4 457.5 338.0 448.0 333.3 430.0C328.5 412.0 320.2 387.5 327.1 370.2C334.0 352.8 356.8 338.5 374.8 326.2C392.7 313.8 414.2 296.8 434.8 295.9C455.4 295.1 479.0 313.7 498.6 321.1C518.2 328.5 529.1 333.9 552.2 340.3C575.4 346.8 623.4 344.9 637.5 359.9C651.6 374.8 644.9 410.0 636.8 430.0Z"/%3E%3Cpath d="M613.4 430.0C606.2 447.4 585.3 460.3 573.2 473.2C561.2 486.2 554.1 498.6 541.1 507.5C528.1 516.5 512.9 518.2 495.4 526.7C477.9 535.2 456.6 557.0 436.3 558.5C415.9 559.9 384.2 549.9 373.3 535.4C362.5 520.9 375.3 488.9 371.4 471.3C367.5 453.7 354.2 445.5 349.9 430.0C345.6 414.5 339.6 393.1 345.8 378.0C352.1 363.0 371.6 350.4 387.2 339.7C402.8 329.0 421.6 314.3 439.5 313.7C457.4 313.2 477.4 330.1 494.6 336.3C511.8 342.5 522.2 345.6 542.5 351.0C562.8 356.4 604.6 355.5 616.4 368.7C628.2 381.9 620.6 412.6 613.4 430.0Z"/%3E%3Cpath d="M590.5 430.0C584.2 444.8 567.6 455.7 557.6 466.7C547.5 477.6 541.3 488.1 530.3 495.8C519.3 503.4 506.6 505.2 491.7 512.6C476.8 520.0 458.2 539.2 441.1 540.2C423.9 541.2 397.7 531.2 388.7 518.7C379.7 506.1 390.5 479.6 386.9 464.8C383.3 450.0 370.6 443.2 366.9 430.0C363.2 416.8 359.2 398.7 364.6 385.9C370.1 373.1 386.3 362.2 399.5 353.2C412.8 344.1 428.9 331.8 444.1 331.5C459.3 331.1 476.0 346.1 490.7 351.2C505.4 356.3 515.1 357.5 532.5 361.9C549.8 366.3 585.3 366.3 594.9 377.7C604.6 389.0 596.7 415.2 590.5 430.0Z"/%3E%3Cpath d="M568.0 430.0C562.8 442.2 550.0 451.1 542.0 460.1C533.9 469.1 528.6 477.7 519.6 484.0C510.6 490.4 500.2 492.2 488.0 498.4C475.7 504.7 460.0 520.9 446.0 521.5C431.9 522.2 411.1 512.7 403.8 502.2C396.5 491.7 405.4 470.5 402.1 458.4C398.9 446.4 387.4 440.8 384.3 430.0C381.2 419.2 378.8 404.3 383.4 393.7C388.0 383.2 401.0 374.1 411.9 366.7C422.8 359.3 436.3 349.3 448.8 349.2C461.3 349.0 474.6 361.8 486.9 365.8C499.1 369.7 507.8 369.6 522.2 373.1C536.6 376.6 565.6 377.3 573.2 386.8C580.8 396.3 573.2 417.8 568.0 430.0Z"/%3E%3Cpath d="M546.0 430.0C541.9 439.6 532.6 446.6 526.4 453.6C520.2 460.7 515.9 467.3 508.8 472.3C501.8 477.4 493.8 479.1 484.2 484.1C474.6 489.1 461.9 502.1 451.0 502.5C440.0 502.8 424.3 494.4 418.6 486.0C412.9 477.7 419.8 461.5 417.1 452.2C414.3 442.8 404.6 438.4 402.1 430.0C399.6 421.6 398.4 409.9 402.1 401.6C405.8 393.3 415.8 386.0 424.4 380.2C432.9 374.4 443.6 366.8 453.4 366.8C463.2 366.8 473.4 377.0 483.1 380.0C492.8 383.0 500.2 382.0 511.6 384.7C522.9 387.3 545.5 388.4 551.2 396.0C557.0 403.5 550.2 420.4 546.0 430.0Z"/%3E%3Cpath d="M524.5 430.0C521.5 437.0 515.3 442.0 510.9 447.1C506.5 452.3 503.2 456.9 498.1 460.7C493.0 464.4 487.4 465.8 480.4 469.6C473.4 473.3 464.0 482.9 456.1 483.0C448.2 483.1 437.2 476.4 433.1 470.2C429.1 464.0 433.9 452.7 431.8 446.0C429.6 439.3 422.0 436.1 420.2 430.0C418.4 423.9 418.1 415.4 420.8 409.4C423.6 403.4 430.6 398.0 436.8 393.8C443.0 389.6 450.9 384.3 458.0 384.3C465.1 384.4 472.3 392.0 479.4 394.0C486.5 396.1 492.4 394.7 500.7 396.6C508.9 398.4 525.1 399.7 529.1 405.3C533.1 410.8 527.6 423.0 524.5 430.0Z"/%3E%3Cpath d="M503.6 430.0C501.7 434.3 498.2 437.5 495.5 440.7C492.8 443.8 490.6 446.7 487.5 449.0C484.3 451.4 480.9 452.4 476.5 454.8C472.1 457.2 466.1 463.3 461.3 463.2C456.4 463.2 449.8 458.6 447.3 454.7C444.8 450.8 447.7 444.0 446.3 439.9C444.9 435.8 439.9 433.8 438.7 430.0C437.6 426.2 437.7 421.0 439.5 417.2C441.2 413.5 445.5 410.0 449.3 407.4C453.2 404.9 458.2 401.7 462.6 401.7C467.0 401.8 471.4 406.6 475.8 407.8C480.3 409.0 484.2 407.7 489.4 408.9C494.5 410.0 504.4 411.1 506.8 414.6C509.2 418.1 505.4 425.7 503.6 430.0Z"/%3E%3Cpath d="M483.0 430.0C482.3 431.7 481.0 432.9 480.0 434.2C479.0 435.4 478.1 436.5 476.8 437.5C475.6 438.4 474.3 438.9 472.6 439.8C470.9 440.8 468.4 443.2 466.5 443.1C464.7 443.1 462.2 441.1 461.2 439.6C460.2 438.0 461.3 435.5 460.7 433.9C460.1 432.3 458.1 431.5 457.6 430.0C457.2 428.5 457.3 426.5 458.0 425.0C458.7 423.5 460.3 422.1 461.9 421.1C463.4 420.1 465.4 418.9 467.1 418.9C468.8 419.0 470.5 420.9 472.3 421.3C474.0 421.8 475.7 421.1 477.7 421.6C479.8 422.0 483.6 422.5 484.5 423.9C485.4 425.3 483.8 428.3 483.0 430.0Z"/%3E%3C/svg%3E"); --citrus: #F0A24A; --kiwi: #9CC252;
  --olive: #9AAA52; --honey: #E8BB4A; --leaf: #7C9A52; --icon-bg: #1D3034;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 28px rgba(0,0,0,.4); color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.62; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: var(--river); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible { outline: 3px solid var(--brick); outline-offset: 2px; border-radius: 6px; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 700; line-height: 1.1; margin: 0; text-wrap: balance; letter-spacing: -.01em; }
h2 { font-size: clamp(2rem, 4.6vw, 3rem); }
h3 { font-size: 1.4rem; }
p { margin: 0; }
[hidden] { display: none !important; }
.wrap { max-width: 1240px; margin: 0 auto; padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); }
.eyebrow { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--brick); }
.skip { position: absolute; left: -999px; top: 8px; background: var(--ink); color: var(--bg); padding: 10px 14px; border-radius: 8px; z-index: 100; }
.skip:focus { left: 12px; }
.sec { padding-block: clamp(56px, 8vw, 104px) 0; }
.sec-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 32px; margin-bottom: 30px; }
.sec-head p { color: var(--muted); max-width: 56ch; }
.sec-head .eyebrow { display: block; margin-bottom: 8px; }

/* header */
.site-header { position: sticky; top: 0; z-index: 60; background: color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter: saturate(1.5) blur(14px); -webkit-backdrop-filter: saturate(1.5) blur(14px); border-bottom: 1px solid var(--line); padding-top: env(safe-area-inset-top, 0px); }
.bar { display: flex; align-items: center; gap: 14px; height: 68px; }
.brand { display: flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 700; font-size: 1.55rem; color: var(--ink); text-decoration: none; }
.brand svg { width: 36px; height: 36px; color: var(--river); }
.primary { display: flex; gap: 2px; margin-left: auto; }
.primary a { padding: 9px 14px; border-radius: 999px; color: var(--ink); text-decoration: none; font-weight: 500; }
.primary a:hover { background: color-mix(in srgb, var(--river) 14%, transparent); }
.hdr-actions { display: flex; gap: 8px; align-items: center; }
.icon-btn { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); display: grid; place-items: center; cursor: pointer; color: var(--ink); padding: 0; font: inherit; }
.icon-btn:hover { border-color: var(--river); }
.icon-btn svg { width: 20px; height: 20px; }
.burger { display: none; }
.lang-menu { position: relative; }
.lang-menu summary { list-style: none; cursor: pointer; height: 42px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); display: flex; align-items: center; gap: 6px; font-weight: 600; font-size: .9rem; }
.lang-menu summary::-webkit-details-marker { display: none; }
.lang-menu ul { position: absolute; right: 0; top: 48px; margin: 0; padding: 6px; list-style: none; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); min-width: 150px; }
.lang-menu li a { display: block; padding: 9px 12px; border-radius: 8px; color: var(--ink); text-decoration: none; font-size: .95rem; }
.lang-menu li a:hover { background: color-mix(in srgb, var(--river) 14%, transparent); }
@media (max-width: 980px) {
  .burger { display: grid; }
  .primary { position: fixed; inset: calc(68px + env(safe-area-inset-top, 0px)) 0 auto 0; margin: 0; flex-direction: column; gap: 0; padding: 12px 20px 20px; background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); display: none; max-height: calc(100vh - 68px); overflow: auto; }
  .primary.open { display: flex; }
  .primary a { padding: 14px 6px; border-radius: 0; border-bottom: 1px solid var(--line); font-size: 1.1rem; }
  .bar { gap: 8px; } .hdr-actions { margin-left: auto; }
}

/* buttons */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 999px; font-weight: 600; text-decoration: none; border: 1.5px solid transparent; font-size: 1rem; cursor: pointer; font-family: inherit; }
.btn-primary { background: var(--btn-bg); color: var(--btn-fg); }
.btn-primary:hover { filter: brightness(1.08); }
.btn-ghost { border-color: rgba(255,255,255,.75); color: #fff; }
.btn-ghost:hover { background: rgba(255,255,255,.14); }

/* hero */
.hero-full { position: relative; color: #fff; min-height: min(94vh, 880px); display: grid; align-items: end; isolation: isolate; }
.hero-full > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero-full::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--overlay), linear-gradient(90deg, rgba(7,20,23,.6), rgba(7,20,23,0) 62%); }
.hero-in { padding-block: 110px 130px; max-width: 760px; }
.hero-in .eyebrow { color: #FFD9C7; }
.hero-in h1 { font-size: clamp(2.9rem, 7.4vw, 5.8rem); margin: 14px 0 18px; text-shadow: 0 2px 24px rgba(0,0,0,.35); }
.hero-in .lede { font-size: 1.2rem; max-width: 54ch; color: #EAF2F1; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-credit { position: absolute; right: max(16px, env(safe-area-inset-right, 0px)); bottom: 96px; font-size: .72rem; color: rgba(255,255,255,.82); text-shadow: 0 1px 4px rgba(0,0,0,.6); }
.verse { margin: 26px 0 0; padding-left: 16px; border-left: 3px solid var(--brick); font-family: var(--display); font-style: italic; font-size: 1.25rem; max-width: 42ch; color: #fff; }
.verse small { display: block; font-family: var(--body); font-style: normal; font-size: .78rem; opacity: .8; margin-top: 4px; }

/* quick tiles */
.tiles-wrap { margin-top: -78px; position: relative; z-index: 3; }
.tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
@media (max-width: 1100px) { .tiles { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .tiles { grid-template-columns: repeat(2, 1fr); gap: 10px; } .tiles-wrap { margin-top: -54px; } }
.qt { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; color: #fff; text-decoration: none; box-shadow: var(--shadow); isolation: isolate; background: var(--river-2); }
.qt img, .qt .art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s; }
.qt .art { display: grid; place-items: center; background: linear-gradient(135deg, var(--citrus), #A8501A); }
.qt .art svg { width: 44%; height: auto; filter: drop-shadow(0 4px 10px rgba(0,0,0,.25)); }
.qt::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--overlay); }
.qt:hover img, .qt:hover .art { transform: scale(1.07); }
.qt span { position: absolute; left: 14px; right: 14px; bottom: 12px; font-family: var(--display); font-weight: 700; font-size: 1.3rem; line-height: 1.1; }
.qt span::after { content: "→"; display: block; font-family: var(--body); font-weight: 500; font-size: .9rem; opacity: .85; margin-top: 4px; }

/* feature grid */
.feature { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 270px; gap: 18px; }
.fc { position: relative; border-radius: var(--radius); overflow: hidden; color: #fff; isolation: isolate; box-shadow: var(--shadow); display: flex; align-items: end; text-decoration: none; background: var(--river-2); }
.fc img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .7s; }
.fc::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--overlay); }
.fc:hover img { transform: scale(1.05); }
.fc .in { padding: 22px 24px; }
.fc h3 { color: #fff; font-size: clamp(1.5rem, 2.4vw, 2.2rem); margin-top: 8px; }
.fc p { margin-top: 8px; font-size: .98rem; color: #E6EFEE; max-width: 46ch; }
.fc.f1 { grid-column: span 7; grid-row: span 2; }
.fc.f2 { grid-column: span 5; }
.fc.f3 { grid-column: span 5; }
.fc.f4, .fc.f5, .fc.f6 { grid-column: span 4; }
.fc.f1 h3 { font-size: clamp(2rem, 3.6vw, 3.2rem); }
@media (max-width: 900px) { .feature { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 240px; } .fc.f1 { grid-column: span 2; grid-row: span 1; } .fc.f2, .fc.f3, .fc.f4, .fc.f5, .fc.f6 { grid-column: span 1; } }
@media (max-width: 560px) { .feature { grid-template-columns: 1fr; } .fc.f1, .fc.f2, .fc.f3, .fc.f4, .fc.f5, .fc.f6 { grid-column: span 1; } }
.badge { display: inline-block; background: rgba(8,28,32,.72); color: #fff; border-radius: 999px; padding: 4px 11px; font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; font-weight: 600; backdrop-filter: blur(4px); }

/* chips */
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.chips button { font: inherit; font-size: .95rem; cursor: pointer; padding: 8px 18px; background: var(--surface); color: var(--ink); border: 1.5px solid var(--line); border-radius: 999px; }
.chips button:hover { border-color: var(--river); }
.chips button[aria-pressed="true"] { background: var(--river); color: var(--bg); border-color: var(--river); }

/* place cards */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 20px; }
.pc { position: relative; border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: var(--shadow); display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); }
.pc .ph { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--line); }
.pc .ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.pc:hover .ph img { transform: scale(1.06); }
.pc .ph .badge { position: absolute; left: 12px; top: 12px; }
.ph.noimg { display: grid; place-items: center; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--brick) 9%, var(--surface)) 0 26px, var(--surface) 26px 38px); }
.ph.ico { background: var(--icon-bg); }
.ph.ico svg { width: 36%; height: auto; }
.pc .body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pc h3 { font-size: 1.35rem; }
.pc h3 a { color: var(--ink); text-decoration: none; }
.pc h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.pc .sum { font-size: .96rem; color: var(--muted); }
.pc .tip { font-size: .88rem; color: var(--muted); border-top: 1px dashed var(--line); padding-top: 10px; margin-top: auto; }
.pc .links { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: .85rem; font-weight: 600; position: relative; z-index: 2; }
.pc .links > * { white-space: nowrap; }
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(320px, 82%); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 18px; scrollbar-width: thin; }
.rail > * { scroll-snap-align: start; }
.rail-ctl { display: flex; gap: 8px; }

/* experiences */
.exps { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.qt.xt { aspect-ratio: 3 / 4; }
.qt.xt .in { position: absolute; left: 18px; right: 18px; bottom: 18px; }
.qt.xt h3 { color: #fff; font-size: 1.5rem; }
.qt.xt p { margin-top: 8px; font-size: .92rem; color: #E6EFEE; }
.qt.xt .art svg { width: 36%; }
.qt.xt .art { align-content: start; padding-top: 22%; }

/* flavours */
.flav { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.ft { position: relative; border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--line); isolation: isolate; text-decoration: none; color: var(--ink); min-height: 280px; }
.ft.t-orange { background: color-mix(in srgb, var(--citrus) 18%, var(--surface)); }
.ft.t-kiwi { background: color-mix(in srgb, var(--kiwi) 20%, var(--surface)); }
.ft.t-olive { background: color-mix(in srgb, var(--olive) 20%, var(--surface)); }
.ft.t-honey { background: color-mix(in srgb, var(--honey) 22%, var(--surface)); }
.ft svg { width: 76px; height: 76px; }
.ft h3 { font-size: 1.5rem; margin-top: 6px; }
.ft p { font-size: .96rem; color: var(--ink); opacity: .86; }
.ft .more { margin-top: auto; font-weight: 600; color: var(--ink); }
.ft:hover { box-shadow: var(--shadow); border-color: var(--river); }
.season { margin-top: 34px; padding: 22px 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); max-width: 820px; }
.season h3 { font-size: 1.35rem; }
.season .row { display: grid; grid-template-columns: 110px repeat(12, 1fr); gap: 3px; align-items: center; margin-top: 10px; font-size: .8rem; }
.season .row b { font-size: .9rem; }
.season .cell { text-align: center; padding: 7px 0; border-radius: 4px; background: var(--line); color: var(--ink); }
.season .cell.on { background: var(--citrus); color: #1B1B14; font-weight: 600; }
.season .cell.on.m { background: var(--olive); color: var(--on-olive); font-weight: 700; }
.season small { display: block; margin-top: 10px; color: var(--muted); }
@media (max-width: 560px) { .season .row { grid-template-columns: 74px repeat(12, 1fr); font-size: .66rem; } }

/* themes */
.themes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.tc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.tc .cover { aspect-ratio: 16 / 9; background: var(--icon-bg); position: relative; overflow: hidden; }
.tc .cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tc .cover.noimg { display: grid; place-items: center; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--brick) 9%, var(--surface)) 0 26px, var(--surface) 26px 38px); }
.tc .cover.noimg.ico { background: var(--icon-bg); }
.tc .cover svg { width: 90px; height: 90px; }
.tc .tb { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; }
.tc .tb p { color: var(--muted); font-size: .95rem; }
.tc ul { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; }
.tc li a { text-decoration: none; font-weight: 500; }
.tc li a::before { content: "→ "; color: var(--brick); }

/* map */
.mapbox { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 34px; align-items: center; }
@media (max-width: 820px) { .mapbox { grid-template-columns: 1fr; } }
.map-svg { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); width: 100%; height: auto; }
.map-svg .grid-l { stroke: var(--line); stroke-width: 1; stroke-dasharray: 3 4; }
.map-svg .dot { fill: var(--brick); stroke: var(--surface); stroke-width: 3; }
.map-svg .lbl { font: 600 15px var(--body); fill: var(--ink); paint-order: stroke; stroke: var(--surface); stroke-width: 4px; }
.map-svg a:hover .dot { fill: var(--river); }
.map-svg .n { font: 700 14px var(--body); fill: var(--muted); }
.maplist { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; }
.maplist a { display: block; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); text-decoration: none; font-weight: 500; }
.maplist a:hover { border-color: var(--river); }
.mapnote { margin-top: 14px; font-size: .85rem; color: var(--muted); }

/* plan tabs */
.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.tabs button { font: inherit; cursor: pointer; padding: 10px 22px; border: 1.5px solid var(--ink); background: transparent; color: var(--ink); border-radius: 999px; font-weight: 600; }
.tabs button[aria-selected="true"] { background: var(--ink); color: var(--bg); }
.plan { max-width: 820px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 6px 24px; box-shadow: var(--shadow); }
.plan ol { padding: 0; margin: 0; list-style: none; }
.plan li { display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 18px 0; border-top: 1px solid var(--line); }
.plan li:first-child { border-top: 0; }
.plan .when { font-family: var(--display); font-size: 1.3rem; color: var(--river); font-weight: 700; }
@media (max-width: 560px) { .plan li { grid-template-columns: 1fr; gap: 2px; } }

/* history */
.hist { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 40px; align-items: start; }
@media (max-width: 900px) { .hist { grid-template-columns: 1fr; } }
.story { position: relative; border-radius: var(--radius); overflow: hidden; color: #fff; isolation: isolate; min-height: 430px; display: flex; align-items: end; box-shadow: var(--shadow); }
.story img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.story::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--overlay); }
.story .in { padding: 26px; }
.story h2 { color: #fff; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.story p { margin-top: 12px; color: #EAF2F1; }
.story a { color: #fff; font-weight: 600; display: inline-block; margin-top: 12px; }
.timeline ol { list-style: none; margin: 0; padding: 0 0 0 24px; border-left: 2px solid var(--line); }
.timeline li { position: relative; padding: 0 0 20px; }
.timeline li::before { content: ""; position: absolute; left: -31px; top: .55em; width: 12px; height: 12px; border-radius: 50%; background: var(--brick); border: 3px solid var(--bg); }
.timeline .yr { font-family: var(--display); font-size: 1.25rem; color: var(--river); font-weight: 700; display: block; }

/* info cards + faq */
.info { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.info > div { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.info h3 { font-size: 1.3rem; margin-bottom: 6px; }
.info p { color: var(--muted); font-size: .97rem; }
.info .season-name { color: var(--brick); }
details.faq { border-bottom: 1px solid var(--line); padding: 16px 0; max-width: 840px; }
details.faq:first-of-type { border-top: 1px solid var(--line); }
details.faq summary { cursor: pointer; font-family: var(--display); font-size: 1.3rem; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::after { content: "+"; font-family: var(--body); font-weight: 400; color: var(--brick); font-size: 1.5rem; line-height: 1; }
details.faq[open] summary::after { content: "−"; }
details.faq p { margin-top: 10px; color: var(--muted); max-width: 64ch; }

/* page hero (place pages) */
.page-hero { position: relative; color: #fff; isolation: isolate; min-height: 420px; display: grid; align-items: end; }
.page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.page-hero.noimg { background: linear-gradient(135deg, var(--river-2), var(--deep)); }
.page-hero.noimg::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14px; background: repeating-linear-gradient(90deg, var(--brick) 0 28px, transparent 28px 40px); opacity: .9; }
.page-hero.food { background: linear-gradient(135deg, color-mix(in srgb, var(--citrus) 40%, #0B1F23), #0B1F23); }
.page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--overlay); }
.page-hero .in { padding-block: 120px 40px; }
.page-hero h1 { font-size: clamp(2.4rem, 6vw, 4.4rem); color: #fff; margin: 10px 0 12px; max-width: 18ch; text-wrap: balance; }
.page-hero .lede { font-size: 1.15rem; color: #E9F1F0; max-width: 60ch; }
.page-hero .eyebrow { color: #FFD9C7; }
.page-hero .ico-art { position: absolute; right: max(24px, 6vw); top: 50%; transform: translateY(-40%); width: min(220px, 30vw); opacity: .95; z-index: -1; }
.page-hero .ico-art svg { width: 100%; height: auto; }
.crumbs { font-size: .85rem; color: rgba(255,255,255,.85); margin-bottom: 16px; }
.crumbs a { color: rgba(255,255,255,.9); }
.facts-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-top: -34px; position: relative; z-index: 2; }
.facts-strip div { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; box-shadow: var(--shadow); }
.facts-strip dt { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.facts-strip dd { margin: 4px 0 0; font-family: var(--display); font-size: 1.2rem; line-height: 1.25; font-weight: 700; }
.article { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; margin-top: 46px; align-items: start; }
@media (max-width: 900px) { .article { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.article h2 { font-size: 1.9rem; margin: 34px 0 10px; }
.article h2:first-child { margin-top: 0; }
.article p + p { margin-top: 14px; }
.article .prose p { max-width: 68ch; }
.gallery { display: grid; gap: 16px; margin-top: 28px; }
.gallery figure { margin: 0; }
.gallery img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); background: var(--line); box-shadow: var(--shadow); }
.gallery figcaption, .credits small { font-size: .78rem; color: var(--muted); margin-top: 6px; }
.side .box { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; box-shadow: var(--shadow); }
.side .box + .box { margin-top: 16px; }
.side h2 { font-size: 1.3rem; margin: 0 0 8px; }
.side ul { margin: 0; padding-left: 18px; font-size: .95rem; }
.side .box.accent { border-left: 4px solid var(--brick); }
.related { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; margin-top: 18px; }
.rc { position: relative; display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; background: var(--surface); border: 1px solid var(--line); text-decoration: none; color: var(--ink); box-shadow: var(--shadow); }
.rc img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; background: var(--line); }
.rc .noimg { aspect-ratio: 16 / 10; display: grid; place-items: center; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--brick) 9%, var(--surface)) 0 26px, var(--surface) 26px 38px); }
.rc .noimg.ico { background: var(--icon-bg); } .rc .noimg svg { width: 34%; height: auto; }
.rc .t { padding: 12px 14px 14px; }
.rc small { display: block; color: var(--brick); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.rc span.n { font-family: var(--display); font-size: 1.2rem; font-weight: 700; line-height: 1.2; }
.rc:hover { border-color: var(--river); }

/* footer */
.site-footer { margin-top: clamp(64px, 9vw, 110px); background: var(--deep); color: #D5E2E1; padding-block: 56px 36px; }
.site-footer a { color: #BFE3DE; }
.site-footer .fh { font-family: var(--body); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #8FB3AF; margin-bottom: 12px; font-weight: 600; }
.fgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; gap: 36px; }
@media (max-width: 900px) { .fgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .fgrid { grid-template-columns: 1fr; } }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .95rem; }
.site-footer .brandf { font-family: var(--display); font-weight: 700; font-size: 1.8rem; color: #fff; }
.site-footer p { font-size: .92rem; color: #A9C0BF; max-width: 40ch; margin-top: 8px; }
.credits { margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.credits ul { columns: 2 340px; display: block; font-size: .8rem; color: #94B0AE; }
.credits li { margin: 3px 0; break-inside: avoid; }
.credits p { font-size: .85rem; max-width: none; }

/* search */
dialog.search { border: 0; border-radius: 18px; padding: 0; width: min(640px, calc(100vw - 32px)); background: var(--surface); color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.45); margin-top: 9vh; }
dialog.search::backdrop { background: rgba(5,13,15,.6); backdrop-filter: blur(4px); }
.search form { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.search input::-webkit-search-cancel-button { display: none; }
.search input { flex: 1; font: inherit; font-size: 1.15rem; border: 0; background: transparent; color: var(--ink); outline: none; }
.search ul { list-style: none; margin: 0; padding: 8px; max-height: 52vh; overflow: auto; }
.search li a { display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: var(--ink); }
.search li a:hover, .search li a:focus { background: color-mix(in srgb, var(--river) 14%, transparent); }
.search li small { display: block; color: var(--muted); font-size: .85rem; }
.search .empty { padding: 18px; color: var(--muted); }

/* reveal on scroll (only when JS is on) */
.js .reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.js .reveal.in { opacity: 1; transform: none; }

/* ===== atmosphere: layered background ===== */
body { position: relative; overflow-x: clip; animation: pagein .7s ease both; }
.bg { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; background: linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--bg) 90%, var(--river))); }
.bg::before, .bg::after { content: ""; position: absolute; width: 74vmax; height: 74vmax; border-radius: 50%; will-change: transform; }
.bg::before { left: -26vmax; top: -22vmax; background: radial-gradient(circle, color-mix(in srgb, var(--river) 24%, transparent), transparent 62%); animation: drift1 40s ease-in-out infinite alternate; }
.bg::after { right: -30vmax; bottom: -28vmax; background: radial-gradient(circle, color-mix(in srgb, var(--brick) 17%, transparent), transparent 62%); animation: drift2 52s ease-in-out infinite alternate; }
.bg .topo { position: absolute; inset: -80px; background-image: var(--topo); background-size: 640px 640px; animation: topo 90s linear infinite; }
.bg .gold { position: absolute; left: 38%; top: 46%; width: 46vmax; height: 46vmax; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--gold) 13%, transparent), transparent 64%); animation: drift3 60s ease-in-out infinite alternate; will-change: transform; }
@keyframes drift1 { to { transform: translate(20vmax, 16vmax) scale(1.18); } }
@keyframes drift2 { to { transform: translate(-18vmax, -14vmax) scale(1.12); } }
@keyframes drift3 { to { transform: translate(-16vmax, 12vmax) scale(.9); } }
@keyframes topo { to { background-position: 640px 320px; } }
@keyframes pagein { from { opacity: 0; } to { opacity: 1; } }
.sec.alt { background: linear-gradient(to bottom, transparent 0, color-mix(in srgb, var(--surface) 62%, transparent) 90px, color-mix(in srgb, var(--surface) 62%, transparent) calc(100% - 90px), transparent 100%); padding-bottom: clamp(56px, 8vw, 96px); }
.wave { height: 70px; overflow: hidden; position: relative; margin-bottom: -2px; pointer-events: none; }
.wave svg { position: absolute; left: 0; bottom: 0; width: 200%; height: 100%; }
.wave .w1 { animation: wave 26s linear infinite; }
.wave .w2 { animation: wave 38s linear infinite reverse; opacity: .7; }
.wave path { fill: color-mix(in srgb, var(--river) 12%, transparent); }
@keyframes wave { to { transform: translateX(-50%); } }

/* ===== motion ===== */
.hero-full { overflow: hidden; }
.hero-full > .px { position: absolute; inset: -9% 0; z-index: -2; will-change: transform; }
.hero-full > .px > img { position: static; width: 100%; height: 100%; object-fit: cover; z-index: auto; animation: kb 28s ease-in-out infinite alternate; transform-origin: 62% 42%; }
.page-hero { overflow: hidden; }
.page-hero > img { animation: kb 34s ease-in-out infinite alternate; transform-origin: 55% 45%; }
@keyframes kb { from { transform: scale(1.02); } to { transform: scale(1.13) translate(-1.4%, 1%); } }
.hero-in > * { animation: rise .7s cubic-bezier(.2,.7,.2,1) both; }
.hero-in > :nth-child(1) { animation-delay: 0s; } .hero-in > :nth-child(2) { animation-delay: .06s; } .hero-in > :nth-child(3) { animation-delay: .14s; } .hero-in > :nth-child(4) { animation-delay: .22s; } .hero-in > :nth-child(5) { animation-delay: .3s; }
.page-hero .in > * { animation: rise .9s cubic-bezier(.2,.7,.2,1) both; }
.page-hero .in > :nth-child(2) { animation-delay: .1s; } .page-hero .in > :nth-child(3) { animation-delay: .2s; } .page-hero .in > :nth-child(4) { animation-delay: .32s; }
@keyframes rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.cue { position: absolute; left: 50%; bottom: 100px; width: 30px; height: 48px; margin-left: -15px; border: 2px solid rgba(255,255,255,.75); border-radius: 18px; display: block; }
.cue::after { content: ""; position: absolute; left: 50%; top: 9px; width: 4px; height: 9px; margin-left: -2px; border-radius: 3px; background: #fff; animation: cue 1.9s ease-in-out infinite; }
@keyframes cue { 0% { transform: translateY(0); opacity: 0; } 25% { opacity: 1; } 80% { transform: translateY(16px); opacity: 0; } 100% { opacity: 0; } }
@media (max-width: 700px) { .cue { display: none; } }
.progress { position: fixed; left: 0; top: 0; right: 0; height: 3px; z-index: 80; background: linear-gradient(90deg, var(--river), var(--brick)); transform: scaleX(0); transform-origin: 0 50%; }
.site-header .bar { transition: height .3s ease; }
.site-header { transition: box-shadow .3s ease, background .3s ease; }
.site-header.scrolled .bar { height: 56px; }
.site-header.scrolled { box-shadow: 0 6px 24px rgba(8,28,32,.12); }
.js .reveal { transition-delay: var(--d, 0ms); }
.pc, .fc, .qt, .ft, .tc, .rc { transition: translate .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .25s ease; }
.pc:hover, .fc:hover, .qt:hover, .ft:hover, .tc:hover, .rc:hover { translate: 0 -7px; box-shadow: 0 22px 46px rgba(8,28,32,.2); }
.sec-head h2::after { content: ""; display: block; height: 4px; width: 72px; margin-top: 12px; border-radius: 3px; background: linear-gradient(90deg, var(--brick), var(--gold)); transition: width .9s cubic-bezier(.2,.7,.2,1) .15s; }
.js .sec-head.reveal:not(.in) h2::after { width: 0; }
.ft svg { animation: floaty 6.5s ease-in-out infinite; }
.ft:nth-child(2) svg { animation-delay: -1.6s; } .ft:nth-child(3) svg { animation-delay: -3.2s; } .ft:nth-child(4) svg { animation-delay: -4.8s; }
.qt .art svg { animation: floaty 5.5s ease-in-out infinite; }
.page-hero .ico-art { animation: floaty 7s ease-in-out infinite; }
@keyframes floaty { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-9px) rotate(3deg); } }
.map-svg .ring { fill: none; stroke: var(--brick); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; animation: ring 3.2s ease-out infinite; }
@keyframes ring { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(3.4); opacity: 0; } }
.map-svg .dot { transition: r .25s ease; } .map-svg a:hover .dot { r: 12; }
.timeline li { transition-delay: var(--d, 0ms); }
.btn { transition: transform .25s ease, filter .25s ease, background .25s ease; }
.btn:hover { transform: translateY(-2px); }
.chips button, .tabs button { transition: background .2s, color .2s, border-color .2s; }
.plan { animation: rise .5s ease both; }
@media (prefers-reduced-motion: reduce) { .bg::before, .bg::after, .bg .gold, .bg .topo, .wave svg, .hero-full > .px > img, .page-hero > img, .cue::after { animation: none !important; } .progress { display: none; } }

/* ===== interactive features ===== */
.heart { position: absolute; right: 12px; top: 12px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(8,28,32,.62); color: #fff; display: grid; place-items: center; cursor: pointer; z-index: 3; backdrop-filter: blur(4px); padding: 0; transition: transform .2s, background .2s; }
.heart svg { width: 20px; height: 20px; }
.heart:hover { transform: scale(1.12); }
.heart[aria-pressed="true"] { background: var(--btn-bg); color: var(--btn-fg); }
.heart[aria-pressed="true"] svg path { fill: currentColor; }
.fc h3 a { color: #fff; text-decoration: none; }
.fc h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.trip-btn { position: relative; }
.trip-btn .cnt { position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: var(--btn-bg); color: var(--btn-fg); font-size: .7rem; font-weight: 700; display: grid; place-items: center; }
.trip-btn .cnt[hidden] { display: none; }
.btn-s { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; transition: border-color .2s, background .2s; }
.btn-s:hover { border-color: var(--river); }
.btn-s svg { width: 17px; height: 17px; }
.btn-s[aria-pressed="true"] { background: var(--btn-bg); color: var(--btn-fg); border-color: var(--btn-bg); }
.btn-s[aria-pressed="true"] svg path { fill: currentColor; }
.btn-s-primary { background: var(--btn-bg); color: var(--btn-fg); border-color: var(--btn-bg); }
.acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.jump { position: sticky; top: 68px; z-index: 30; display: flex; gap: 8px; overflow-x: auto; padding: 10px 2px; margin-top: 26px; background: color-mix(in srgb, var(--bg) 80%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); scrollbar-width: none; }
.jump::-webkit-scrollbar { display: none; }
.jump a { white-space: nowrap; padding: 7px 15px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); text-decoration: none; font-size: .9rem; }
.jump a:hover { border-color: var(--river); }
.prose h2[id] { scroll-margin-top: 130px; }
dialog.trip { border: 0; border-radius: 18px; padding: 0; width: min(560px, calc(100vw - 24px)); max-height: 86vh; background: var(--surface); color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.45); margin: auto; }
dialog.trip[open] { display: flex; flex-direction: column; }
dialog.trip::backdrop { background: rgba(5,13,15,.6); backdrop-filter: blur(4px); }
.trip-h { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.trip-h h2 { font-size: 1.6rem; }
.trip-banner { margin: 0; padding: 10px 18px; background: color-mix(in srgb, var(--river) 14%, var(--surface)); font-size: .92rem; }
.trip-list { list-style: none; margin: 0; padding: 8px; overflow: auto; flex: 1; }
.trip-list li { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; padding: 8px; border-radius: 10px; }
.trip-list li:hover { background: color-mix(in srgb, var(--river) 8%, transparent); }
.trip-list img, .trip-list .ph0 { width: 56px; height: 44px; object-fit: cover; border-radius: 8px; background: var(--icon-bg); }
.trip-list a { color: var(--ink); font-weight: 600; text-decoration: none; display: block; line-height: 1.25; }
.trip-list small { color: var(--muted); display: block; font-size: .78rem; }
.trip-list button { border: 0; background: none; color: var(--muted); cursor: pointer; font: inherit; font-size: .85rem; padding: 6px 8px; border-radius: 8px; }
.trip-list button:hover { color: var(--brick); }
.trip-empty { padding: 22px 20px; color: var(--muted); margin: 0; }
.trip-acts { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--line); }
.planner { display: grid; gap: 20px; padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); max-width: 860px; }
.planner .pl { font-weight: 600; margin-bottom: 10px; }
.planner .chips { margin: 0; }
.planner .btn-primary { justify-self: start; }
#plan-out { max-width: 860px; }
.pday { margin-top: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 22px; box-shadow: var(--shadow); }
.pday h3 { font-size: 1.4rem; color: var(--river); }
.pday ol { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; counter-reset: n; }
.pday li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: baseline; counter-increment: n; }
.pday li::before { content: counter(n); font-weight: 700; color: var(--brick); }
.pday li a { font-weight: 600; text-decoration: none; }
.pday li small { color: var(--muted); display: block; font-size: .85rem; }
.plan-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
#near-out ul { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 8px; }
#near-out li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
#near-out a { font-weight: 600; text-decoration: none; color: var(--ink); }
#near-out h3 { font-size: 1.1rem; margin-top: 14px; }
.now { position: absolute; top: 22px; right: max(16px, env(safe-area-inset-right, 0px)); background: rgba(8,28,32,.55); color: #fff; border-radius: 999px; padding: 7px 15px; font-size: .85rem; backdrop-filter: blur(6px); z-index: 2; }
@media (max-width: 560px) { .now { left: 16px; right: auto; top: 14px; } }
@media print {
  .site-header, .bg, .progress, .site-footer, .hero-full, .page-hero, .jump, .wave, .tiles-wrap, .cue, .now { display: none !important; }
  body.printing-trip main, body.printing-trip header, body.printing-trip footer, body.printing-trip dialog.search { display: none !important; }
  body { background: #fff !important; color: #000; animation: none; }
  dialog.trip[open] { position: static; box-shadow: none; width: auto; max-height: none; border: 0; }
  .trip-acts, .trip-h button, .trip-list button { display: none !important; }
}
