/*======================================
Theme Name: Free Divi Child Theme By Pee-Aye Creative
Theme URI: https://www.peeayecreative.com/
Description: This is a free Divi child theme from Pee-Aye Creative!
Author: Nelson Lee Miller (aka The Divi Teacher)
Author URI: https://www.peeayecreative.com/
Author Email: nelson@peeayecreative.com
Template: Divi
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
======================================*/

 /* ===== NOTES ==================================================================
 * 
 * New to Divi? Take our full Divi course: https://www.peeayecreative.com/product/beyond-the-builder-the-ultimate-divi-website-course/
 * 
 * Learn cool tricks and features with our Divi tutorials: https://www.peeayecreative.com/blog/
 * 
 * Discover our premium Divi products: https://www.peeayecreative.com/shop/
 * 
 * =============================================================================== */

/*add your custom CSS below this line*/


/* =========================================================
   OLYMPEO — CSS global
   À coller dans : Divi > Options du thème > Général > CSS personnalisé
   ========================================================= */
:root {
  --oly-logo-symbole: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 495 807' fill='currentColor' fill-rule='evenodd'%3E%3Cpath d='M10.8 802.5L4.8 802.2 L4.8 518.5C4.8 291.1 4.9 233.6 5.4 228.8C7 214.2 9.2 200.3 11.4 192.2C11.9 190.3 13 186.5 13.7 183.8C15.5 177 17.2 172.3 22.1 159.5C24.1 154.2 24.4 153.4 26.5 148.8C27.6 146.1 34.6 132.3 36 129.8C41.8 119.7 44.4 115.3 46.7 112.1C53.3 102.6 58.5 95.6 61 92.8C62.5 91.1 66.1 87.1 69 83.8C80.4 70.9 102.2 52 114.5 44.4C116 43.5 119 41.6 121.2 40.1C123.3 38.7 126.5 36.8 128.2 35.9C129.9 35.1 133 33.3 135.2 32.1C147 25.3 169.5 16.1 184 12.3C207.2 6.2 225.3 3.8 248.8 3.8C286.6 3.9 320 11.8 354.2 28.9C380.2 41.8 399.9 56.2 420.8 77.6C433.7 90.8 445.1 105.2 453 118.5C454.7 121.4 457 125 458 126.5C459 128 460.7 131.1 461.7 133.2C462.8 135.4 465.1 140.1 466.7 143.5C472.7 155.6 478.5 171.5 482.8 187.2C484.4 193.1 484.5 193.8 485.1 196.5C485.4 198 485.8 200.2 486 201.2C488.8 215 489.8 224.2 490.5 240.5C491 254.9 491.2 779 490.7 793.4C490.5 799.5 490.2 801.7 489.7 802.3C489 802.9 458.5 803 252.8 802.9C123 802.8 14.1 802.7 10.8 802.5ZM476.3 788.9C476.6 788.5 476.8 777.6 476.9 764.7L477.1 741.1 L475.4 739.9C467.5 734 453 727 442.3 723.9C437.4 722.5 436.3 722.3 427.5 720.7C422.2 719.7 404.4 719.5 397.5 720.4C379.1 722.7 362 729.1 340 741.7C335.7 744.1 330.7 746.9 328.8 748C326.8 749 323.8 750.7 322 751.7C315.2 755.5 306 759.9 300.3 762.2C288.7 766.8 286.7 767.3 268.5 770.5C256.8 772.6 233.6 772 221.5 769.3C216.1 768.1 208.7 766.2 205.7 765.2C197.5 762.5 177.8 753 170.5 748.4C164.8 744.7 151 737.1 143.4 733.4C133 728.3 125.5 725.3 118.2 723.6C105.8 720.6 100.1 719.8 88.5 719.8C74 719.8 66.7 721 52.5 725.6C42.4 728.9 25.2 737.4 19.6 741.8L18.5 742.8 L18.5 765.7C18.4 784.2 18.6 788.7 19.1 789.1C20.2 789.8 475.9 789.6 476.3 788.9ZM266.2 760C275.8 758.3 277.7 757.9 280.5 757.1C282 756.7 283.9 756.2 284.8 756C294 753.7 312.9 745.1 321.2 739.5C322.4 738.8 325.4 737 328.1 735.6C330.8 734.1 334 732.5 335.1 731.8C347.9 724.7 352.4 722.5 361.2 719C372.8 714.4 380.4 712.3 394.2 710C409.5 707.4 436.3 709.8 450 715.1C457.1 717.7 464.3 720.9 469.9 723.8C473.3 725.6 476.3 726.9 476.4 726.7C476.6 726.6 476.8 717.1 476.9 705.8L477.1 685.2 L473.3 682.6C464.7 676.6 448.5 669.5 437.2 666.8C414.8 661.3 386.3 663.5 365.2 672.4C353.5 677.4 344.5 681.9 335 687.8C321.4 696.2 301.4 706.3 292 709.6C274.4 715.8 265.9 717.3 248 717.2C232.8 717.2 225.9 716.2 214.5 712.7C200.3 708.3 187 701.8 167.9 690.1C166 688.9 164.4 688 164.3 688C164.2 688 160.5 686 156.2 683.5C131.8 669.5 112.1 663.8 88 663.9C65.3 663.9 48.3 668.9 25.4 682.1L18.6 686.1 L18.4 691.9C18.1 703.7 18.5 729 19.1 729C19.3 729 20.5 728.4 21.7 727.6C24.6 725.6 32 721.9 36.8 720C39 719.1 41.4 718.1 42.2 717.8C45 716.5 56.8 712.8 62 711.6C74.4 708.5 96.3 708.2 111 710.8C124.2 713.2 140.4 719 153.6 726.2C155.5 727.2 158.5 728.8 160.4 729.8C162.2 730.8 167 733.6 171 736C195.2 750.6 211.7 757.2 230.8 760.2C238.3 761.3 259.5 761.2 266.2 760ZM267 705C282.1 702.4 294.3 697.9 310.2 689.2C313.5 687.3 317.3 685.3 318.5 684.6C322.3 682.5 329.5 678.3 333.2 676C341.4 670.9 354.7 664.8 367.4 660.3C389.6 652.3 414.4 650.9 439.2 656.3C448.2 658.3 455.4 661 468.4 667.4C474.5 670.4 476.2 671 476.5 670.4C476.8 670.1 476.9 660.1 476.9 648.3L476.8 626.8 L474.2 625.1C470.5 622.6 454.3 614.6 449.9 613C430.2 605.8 406.9 604.2 386.1 608.5C368.7 612.1 354.3 618.7 323.2 637.2C293.5 655 271.8 661.3 243.2 660.3C218.7 659.5 198.1 652.4 170.5 635.2C163.2 630.7 151.5 624 148.2 622.5C146.9 621.9 142.8 620 139.2 618.2C129.5 613.5 122 610.8 113.8 609C82.3 602.3 55.4 606.9 23.9 624.6L18.5 627.6 L18.5 631.2C18.4 645.6 18.6 672.3 18.8 672.5C18.9 672.6 22.5 671 26.6 668.9C51.2 656.6 68.3 652.5 91.8 653.2C106.6 653.6 116.4 655.3 130.5 660C144 664.5 156.1 670.3 174 681.1C203.9 699 215.7 703.5 239.5 706.2C244 706.7 261.4 705.9 267 705ZM260.8 649.3C281.2 646.5 296.6 640.5 321.5 625.5C335.7 616.9 355.5 606.7 363.5 603.8C370.1 601.4 384 597.9 391.5 596.7C399.5 595.4 420.8 595.4 428.8 596.7C443.3 599 455.1 602.9 471.3 610.8C473.9 612.1 476.2 613 476.4 612.8C476.6 612.6 476.8 603 476.9 591.5L477.1 570.6 L475.4 569.3C469 564.4 451.6 556.8 439.4 553.5C423.5 549.2 399.2 549.1 381.2 553.3C371.3 555.6 362.3 558.8 351.2 564C346.9 566.1 331.8 574.4 329.6 575.9C328.9 576.4 326.3 577.9 324 579.2C321.7 580.6 317.1 583.2 313.9 585.1C301.3 592.5 287.5 598.5 275.8 601.5C254 607 228.7 605.9 207.5 598.6C198.2 595.4 182.4 587.2 169.5 579C145.4 563.5 127.3 555.3 110.8 552.3C98.9 550.1 96.5 549.9 85.1 550.1C74.8 550.4 72.7 550.6 61 552.8C57.5 553.4 49.9 555.8 43.3 558.3C34.3 561.6 19.5 569.6 18.8 571.4C18.4 572.4 18.4 613.4 18.8 614C18.9 614.3 21.7 613.1 24.9 611.5C49.8 599.2 70.7 594.4 94.2 595.6C120.4 596.9 139 603.8 175.2 625.4C206.6 644 223.5 649.8 247.8 649.9C251.9 650 257.8 649.7 260.8 649.3ZM255.8 593.5C273.2 592.1 289.5 586.5 306.2 576.3C314.6 571.2 315.3 570.6 318.8 564.4C328 548.3 330.2 540 330.2 523C330.2 511.7 329.4 506.4 326.4 497.3C319.8 477.5 305.1 460.1 286.5 450.3C263.2 438 236.7 436.8 211.7 446.8C194.7 453.6 177.1 469 169.7 483.5C164.8 493.3 161.6 502.7 160.5 510.7C159.8 516.4 159.9 529.3 160.8 535.3C162.3 545.4 168.8 561.8 173.5 567.2C175.5 569.4 181.1 573.4 186.5 576.3C188 577.2 190.5 578.6 192 579.5C210.2 590.3 233 595.3 255.8 593.5ZM338.3 558.5C339.3 557.5 350.5 552.1 355.8 550C358.8 548.8 361.5 547.7 361.8 547.5C362.5 546.9 371.8 544.2 375.8 543.3C397.8 538.5 413.8 537.8 431.1 541C432.7 541.3 435.2 541.7 436.6 542C441.9 542.9 453.8 546.5 457.6 548.2C458.5 548.6 461.9 550.1 465.2 551.5C468.6 552.9 472.4 554.7 473.8 555.5L476.4 556.9 L476.7 555.4C476.9 554.6 477 483.9 477 398.3C477 231.6 477 234.8 474.5 217.1C469.8 183.9 459.1 154.9 440.5 124.5C437.8 120.1 437.3 119.4 429.5 109C409.2 82 381.2 58.2 351.8 42.9C334.7 34 322 29.2 303.2 24.3C273.4 16.6 246 15.1 215.8 19.6C173.5 25.7 134.5 43.6 101 72C97.7 74.9 94.6 77.5 94.2 77.8C92.7 78.7 76.4 96.2 72.3 101.2C58.5 118.1 47.2 136.5 38.1 156.8C33 168.3 26.7 187 24.5 197.6C22.5 206.9 22 209.6 20.8 217.5C20 222.7 19.4 228.1 19 235C18.5 242.5 18.2 556.4 18.7 556.9C18.8 557 21.2 556 24.1 554.6C44.1 545.1 56.5 541.5 75 539.7C100.2 537.4 123 541.9 149.1 554.5C151 555.4 152.6 556 152.8 555.9C152.9 555.7 152.4 553.4 151.5 550.8C145.3 531.8 145.6 510.5 152.3 491C155.2 482.3 157.8 477.7 165.7 466.6C172.5 457 184.2 446.6 194.9 440.7C211 431.9 224.4 428.1 243.2 427.2C259.8 426.4 278.9 431.1 293.8 439.6C320.1 454.6 335.9 476.4 342.1 505.9C343.4 512.3 343.7 528.8 342.6 535.8C341.4 543 337.7 556.4 336.4 557.7C335.4 558.9 337.1 559.6 338.3 558.5ZM353.7 509C350.9 507.9 350 503.1 352.1 501.1C353.1 500.2 361.6 497.2 372.2 494C374.2 493.4 376.9 492.5 378.2 492C379.6 491.5 381.8 490.8 383 490.5C384.9 490 401.1 484.9 410 482C414.5 480.5 421.9 478.2 427.5 476.5C430.4 475.7 436.8 473.6 441.8 472C451.2 469 452 468.9 454.1 470.9C455.4 472 455.8 474.8 454.8 476.8C454.2 478.2 453.6 478.6 451.1 479.3C449.6 479.7 442.7 481.9 436 484C409.1 492.7 405.1 494 401.5 495C396.4 496.5 394.1 497.3 391.8 498.2C390.6 498.6 387.4 499.6 384.5 500.5C381.6 501.4 378.7 502.3 378 502.5C370.3 505.2 356.3 509.5 355.6 509.5C355.2 509.5 354.3 509.2 353.7 509ZM110 501.4C57.5 484.1 46.6 480.5 44.1 480C42.7 479.7 41 479 40.3 478.5C37.2 476 39 469.5 42.9 469.5C43.5 469.5 51.9 472.1 61.6 475.2C71.3 478.3 81 481.5 83.2 482.2C85.5 482.9 92.9 485.3 99.8 487.7C106.6 490 116.6 493.3 122 495C138.5 500.2 138.7 500.3 139.3 504.2C139.7 506.7 137.5 509 134.7 509C133.6 509 122.8 505.6 110 501.4ZM144.5 478.1C144.1 478 139.3 474.9 133.8 471.4C128.3 467.8 120.8 463.1 117.2 460.9C113.7 458.7 107.8 455 104.2 452.8C100.7 450.5 95 447 91.8 444.9C75.4 434.6 67.3 429.5 57.6 423.1C51.7 419.4 46 415.8 44.8 415.2C42 413.7 40.9 412.4 40.9 410.3C40.8 407 42.7 405 46 405C46.9 405 49.1 406.1 51.9 407.9C54.4 409.5 60.7 413.4 65.9 416.7C71 420 77 423.8 79.2 425.3C81.5 426.7 85.8 429.4 89 431.3C92.2 433.3 98.8 437.4 103.8 440.6C108.7 443.7 113.7 446.8 114.8 447.5C115.8 448.1 120.6 451.2 125.2 454.2C129.9 457.3 135.3 460.8 137.2 461.9C144.9 466.4 150.2 470.2 150.6 471.6C151.4 473.9 150.2 477 148.2 477.8C146.4 478.5 145.7 478.6 144.5 478.1ZM342.9 477.7C342 477.2 341.4 476.3 341 475C340 471.2 340.9 470.3 353.8 462.5C357.9 460 364.6 455.8 368.8 453.2C372.9 450.6 379.9 446.3 384.2 443.7C388.6 441 394.2 437.6 396.5 436C398.8 434.4 404.2 431.1 408.5 428.5C412.8 425.9 418.7 422.2 421.8 420.3C424.8 418.3 430.2 414.9 433.9 412.7C437.5 410.5 441.9 407.9 443.6 406.9C448.6 403.9 452.6 404.8 453.3 409.1C453.7 411.7 452.8 413 448.7 415.4C445.7 417.1 436.8 422.6 412.2 437.9C408.9 440 404 443 401.2 444.7C398.5 446.4 392.5 450.2 388 453C383.5 455.8 376.6 460.1 372.8 462.4C368.9 464.7 362.6 468.7 358.8 471.2C346.7 479 345.9 479.4 342.9 477.7ZM160.3 451.9C159.6 451.3 157.4 448.9 155.4 446.7C149.9 440.6 119.6 408 106 393.4C102.3 389.5 96.3 383 92.5 379C88.8 375 83.4 369.3 80.5 366.2C74.3 359.9 73.5 358.8 73.5 356.9C73.5 353.7 75.3 352 78.6 352C80.9 352 80.9 352 85.6 357.1C88.2 359.9 92.7 364.8 95.8 368C98.8 371.2 105.2 378.1 110 383.2C114.8 388.4 121.1 395.2 124 398.2C126.9 401.3 133.6 408.5 139 414.2C144.4 420 150.8 426.8 153.3 429.5C165.7 442.6 168.5 445.9 168.5 447.6C168.5 451.8 163.3 454.5 160.3 451.9ZM326.7 452.3C324.7 451.4 324 450.2 324 447.6C324 445.7 324.5 445.2 334.8 434.5C345.2 423.6 356.1 412.4 370.7 397C374.6 393 380.8 386.6 384.5 382.8C388.3 378.9 392.4 374.5 393.8 373C395.1 371.5 400.1 366.1 405 361.1C412.8 353.1 414.1 352 415.5 352C418.8 352 421 354.2 421 357.6C421 358.8 420 360.1 415.3 364.9C404.2 376.1 372.3 409.7 362.3 420.5C352.3 431.3 331.8 452 330.8 452.3C330.2 452.4 329.4 452.7 329 452.8C328.6 452.9 327.5 452.6 326.7 452.3ZM301.2 434.3C299.7 433.6 298.5 431.7 298.5 429.9C298.5 429.3 304.7 417.9 312.4 404.5C320 391.2 327.3 378.2 328.7 375.8C330 373.3 332.8 368.7 334.7 365.5C336.7 362.3 340.2 356.3 342.5 352.1C344.8 347.9 349.3 340.2 352.5 334.9C355.6 329.6 359.3 323.1 360.8 320.5C366.2 310.6 367.9 308.5 370.6 308.5C372.6 308.5 373.9 309.3 374.7 311C375.9 313.3 375.7 314.7 373.3 318.6C372.1 320.6 368.9 326.1 366.3 330.8C363.6 335.4 360.1 341.4 358.6 344C357.1 346.6 354.6 350.9 353.1 353.5C344.5 368.6 334.1 386.6 330.7 392.5C328.6 396.2 322.6 406.7 317.4 415.8C312.2 424.8 307.5 432.8 306.8 433.4C305.4 434.8 303.2 435.2 301.2 434.3ZM187.7 434.1C185.5 433.7 185.3 433.4 170.4 406.8C167.7 402.1 162.4 392.5 158.6 385.5C154.7 378.5 149.9 369.7 147.9 366C140.8 353.3 130.9 335.2 127.6 329.2C125.8 325.9 123.1 321 121.6 318.2C118.3 312.4 118 310.3 120 308.3C120.7 307.6 122 306.9 123 306.7C126.2 306.2 125.9 305.7 139.4 329.8C141.8 334.1 145.4 340.7 147.4 344.2C157.3 362.7 158.5 364.9 168 381.6C169.9 385 172.6 390 174.1 392.8C175.6 395.5 177.8 399.6 179.1 401.8C180.3 403.9 183.2 409.1 185.5 413.2C187.8 417.4 190.6 422.5 191.8 424.7C194.4 429.3 194.5 430.5 192.6 432.4C191.2 433.9 189.6 434.5 187.7 434.1ZM214.1 421.9C213.6 421.3 212.6 419.1 212 417C211.4 414.9 210.8 412.7 210.5 412C210.3 411.3 209.9 409.9 209.6 408.8C208.6 405.2 204.5 390.9 203 385.8C202.2 383 201.1 379.3 200.7 377.5C200.3 375.7 197.9 367.3 195.5 358.8C188.7 334.7 185.7 323.7 184.2 318C183.5 315.1 181.6 308.1 180 302.5C174.3 282.3 174.7 284.2 175.7 282.2C176.2 281.2 177.2 280.2 178.2 279.7C181.4 278.1 184 279.8 185.2 284.2C185.6 285.6 186.6 289.3 187.5 292.5C189.4 299.5 190.1 302.2 194 316C197.8 329.8 198.6 332.4 200.5 340C201.4 343.4 202.5 347.5 203 349C204 351.9 205.4 357 209 370C210.2 374.3 211.6 379.5 212.3 381.6C212.9 383.8 215 390.9 216.8 397.4C218.6 403.9 220.6 411 221.3 413.2C223 418.6 222.7 420.9 220.3 422.6C219 423.5 215.2 423 214.1 421.9ZM271.5 421.7C269.6 420 269.6 418.9 271.5 412.3C272.4 409.5 273.3 406.5 273.5 405.5C273.8 404.5 275.5 398.2 277.4 391.5C279.3 384.8 281.4 377.3 282 375C282.6 372.7 283.5 369.5 284 368C285.5 363.6 292.5 339.3 297.9 319.8C299.3 314.8 301.2 308.2 302.2 305C303.1 301.8 304.9 296 306 292C308.3 284 309.1 282.4 310.9 281.5C312.8 280.6 314.3 280.9 316 282.5C317.5 283.9 317.6 284.2 317.4 286.6C317.2 288.1 315.7 294 314.1 299.8C312.4 305.6 310.7 311.6 310.3 313.1C309.9 314.5 308.4 319.7 307 324.5C305.6 329.3 303.6 335.9 302.7 339.2C301.7 342.6 300.3 347.4 299.5 350C298.8 352.6 297.6 356.7 297 359C296.4 361.3 295.5 364.5 295 366C294.5 367.5 293.6 370.7 293 373C292.4 375.3 290.5 382 288.9 387.8C287.3 393.5 285.8 399 285.5 400C285.2 401 284.4 404 283.5 406.8C282.7 409.5 281.7 413 281.3 414.5C279.8 420.2 279.4 421 278.2 422C276.3 423.4 273.5 423.3 271.5 421.7ZM242.9 418.6L241.2 417.1 L241.1 339L241 260.9 L242.8 259.1C244.4 257.5 244.7 257.4 246.6 257.7C248.1 257.9 249.1 258.3 249.9 259.3L251 260.8 L251 339L251 417.3 L249.8 418.5C247.8 420.3 245 420.4 242.9 418.6ZM175.8 214.9C174.5 213.1 174.8 212 178.8 205.5C186.3 193.3 187.6 191.5 192.3 187C203.1 176.7 215.8 170.5 229.5 168.7C232.7 168.3 236 167.1 236 166.4C236 165.8 232.9 166 223 167.2C219.8 167.6 214.7 168.2 211.5 168.5C196.8 170 191.4 171.3 181.7 176C175.7 178.9 175.5 179 171.4 183.9C165.7 190.4 163.7 192.2 157.8 196.5C151.1 201.2 147.7 202.8 139.6 204.8C131.8 206.8 122.8 207.4 112.3 206.8C107 206.4 106.2 206.3 105.2 205.2C104.4 204.5 104.1 203.7 104.3 203.2C105.2 200.7 119.8 187.6 125.9 183.8C136.6 177.1 145.8 174.3 161.2 173C164.8 172.7 168.4 172.4 169.2 172.2C171.6 171.8 179 168.9 179 168.4C179 168.2 177.1 168 174.9 168C168.4 168 156.6 166.3 150.3 164.5C137.9 161 116.4 146.2 117.7 142.1C118.1 140.9 121.3 139.3 125.4 138.2C145.8 132.7 164 137.8 180 153.3C188.8 161.8 198.8 162.9 227.9 158.4C231.9 157.8 232.7 157 229.2 157C226.9 157 225.6 156.8 218 154.9C204.4 151.5 195 144.4 181.1 126.8C177.8 122.7 177.4 121.2 179.1 119.7C180 118.8 180.9 118.8 188.4 118.8C200 118.8 207.5 120.5 217 125.6C224.5 129.6 227.8 132.4 235.5 141.7C240.4 147.6 244.7 150.3 255.6 154.5L259.7 156.1 L279 156.2C289.6 156.3 299.3 156.5 300.5 156.8C303.2 157.2 302.9 156.5 300.1 156C287.8 153.4 278.3 149.1 268.4 141.6C263.3 137.7 259.4 133.6 254.6 126.7C248.4 117.9 246.9 114.1 249 112.3C249.8 111.5 250.6 111.4 255.1 111.7C277 113.1 292.4 122.2 304.7 140.9C312.7 153 318.4 157.1 332 160.5C340.8 162.7 343.4 163.4 350.7 165.6C361.4 168.7 378.7 177.8 382.3 182.1C383.9 184 383.9 186.6 382.4 188C380.8 189.5 379.9 189.3 375.9 186.6C361.5 177 344.9 170.8 328.1 168.7C321.3 167.9 316.1 168.3 308.5 170.3C299.6 172.7 296.8 174.6 292.8 181.2C280.8 200.6 264.1 211.3 241.5 213.9C239.4 214.1 239 214 238.1 212.8C236.9 211.3 237 210.9 240.3 204.4C245.2 194.7 254.4 183.6 261.6 178.6C268.7 173.7 278.8 169.6 289.2 167.4C293.1 166.6 296.9 165.7 297.8 165.4L299.2 164.8 L297.2 164.4C296.1 164.2 288.6 164 280.5 164C266.1 164 257.7 164.6 253.1 166C248.4 167.3 238.1 174.5 235.5 178.1C234.7 179.3 232.4 182.7 230.5 185.7C222.5 198 209.9 208 196.7 212.2C191.8 213.9 181.6 216 178.8 216C177 216 176.4 215.8 175.8 214.9ZM193.8 204.5C202.7 201.4 209.3 197.1 215.9 190.5C219.8 186.5 225.3 179.2 224.8 178.7C223.8 177.6 210.7 183.1 204.5 187.2C198 191.6 186.2 206 189.2 206C189.3 206 191.4 205.3 193.8 204.5ZM255.1 202.7C265.4 199 274.5 192.1 281.6 182.7C285.2 177.8 285.7 176.7 283.9 177.3C283.4 177.4 281.5 178 279.7 178.5C270.9 181 260.1 189.3 253.9 198.2C249.3 204.8 249.3 204.8 255.1 202.7ZM130.2 199C139.5 197.8 151 192 158.8 184.5L161.7 181.8 L160.1 181.6C158 181.4 147.5 183.2 143.6 184.5C139.6 185.7 133 188.9 129.7 191.1C125.4 193.9 120.1 198.2 120 198.9C120 199.6 125 199.7 130.2 199ZM173.2 158.5C173.4 158.3 171.7 156.6 169.4 154.7C159.9 147.1 146.6 142.9 136.3 144.5C133.9 144.8 132 145.3 132 145.5C132 146.1 139.7 151.3 143.3 153.1C146.7 154.8 151.8 156.7 156.5 158C160.8 159.2 172.1 159.5 173.2 158.5ZM230.1 148.7C230.7 148.2 226.1 142.7 222.8 139.8C215.5 133.4 209.5 130.2 201.8 128.1C197.5 127 192 126.3 192 126.9C192 127.7 201.2 137.1 204.1 139.2C210.8 144.3 218.6 147.7 225.2 148.5C227.1 148.7 229 148.9 229.3 148.9C229.6 149 230 148.9 230.1 148.7ZM298.5 146.6C298.5 145.8 292.3 137.5 289.4 134.6C285.7 130.8 280.4 127 276.1 125C270.7 122.5 260.5 119.8 260.5 120.9C260.5 121.7 267.1 129.6 270.5 132.9C276.2 138.5 283.1 142.4 292 145.3C294.4 146 296.5 146.7 296.8 146.7C297.7 147.1 298.5 147 298.5 146.6Z'/%3E%3C/svg%3E");
  --oly-logo-nom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1113 115' fill='currentColor' fill-rule='evenodd'%3E%3Cpath d='M50.7 110.2C28.3 106.4 10.7 91 5.2 70.2C3.9 65.4 3.9 51.3 5.1 46.2C8.4 32.9 14.6 23.3 25.2 15.3C42.1 2.8 67.4 0.5 86.7 9.7C101.8 16.9 111.6 29.1 115.6 46C116.4 49.7 116.4 63.2 115.6 67.8C113.3 79.5 106.9 90.5 98.1 97.6C89.4 104.6 82.7 107.8 73.2 109.5C71.3 109.8 68.7 110.3 67.4 110.6C64 111.2 55.5 111 50.7 110.2ZM1043.8 110.3C1022.1 107.3 1005.4 93.9 998.8 74.3C995.4 64.1 995.8 48.6 999.8 38.2C1002.3 31.9 1007.6 23.9 1012.4 19.4C1034.7 -1.6 1072.5 -1 1094.3 20.7C1098.9 25.4 1100.6 27.8 1103.4 33.3C1110 46.6 1110.8 62.6 1105.5 76.3C1096.4 100.1 1071 114 1043.8 110.3ZM197.4 108.6L191 108.5 L191.1 105.6L191.2 102.8 L194.2 102.1C198 101.3 199.4 100.4 200.4 98.1C201.2 96.4 201.3 92.5 201.4 59.5C201.5 39.3 201.4 21.5 201.2 20C200.8 16.2 198 13.4 193.9 12.5L191 11.9 L191.1 9.1L191.2 6.2 L211.5 6.2L231.8 6.2 L231.9 8.7C232.1 11.7 231.6 12.3 228.8 12.6C225.7 13 222.9 14.5 221.8 16.5C220.8 18.1 220.8 19.6 220.6 57.3C220.4 93.5 220.4 96.4 221.2 97.2C222 97.9 223.4 98 233.4 98C253.1 98 257.2 96.4 262 86.9C263.8 83.3 263.9 83.2 266 83.1C267.2 83 268.3 83.1 268.5 83.3C269 83.9 267 107.6 266.4 108.4C265.9 109 218.5 109.1 197.4 108.6ZM364.6 108.6C362.4 108.5 360.5 108.2 360.5 108C360.1 103.2 360.3 102.9 363.9 102C365.1 101.7 366.8 100.8 367.6 100L369.2 98.6 L369.6 81.7L369.9 64.9 L367 60.3C355.9 43.1 351.3 35.7 348.5 31.2C339.4 16.4 337.2 13.7 332.9 12.4C330.8 11.8 330.3 10.8 330.6 7.9L330.8 6.2 L349 6.2L367.2 6.2 L367.4 9.1L367.5 11.9 L365.6 12.2C362.9 12.7 361 14.5 361 16.5C361 18.2 360.8 17.8 367.5 28.2C370.2 32.4 374.5 39.1 377.2 43.2C379.8 47.4 382.4 51.3 382.9 51.9L383.9 53.1 L386.2 49.7C387.5 47.8 391.2 42.5 394.3 38C408.7 17.4 409 16.7 406.9 14.3C406.1 13.3 405.1 12.9 403.2 12.6C400.8 12.2 400.7 12.2 400.6 10.3C400.5 9.2 400.6 7.8 400.7 7.2L401 6 L415.9 6.1L430.8 6.2 L430.9 9L431 11.8 L428.2 13C423.6 14.9 423.3 15.3 412.1 30.9C411.2 32.1 408.3 36.2 405.5 40C402.8 43.8 398.9 49.3 396.8 52.4C394.8 55.4 392.2 59.1 391 60.6L389 63.2 L389 79.9C389 97.9 389 98.3 391.8 100.4C392.5 101 393.9 101.6 394.9 101.8C398.2 102.4 398.6 102.8 398.4 105.7L398.2 108.2 L395.8 108.6C393.2 108.9 372.4 108.9 364.6 108.6ZM499.4 108.7C499.2 108.5 499 107 499 105.4L499 102.5 L500.9 102.2C505.9 101.4 508.3 99.5 509.1 95.9C509.5 93.7 510 79.4 511 41.8C511.3 30.5 511.7 20.9 511.8 20.4C512 19.9 511.6 18.5 511 17.3C509.9 15.1 507.5 13.6 503.9 12.8C503.1 12.6 501.9 12.4 501.2 12.2C500 12 500 11.8 500.1 9.1L500.2 6.2 L513.8 6.1C521.2 6 527.7 6.1 528.3 6.2C529 6.4 529.8 7.4 530.5 9.1C531.1 10.5 532.8 14 534.2 17C535.6 19.9 537.1 23 537.5 24C537.9 25 539 27.6 540.1 29.9C543.6 37.5 545 40.5 545 40.8C545 40.9 546.4 43.9 548 47.3C549.6 50.7 551 53.6 551 53.8C551 53.9 551.7 55.5 552.6 57.4C553.4 59.2 554.7 62 555.3 63.5C558.8 71.2 563.3 80 563.7 80C564 80 565.4 77.5 566.7 74.4C568.1 71.3 570 66.9 571.1 64.6C572.1 62.4 573 60.4 573 60.3C573 60.1 573.5 58.9 574.1 57.6C574.6 56.3 575.5 54.5 575.9 53.5C576.3 52.5 577.5 50 578.5 47.8C579.5 45.5 581 42.5 581.6 41C582.3 39.5 583.9 36.1 585.2 33.5C586.4 30.9 587.9 27.6 588.4 26.2C589.2 24.2 590.8 20.7 593.5 14.8C593.8 14.2 594.7 12 595.7 9.9L597.4 6.1 L612.3 6.2L627.2 6.2 L627.6 8.8C627.9 11.6 627.3 12.5 624.8 12.5C622.4 12.5 618.9 14.5 617.8 16.5C616.8 18.2 616.8 18.9 616.9 55.5C617 79.3 617.2 93.7 617.6 95.5C618.3 98.9 620.4 101.3 623.3 101.7C627.2 102.4 627.5 102.7 627.5 105.7L627.5 108.4 L614.4 108.7C607.2 108.9 598.4 108.9 595 108.7L588.8 108.2 L588.8 105.6C588.8 102.6 589 102.2 592.1 101.8C594.6 101.4 596.7 99.5 597.4 97.1C597.8 95.7 598 88.2 598 71.7C598 43.5 597.6 32.3 596.7 33C596.4 33.3 596 34.1 595.8 34.8C595.6 35.5 594 39.3 592.2 43.2C590.4 47.1 588.6 50.9 588.3 51.8C586.2 56.5 585.1 58.8 582.7 63.9C581.2 66.9 580 69.6 580 69.7C580 69.9 579.4 71.2 578.8 72.7C577.6 75.3 576.9 76.9 573.7 83.9C570.7 90.5 570 92 570 92.2C570 92.4 569 94.5 567.8 97.1C566.6 99.7 564.9 103.3 564.1 105.1L562.5 108.5 L559.5 108.5L556.5 108.5 L554.9 105.1C554.1 103.3 551.9 98.7 550.2 95.1C548.4 91.4 547 88.3 547 88.2C547 88.1 545.6 85.2 544 81.7C542.4 78.3 541 75.4 541 75.2C541 75.1 540.3 73.6 539.5 71.7C538.7 69.9 538 68.4 538 68.3C538 68.1 536.6 65.2 535 61.7C533.4 58.2 532 55.3 532 55.2C532 55.1 529.1 48.7 525.6 41.5C524.4 38.9 523.2 36.2 523 35.6C521.6 32.2 521.4 35.7 520.7 77C520.5 89.9 520.5 95.3 520.9 96.6C521.9 99.3 523.9 100.9 527.3 101.6C528.9 101.9 530.5 102.2 530.9 102.3C531.6 102.5 531.8 107.8 531.1 108.2C530.4 108.6 499.8 109.1 499.4 108.7ZM710.1 108.7L707 108.5 L707.1 105.6L707.2 102.8 L710.2 102.2C713.6 101.6 714.8 101.1 716.3 99.5C717.2 98.4 717.3 97.5 717.4 58L717.5 17.5 L715.9 15.7C714.7 14.4 713.2 13.6 710.7 12.7L707.2 11.6 L707.2 8.9L707.2 6.2 L730.2 6.1C745.4 6 754.9 6.1 758 6.5C771 8.1 782 14.6 786.1 23.1C789.6 30.1 789.8 40.1 786.7 46.8C780.6 60 767.8 65.9 744.8 66.2L737.2 66.3 L737.2 81.8C737.2 96.9 737.3 97.5 738.3 98.8C739.6 100.6 742.2 101.9 744.6 102C747.7 102 748 102.3 748 105.5C748 107.4 747.8 108.5 747.4 108.6C746.5 108.9 714.1 108.9 710.1 108.7ZM867.8 108.7C863.7 108.6 860 108.2 859.7 108C858.3 106.8 861.4 101.7 867.2 95.5C868.7 94 871.8 90.2 874.3 87C876.7 83.8 881.7 77.5 885.3 73C896.3 59.2 897.3 57.7 896.5 56.2C895.7 54.8 887.8 44.2 883 38.2C881.2 36 876.8 30.3 873.1 25.7C869.5 21.1 864.8 15.2 862.7 12.8C860.7 10.3 859 8 859 7.7C859 6 860.1 6 897.6 6.1L934.8 6.2 L935.1 9.2C935.3 10.9 935.8 15.3 936.2 18.9C937.4 29.1 937.6 28.5 934.1 28.5C931.3 28.5 931.2 28.5 930.6 26.8C929.3 23.1 926.2 19.2 923.8 18.1C921.6 17 920.9 17 904 17C894.4 17 886.5 17.1 886.5 17.2C886.5 17.4 887.5 18.8 888.7 20.4C889.9 22 892.5 25.4 894.4 28C896.4 30.6 899.6 34.8 901.5 37.2C905.6 42.5 911.5 50.2 913.9 53.3L915.5 55.4 L911.3 60.8C909.1 63.8 904.4 69.6 901 73.7C897.6 77.8 894.2 81.9 893.5 82.7C892.9 83.6 890.2 86.9 887.7 90.1C885.1 93.2 883 96.1 883 96.4C883 97.2 920.1 97.2 923.4 96.4C927.1 95.5 931.5 90 933 84.6C933.3 83.4 933.5 83.2 936.2 83.1C937.8 83 939.3 83.2 939.5 83.4C939.9 84.1 938.3 107.9 937.8 108.4C937.4 108.7 878.5 108.9 867.8 108.7ZM69.6 99.9C79.1 96.8 85.3 91.3 90 81.7C94.6 72 96.2 59.7 94.3 47.2C92.2 33.7 84.4 21.6 74.7 17C66.5 13 57.4 12.4 48.5 15.3C40.4 18 31.3 28.5 28.3 38.8C24.5 51.3 25 67.4 29.6 78.4C34.2 89.5 42.3 97.5 51.5 100C57.7 101.7 64.3 101.7 69.6 99.9ZM1062.2 99.9C1071.3 97.1 1078.1 90.5 1083 79.8C1089.7 65.3 1088.8 44 1080.9 31C1073.3 18.5 1065 13.5 1051.7 13.5C1031.7 13.5 1018 30.9 1017.9 56.5C1017.8 67.4 1019.4 74.3 1023.6 82.8C1027.7 90.8 1035.3 97.6 1043.2 100.1C1047.6 101.6 1057.2 101.4 1062.2 99.9ZM755.2 56C760.5 54 764.5 50.7 766.1 46.9C768.1 42.5 768.2 41.7 768.2 35.8C768.1 24.7 764.3 19.2 755 16.7C751.6 15.8 738.9 15.4 737.6 16.2C736.9 16.6 736.7 47.1 737.3 53.6C737.7 57.6 737.5 57.5 746.5 57.3C751 57.1 752.9 56.8 755.2 56Z'/%3E%3C/svg%3E");
  --oly-pierre: #F3ECE1;
  --oly-sable: #E3D5C0;
  --oly-travertin: #CDB89C;
  --oly-taupe: #8E7B6A;
  --oly-terre: #6B4F3F;
  --oly-olivier: #767452;
  --oly-olivier-fonce: #5F5D40;
  --oly-nuit: #3A2E27;
  --oly-serif: 'Cinzel', 'Times New Roman', serif;
  --oly-sans: 'Josefin Sans', 'Helvetica Neue', Arial, sans-serif;
  --oly-gutter: clamp(20px, 5vw, 72px);
  --oly-max: 1240px;
  --oly-section: clamp(88px, 12vw, 168px);
  --oly-header-h: 84px;
  --oly-ease: cubic-bezier(.22, .61, .36, 1);
  --oly-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='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .31 0 0 0 0 .25 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --oly-veines: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='1600' preserveAspectRatio='none'%3E%3Cfilter id='v'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .012' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .45 0 0 0 0 .36 0 0 0 1.4 -.62'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23v)'/%3E%3C/svg%3E");
}

/* =========================================================
   BASE
   ========================================================= */
body .oly,
body .oly *,
body .oly *::before,
body .oly *::after { box-sizing: border-box; }

/* Remise à zéro légère : les marges des composants passent toujours devant */
.oly :where(h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, blockquote) {
  margin: 0; padding: 0;
}
/* Neutralise les listes et paragraphes de Divi (.entry-content) */
body .oly ul, body .oly ol { list-style: none; padding: 0; }
body .oly p { padding-bottom: 0; }
body .oly p:empty { display: none; }

.oly {
  font-family: var(--oly-sans);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.7;
  color: var(--oly-nuit);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.oly a { color: inherit; text-decoration: none; }
.oly img { display: block; max-width: 100%; }
.oly :focus-visible { outline: 2px solid var(--oly-olivier); outline-offset: 4px; }

.oly-wrap { width: 100%; max-width: calc(var(--oly-max) + 2 * var(--oly-gutter)); margin: 0 auto; padding: 0 var(--oly-gutter); }
.oly-wrap--large { max-width: calc(1640px + 2 * var(--oly-gutter)); }

/* Fonds pierre : couleur unie + grain léger */
.oly-stone { position: relative; background-color: var(--oly-pierre); isolation: isolate; }
.oly-stone::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: var(--oly-veines), var(--oly-grain);
  background-size: cover, 240px 240px;
  background-repeat: no-repeat, repeat;
  background-position: center, 0 0;
  opacity: .4;
}
.oly-stone--sable { background-color: var(--oly-sable); }

/* Typographie */
.oly-display {
  font-family: var(--oly-serif); font-weight: 400;
  font-size: clamp(2.1rem, 4.6vw, 3.9rem);
  line-height: 1.12; letter-spacing: .02em; color: var(--oly-terre);
}
.oly-h2 {
  font-family: var(--oly-serif); font-weight: 400;
  font-size: clamp(1.9rem, 3.6vw, 3rem);
  line-height: 1.15; letter-spacing: .04em; color: var(--oly-terre);
}
.oly-h3 {
  font-family: var(--oly-serif); font-weight: 500;
  font-size: clamp(1.5rem, 2.4vw, 2.05rem);
  line-height: 1.2; letter-spacing: .06em; color: var(--oly-terre);
}
.oly-lead { font-size: clamp(1.06rem, 1.3vw, 1.2rem); line-height: 1.75; max-width: 34em; }
.oly-muted { color: var(--oly-taupe); }
.oly-myth { font-family: var(--oly-serif); font-size: .95rem; letter-spacing: .08em; color: var(--oly-taupe); }

/* Boutons */
.oly-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  min-height: 52px; padding: 0 30px 0 32px;
  font-family: var(--oly-sans); font-size: .95rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  border-radius: 999px; border: 1px solid transparent; cursor: pointer;
  transition: background-color .35s var(--oly-ease), color .35s var(--oly-ease), border-color .35s var(--oly-ease);
}
.oly a.oly-btn--plein { background: var(--oly-olivier); color: var(--oly-pierre); }
.oly a.oly-btn--plein:hover { background: var(--oly-olivier-fonce); }
.oly a.oly-btn--ligne { border-color: currentColor; color: var(--oly-terre); }
.oly a.oly-btn--ligne:hover { background: var(--oly-terre); border-color: var(--oly-terre); color: var(--oly-pierre); }
.oly a.oly-btn--clair { border-color: rgba(243,236,225,.7); color: var(--oly-pierre); }
.oly a.oly-btn--clair:hover { background: var(--oly-pierre); color: var(--oly-nuit); }

.oly a.oly-lien {
  display: inline-block; padding-bottom: 4px;
  font-size: .9rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--oly-terre);
  background: linear-gradient(currentColor, currentColor) left bottom / 100% 1px no-repeat;
  transition: background-size .4s var(--oly-ease);
}
.oly a.oly-lien:hover { background-size: 40% 1px; }
.oly a.oly-lien--clair { color: var(--oly-pierre); }
.oly-suite { margin-top: clamp(48px, 6vw, 80px); text-align: center; }
.oly-suite--gauche { margin-top: 32px; text-align: left; }

/* Photos : une même image, recadrée différemment selon --pos et --z */
.oly-photo { position: relative; overflow: hidden; background: var(--oly-travertin); }
.oly-photo img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: var(--pos, 50% 50%);
  transform-origin: var(--pos, 50% 50%);
  transform: scale(var(--z, 1));
  transition: transform 1.4s var(--oly-ease);
}
.oly-arche { border-radius: 9999px 9999px 0 0; }
/* Arche surbaissée : haut cintré, presque toute la photo reste visible */
.oly-voute { border-radius: 50% 50% 0 0 / 24% 24% 0 0; }

/* Logo (masque SVG : la couleur suit "color") */
.oly-logo-symbole, .oly-logo-nom { display: block; background-color: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.oly-logo-symbole { --m: var(--oly-logo-symbole); aspect-ratio: 495 / 807; }
.oly-logo-nom { --m: var(--oly-logo-nom); aspect-ratio: 1113 / 115; }
.oly [id] { scroll-margin-top: calc(var(--oly-header-h) + 24px); }
.oly-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* =========================================================
   EN-TÊTE
   ========================================================= */
.oly-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9990;
  height: var(--oly-header-h);
  color: var(--oly-terre);
  background: rgba(243,236,225,.96);
  box-shadow: 0 1px 0 rgba(107,79,63,.12);
  transition: background-color .5s var(--oly-ease), box-shadow .5s var(--oly-ease), color .5s var(--oly-ease);
}
body.admin-bar .oly-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .oly-header { top: 46px; } }
body.home .oly-header:not(.is-scrolled):not(.is-open) { background: transparent; box-shadow: none; color: var(--oly-pierre); }
.oly-header-spacer { height: var(--oly-header-h); }
body.home .oly-header-spacer { display: none; }

.oly-header__in { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.oly-marque { display: flex; align-items: center; gap: 14px; }
.oly-marque .oly-logo-symbole { height: 46px; }
.oly-marque .oly-logo-nom { width: 150px; }
.oly-nav { display: flex; align-items: center; gap: clamp(18px, 2.6vw, 40px); }
.oly-nav a:not(.oly-btn) { font-size: .9rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; position: relative; padding: 6px 0; }
.oly-nav a:not(.oly-btn)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--oly-ease); }
.oly-nav a:not(.oly-btn):hover::after { transform: scaleX(1); }
.oly-header .oly-btn { min-height: 44px; padding: 0 22px 0 24px; font-size: .85rem; }
body.home .oly-header:not(.is-scrolled):not(.is-open) a.oly-btn--plein { background: rgba(243,236,225,.14); border-color: rgba(243,236,225,.6); backdrop-filter: blur(6px); }
body.home .oly-header:not(.is-scrolled):not(.is-open) a.oly-btn--plein:hover { background: var(--oly-pierre); color: var(--oly-nuit); }

.oly-burger { display: none; width: 44px; height: 44px; border: 0; background: none; color: inherit; cursor: pointer; position: relative; padding: 0; }
.oly-burger span { position: absolute; left: 10px; right: 10px; height: 1.5px; background: currentColor; transition: transform .4s var(--oly-ease), opacity .3s; }
.oly-burger span:nth-child(1) { top: 16px; }
.oly-burger span:nth-child(2) { top: 22px; }
.oly-burger span:nth-child(3) { top: 28px; }
.oly-header.is-open .oly-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.oly-header.is-open .oly-burger span:nth-child(2) { opacity: 0; }
.oly-header.is-open .oly-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.oly-menu-mobile { display: none; }

/* Barre "Réserver" fixe sur mobile */
.oly-barre-resa { display: none; }

@media (max-width: 980px) {
  :root { --oly-header-h: 70px; }
  .oly-nav { display: none; }
  .oly-burger { display: block; }
  .oly-marque .oly-logo-symbole { height: 38px; }
  .oly-marque .oly-logo-nom { width: 124px; }
  .oly-menu-mobile {
    display: flex; flex-direction: column; justify-content: center; gap: 8px;
    position: fixed; inset: var(--oly-header-h) 0 0 0; padding: 0 var(--oly-gutter) 120px;
    background: var(--oly-pierre); color: var(--oly-terre);
    opacity: 0; visibility: hidden; transition: opacity .45s var(--oly-ease), visibility .45s;
  }
  .oly-header.is-open .oly-menu-mobile { opacity: 1; visibility: visible; }
  .oly-menu-mobile a:not(.oly-btn) { font-family: var(--oly-serif); font-size: 1.9rem; letter-spacing: .06em; padding: 10px 0; border-bottom: 1px solid rgba(107,79,63,.15); }
  .oly-menu-mobile .oly-btn { margin-top: 28px; }
  .oly-barre-resa {
    display: flex; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 9980;
    transform: translateY(140%); transition: transform .5s var(--oly-ease);
  }
  .oly-barre-resa.is-visible { transform: none; }
  .oly-barre-resa .oly-btn { flex: 1; box-shadow: 0 10px 30px rgba(58,46,39,.28); }
}

/* =========================================================
   HERO : la photo s'ouvre depuis une arche
   ========================================================= */
.oly-hero { position: relative; height: 100vh; height: 100svh; min-height: 620px; background: var(--oly-pierre); color: var(--oly-pierre); overflow: hidden; }
.oly-hero__photo { position: absolute; inset: 0; }
.oly-hero__photo img { transform: scale(1.04); transition: transform 2.6s var(--oly-ease); }
.oly-hero__photo::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(to bottom, rgba(58,46,39,.55) 0%, rgba(58,46,39,0) 22%),
    linear-gradient(to top, rgba(43,33,27,.88) 0%, rgba(43,33,27,.55) 30%, rgba(43,33,27,0) 62%);
}
.oly-hero__contenu {
  position: absolute; left: 0; right: 0; bottom: clamp(36px, 8vh, 88px);
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.oly-hero .oly-logo-nom { width: min(880px, 84vw); }
.oly-hero h1 {
  margin-top: clamp(16px, 2.4vh, 26px);
  display: flex; flex-direction: column; align-items: center; gap: clamp(8px, 1.4vh, 14px);
  font-family: var(--oly-sans); font-weight: 400; color: var(--oly-pierre); line-height: 1.3; text-transform: uppercase;
}
.oly-hero__type { font-weight: 600; font-size: clamp(1.25rem, 2.3vw, 1.9rem); letter-spacing: .34em; padding-left: .34em; }
.oly-hero__lieu { font-size: clamp(.92rem, 1.25vw, 1.08rem); letter-spacing: .2em; }
.oly-hero__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: clamp(24px, 4vh, 40px); }
.oly-hero__scroll { position: absolute; left: 50%; bottom: 18px; width: 1px; height: 34px; background: rgba(243,236,225,.5); overflow: hidden; }
.oly-hero__scroll::after { content: ""; position: absolute; left: 0; top: -100%; width: 1px; height: 100%; background: var(--oly-pierre); animation: oly-goutte 2.4s var(--oly-ease) infinite; }
@keyframes oly-goutte { to { top: 100%; } }

/* Animation d'ouverture (seulement si JS actif) */
.oly-js .oly-hero__photo { clip-path: inset(16vh 33vw 0 33vw round 33vw 33vw 0 0); transition: clip-path 1.9s var(--oly-ease) .25s; }
.oly-js .oly-hero__contenu > * { opacity: 0; transform: translateY(14px); transition: opacity 1s var(--oly-ease), transform 1s var(--oly-ease); }
.oly-js .oly-hero.is-in .oly-hero__photo { clip-path: inset(0 0 0 0 round 0 0 0 0); }
.oly-js .oly-hero.is-in .oly-hero__photo img { transform: scale(1); }
.oly-js .oly-hero.is-in .oly-hero__contenu > * { opacity: 1; transform: none; }
.oly-js .oly-hero.is-in .oly-hero__contenu > *:nth-child(1) { transition-delay: 1.3s; }
.oly-js .oly-hero.is-in .oly-hero__contenu > *:nth-child(2) { transition-delay: 1.5s; }
.oly-js .oly-hero.is-in .oly-hero__contenu > *:nth-child(3) { transition-delay: 1.7s; }
@media (max-width: 760px) {
  .oly-js .oly-hero__photo { clip-path: inset(18vh 16vw 0 16vw round 34vw 34vw 0 0); }
}

/* =========================================================
   INTRO : le symbole gravé dans la pierre
   ========================================================= */
.oly-intro { padding: var(--oly-section) 0; overflow: hidden; }
.oly-intro__grille { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(48px, 7vw, 120px); align-items: center; }

.oly-gravure { display: flex; flex-direction: column; align-items: center; gap: 30px; }
.oly-gravure__relief {
  display: block;
  filter: drop-shadow(1.5px 1.5px 0 rgba(255,252,246,.85)) drop-shadow(-1px -1px 0 rgba(58,46,39,.28));
}
.oly-gravure .oly-logo-symbole { height: clamp(300px, 38vw, 540px); color: #B9A285; }
.oly-gravure__devise {
  font-family: var(--oly-serif); font-size: clamp(.95rem, 1.2vw, 1.1rem); letter-spacing: .32em; text-transform: uppercase;
  color: #A68E70; text-shadow: 1px 1px 0 rgba(255,252,246,.85), -1px -1px 0 rgba(58,46,39,.18);
}

.oly-intro .oly-display { max-width: 11em; }
.oly-intro__texte .oly-lead { margin-top: 28px; }
.oly-intro__texte .oly-lead + .oly-lead { margin-top: 1em; }

.oly-points { display: grid; grid-template-columns: 1fr 1fr; margin-top: 48px; border-top: 1px solid rgba(107,79,63,.25); }
.oly-points div { padding: 22px 24px 22px 0; border-bottom: 1px solid rgba(107,79,63,.25); }
.oly-points div:nth-child(even) { padding-left: 28px; border-left: 1px solid rgba(107,79,63,.25); }
.oly-points dt { font-family: var(--oly-serif); font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.2; letter-spacing: .03em; color: var(--oly-terre); }
.oly-points dd { margin-top: 4px; color: var(--oly-taupe); font-size: .98rem; }

@media (max-width: 900px) {
  .oly-intro__grille { grid-template-columns: 1fr; }
  .oly-gravure .oly-logo-symbole { height: 230px; }
  .oly-gravure { gap: 20px; }
}
@media (max-width: 480px) {
  .oly-points { grid-template-columns: 1fr; }
  .oly-points div:nth-child(even) { padding-left: 0; border-left: 0; }
}

/* Lignes de faits (réutilisées dans Infos pratiques) */
.oly-faits { margin-top: 44px; border-top: 1px solid rgba(107,79,63,.22); }
.oly-faits div { display: grid; grid-template-columns: 8.5em 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(107,79,63,.22); }
.oly-faits dt { font-family: var(--oly-serif); color: var(--oly-taupe); letter-spacing: .06em; }
.oly-faits dd { color: var(--oly-nuit); }

/* =========================================================
   LES ÉLÉMENTS (Thétis, Néphélé, Héphaïstos)
   ========================================================= */
.oly-elements { padding: 0 0 var(--oly-section); }
.oly-elements__titre { text-align: center; margin-bottom: clamp(56px, 7vw, 96px); }
.oly-elements__titre p { margin: 18px auto 0; max-width: 30em; }
.oly-element { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(40px, 6vw, 96px); align-items: center; }
.oly-element + .oly-element { margin-top: clamp(80px, 9vw, 130px); }
.oly-element:nth-child(even) { grid-template-columns: 5fr 7fr; }
.oly-element:nth-child(even) .oly-element__visuel { order: 2; }
.oly-element__visuel { position: relative; }
.oly-element__visuel .oly-photo { aspect-ratio: 4 / 3.3; }
.oly-element__lettre {
  position: absolute; z-index: 1; bottom: -.16em; right: .1em;
  font-family: 'Times New Roman', Georgia, serif; font-size: clamp(7rem, 12vw, 11rem); line-height: 1;
  color: var(--oly-pierre); opacity: .5; pointer-events: none;
}
.oly-element:nth-child(even) .oly-element__lettre { right: auto; left: .1em; }
.oly-element__texte { max-width: 30em; }
.oly-element__texte .oly-myth { margin-top: 10px; }
.oly-element__texte p:not(.oly-myth) { margin-top: 22px; }
@media (max-width: 860px) {
  .oly-element, .oly-element:nth-child(even) { grid-template-columns: 1fr; gap: 28px; }
  .oly-element:nth-child(even) .oly-element__visuel { order: 0; }
}

/* =========================================================
   L'OLIVIER & LA SIGNATURE OLFACTIVE
   ========================================================= */
.oly-olivier { display: grid; grid-template-columns: 1.25fr 1fr; min-height: 92vh; background: var(--oly-sable); }
.oly-olivier > .oly-photo { min-height: 560px; }
.oly-olivier__texte { align-self: center; padding: var(--oly-section) var(--oly-gutter); max-width: 640px; }
.oly-olivier__bloc + .oly-olivier__bloc { margin-top: 56px; padding-top: 56px; border-top: 1px solid rgba(107,79,63,.22); }
.oly-olivier__bloc p { margin-top: 18px; }
.oly-notes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.oly-notes li { padding: 8px 18px; border: 1px solid rgba(107,79,63,.35); border-radius: 999px; font-size: .95rem; color: var(--oly-terre); }
@media (max-width: 900px) {
  .oly-olivier { grid-template-columns: 1fr; min-height: 0; }
  .oly-olivier > .oly-photo { min-height: 0; aspect-ratio: 4 / 4.4; }
}

/* =========================================================
   LES PARENTHÈSES (Hestia, Dionysos)
   ========================================================= */
.oly-parentheses { padding: var(--oly-section) 0; }
.oly-parentheses__titre { text-align: center; margin-bottom: clamp(48px, 6vw, 80px); }
.oly-parentheses__titre p { margin: 18px auto 0; max-width: 30em; }
.oly-cartes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); }
.oly-carte { display: flex; flex-direction: column; }
.oly-carte .oly-photo { aspect-ratio: 4 / 3.2; }
.oly-carte:hover .oly-photo img { transform: scale(calc(var(--z, 1) * 1.05)); }
.oly-carte__corps { padding: clamp(28px, 3vw, 40px) 0 0; display: flex; flex-direction: column; flex: 1; }
.oly-carte__entete { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.oly-duree { font-family: var(--oly-serif); font-size: 1.15rem; color: var(--oly-taupe); white-space: nowrap; }
.oly-carte__corps > p { margin-top: 18px; }
.oly-tarifs { margin: 26px 0 30px; border-top: 1px solid rgba(107,79,63,.2); }
.oly-tarifs div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 13px 0; border-bottom: 1px solid rgba(107,79,63,.2); }
.oly-tarifs dt small { display: block; color: var(--oly-taupe); font-size: .88rem; }
.oly-tarifs dd { font-family: var(--oly-serif); font-size: 1.45rem; color: var(--oly-terre); white-space: nowrap; }
.oly-carte__actions { margin-top: auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 32px; }
.oly-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 36px; }
.oly-actions .oly-btn { margin-top: 0 !important; }
.oly-parentheses__note { margin-top: 56px; text-align: center; color: var(--oly-taupe); }
@media (max-width: 860px) {
  .oly-cartes { grid-template-columns: minmax(0, 1fr); }
  .oly-carte__entete { flex-wrap: wrap; gap: 4px 16px; }
  .oly-duree { white-space: normal; }
}

/* =========================================================
   MORPHÉE (la nuit) : photo bord à bord sur la moitié gauche
   ========================================================= */
.oly-morphee { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; min-height: 92vh; background: var(--oly-nuit); color: var(--oly-sable); overflow: hidden; }
.oly-morphee::before { content: ""; position: absolute; inset: 0; background-image: var(--oly-grain); background-size: 240px; opacity: .35; mix-blend-mode: overlay; pointer-events: none; }
.oly-morphee > .oly-photo { min-height: 560px; background: #2c231d; }
.oly-morphee__texte { position: relative; align-self: center; padding: var(--oly-section) var(--oly-gutter); max-width: 660px; }
.oly-morphee .oly-h2 { color: var(--oly-pierre); }
.oly-morphee .oly-myth { color: var(--oly-travertin); margin-top: 10px; }
.oly-morphee__texte > p:not(.oly-myth) { margin-top: 24px; max-width: 32em; color: var(--oly-sable); }
.oly-morphee .oly-tarifs { border-color: rgba(227,213,192,.2); max-width: 520px; }
.oly-morphee .oly-tarifs div { border-color: rgba(227,213,192,.2); }
.oly-morphee .oly-tarifs dt small { color: var(--oly-travertin); }
.oly-morphee .oly-tarifs dd { color: var(--oly-pierre); }
.oly-morphee__infos { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 4px; color: var(--oly-travertin); font-size: .98rem; }
.oly-morphee .oly-btn { margin-top: 36px; }
@media (max-width: 900px) {
  .oly-morphee { grid-template-columns: 1fr; min-height: 0; }
  .oly-morphee > .oly-photo { min-height: 0; aspect-ratio: 4 / 4.2; }
}

/* =========================================================
   INCLUS & SUR DEMANDE
   ========================================================= */
.oly-inclus { padding: var(--oly-section) 0; }
.oly-inclus__grille { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 8vw, 120px); }
.oly-liste { margin-top: 30px; border-top: 1px solid rgba(107,79,63,.22); }
.oly-liste li { padding: 17px 0 17px 34px; border-bottom: 1px solid rgba(107,79,63,.22); position: relative; }
.oly-liste li::before { content: ""; position: absolute; left: 4px; top: 50%; width: 12px; height: 16px; margin-top: -9px; border: 1px solid var(--oly-olivier); border-bottom: 0; border-radius: 6px 6px 0 0; }
.oly-liste li small { display: block; color: var(--oly-taupe); font-size: .92rem; }
@media (max-width: 860px) { .oly-inclus__grille { grid-template-columns: 1fr; } }

/* =========================================================
   BONS CADEAUX
   ========================================================= */
.oly-cadeau { position: relative; min-height: 78vh; display: flex; align-items: center; color: var(--oly-pierre); overflow: hidden; }
.oly-cadeau > .oly-photo { position: absolute; inset: 0; }
.oly-cadeau > .oly-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,33,27,.82) 0%, rgba(43,33,27,.5) 45%, rgba(43,33,27,.1) 100%); }
.oly-cadeau .oly-wrap { position: relative; }
.oly-cadeau .oly-h2 { color: var(--oly-pierre); max-width: 12em; }
.oly-cadeau p { margin-top: 22px; max-width: 28em; color: var(--oly-sable); }
.oly-cadeau .oly-btn { margin-top: 36px; }

/* =========================================================
   AUX PORTES DE BORDEAUX (temps de trajet)
   ========================================================= */
.oly-trajets { padding: var(--oly-section) 0; text-align: center; }
.oly-trajets .oly-display { font-size: clamp(2.4rem, 5.6vw, 4.6rem); }
.oly-trajets__accroche { margin: 18px auto 0; max-width: 30em; font-size: clamp(1.06rem, 1.4vw, 1.25rem); color: var(--oly-terre); }
.oly-villes { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(40px, 6vw, 96px); max-width: 880px; margin: clamp(44px, 6vw, 72px) auto 0; text-align: left; }
.oly-villes div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(107,79,63,.28); }
.oly-villes div:nth-child(-n+2) { border-top: 1px solid rgba(107,79,63,.28); }
.oly-villes dt { font-family: var(--oly-serif); font-size: clamp(1.25rem, 1.9vw, 1.6rem); letter-spacing: .03em; color: var(--oly-terre); }
.oly-villes dd { font-family: var(--oly-sans); font-size: clamp(1.05rem, 1.4vw, 1.2rem); letter-spacing: .04em; color: var(--oly-taupe); white-space: nowrap; }
.oly-trajets__note { margin-top: 28px; font-size: .9rem; color: var(--oly-taupe); }
@media (max-width: 640px) {
  .oly-villes { grid-template-columns: 1fr; }
  .oly-villes div:nth-child(2) { border-top: 0; }
}

/* =========================================================
   INFOS PRATIQUES
   ========================================================= */
.oly-infos { padding: var(--oly-section) 0; }
.oly-infos__grille { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(40px, 7vw, 110px); align-items: stretch; }
.oly-infos .oly-faits { margin-top: 36px; }
.oly-infos .oly-faits a { border-bottom: 1px solid rgba(107,79,63,.35); }
.oly-infos .oly-faits a:hover { border-color: var(--oly-terre); }
.oly-carte-map { position: relative; min-height: 440px; overflow: hidden; }
.oly-carte-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) sepia(.35) contrast(.92) brightness(1.02); }
@media (max-width: 900px) { .oly-infos__grille { grid-template-columns: 1fr; } .oly-carte-map { min-height: 340px; } }

/* =========================================================
   PIED DE PAGE
   ========================================================= */
.oly-footer { background: var(--oly-nuit); color: var(--oly-travertin); padding: clamp(72px, 9vw, 120px) 0 28px; }
.oly-footer__haut { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px; }
.oly-footer__marque { color: var(--oly-sable); }
.oly-footer__marque .oly-logo-symbole { height: 92px; }
.oly-footer__marque .oly-logo-nom { width: 200px; margin-top: 22px; }
.oly-footer__marque p { margin-top: 14px; color: var(--oly-travertin); font-size: .95rem; }
.oly-footer h3 { font-family: var(--oly-serif); font-weight: 400; font-size: 1.05rem; letter-spacing: .1em; color: var(--oly-pierre); margin-bottom: 18px; }
.oly-footer li + li { margin-top: 8px; }
.oly-footer a { transition: color .3s; }
.oly-footer a:hover { color: var(--oly-pierre); }
.oly-footer__bas { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 72px; padding-top: 24px; border-top: 1px solid rgba(205,184,156,.18); font-size: .85rem; color: var(--oly-taupe); }
@media (max-width: 900px) { .oly-footer__haut { grid-template-columns: 1fr 1fr; } .oly-footer__marque { grid-column: 1 / -1; } }
@media (max-width: 520px) { .oly-footer__haut { grid-template-columns: 1fr; } }
@media (max-width: 980px) { .oly-footer { padding-bottom: 96px; } }

/* =========================================================
   PAGES INTÉRIEURES : hero plus court
   ========================================================= */
.oly-hero--page { height: 74vh; height: 74svh; min-height: 520px; }
.oly-page-titre { font-family: var(--oly-serif); font-weight: 400; font-size: clamp(3.2rem, 9vw, 7rem); line-height: 1; letter-spacing: .1em; padding-left: .1em; text-transform: uppercase; }
.oly-hero--page .oly-hero__contenu { bottom: clamp(40px, 9vh, 96px); }

/* =========================================================
   LE RITUEL (étapes conseillées)
   ========================================================= */
.oly-rituel { padding: var(--oly-section) 0; }
.oly-rituel__titre { text-align: center; max-width: 34em; margin: 0 auto clamp(48px, 6vw, 80px); }
.oly-rituel__titre p { margin-top: 18px; }
.oly-etapes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); counter-reset: etape; }
.oly-etape { position: relative; padding: 30px 0 0; border-top: 1px solid rgba(107,79,63,.3); }
.oly-etape__num { display: block; font-family: var(--oly-serif); font-size: clamp(2rem, 3.2vw, 2.8rem); line-height: 1; color: var(--oly-travertin); }
.oly-etape h3 { margin-top: 18px; font-family: var(--oly-serif); font-weight: 500; font-size: 1.3rem; letter-spacing: .05em; color: var(--oly-terre); }
.oly-etape h3 small { display: block; margin-top: 4px; font-family: var(--oly-sans); font-weight: 400; font-size: .9rem; letter-spacing: .02em; color: var(--oly-taupe); }
.oly-etape p { margin-top: 12px; font-size: .98rem; }
.oly-etape__douche { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 5px 14px 5px 12px; border: 1px solid rgba(118,116,82,.5); border-radius: 999px; font-size: .85rem; color: var(--oly-olivier-fonce); }
.oly-etape__douche::before { content: ""; width: 8px; height: 8px; margin-top: 2px; background: var(--oly-olivier); border-radius: 0 50% 50% 50%; transform: rotate(45deg); }
.oly-rituel__note { margin-top: clamp(40px, 5vw, 64px); text-align: center; color: var(--oly-taupe); }
@media (max-width: 1000px) { .oly-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; } }
@media (max-width: 560px) { .oly-etapes { grid-template-columns: minmax(0, 1fr); } }

/* Détails pratiques sous chaque espace */
.oly-details { margin-top: 26px; border-top: 1px solid rgba(107,79,63,.22); }
.oly-details li { padding: 12px 0 12px 26px; border-bottom: 1px solid rgba(107,79,63,.22); position: relative; font-size: .98rem; }
.oly-details li::before { content: ""; position: absolute; left: 2px; top: 50%; width: 10px; height: 13px; margin-top: -7px; border: 1px solid var(--oly-olivier); border-bottom: 0; border-radius: 5px 5px 0 0; }

/* =========================================================
   GALERIE + VISIONNEUSE
   ========================================================= */
.oly-galerie { padding: var(--oly-section) 0; }
.oly-galerie__titre { text-align: center; margin-bottom: clamp(40px, 5vw, 64px); }
.oly-galerie__titre p { margin: 18px auto 0; max-width: 30em; }
.oly-galerie__grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 17vw, 270px); grid-auto-flow: dense; gap: clamp(8px, 1vw, 14px); }
.oly-galerie__item { position: relative; display: block; overflow: hidden; cursor: zoom-in; background: var(--oly-travertin); }
/* Motif de 8 photos qui remplit la grille sans trou ; il se répète si on en ajoute */
.oly-galerie__item:nth-child(8n+1), .oly-galerie__item:nth-child(8n+6) { grid-column: span 2; grid-row: span 2; }
.oly-galerie__item:nth-child(8n+7), .oly-galerie__item:nth-child(8n+8) { grid-row: span 2; }
.oly-galerie__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); transform-origin: var(--pos, 50% 50%); transform: scale(var(--z, 1)); transition: transform 1.2s var(--oly-ease); }
.oly-galerie__item:hover img, .oly-galerie__item:focus-visible img { transform: scale(calc(var(--z, 1) * 1.05)); }
@media (max-width: 760px) {
  .oly-galerie__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 42vw; }
}

.oly-visionneuse { position: fixed; inset: 0; z-index: 99999; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 64px 72px; background: rgba(36,28,23,.95); color: var(--oly-pierre); opacity: 0; visibility: hidden; transition: opacity .35s var(--oly-ease), visibility .35s; font-family: var(--oly-sans); }
.oly-visionneuse.is-open { opacity: 1; visibility: visible; }
.oly-visionneuse img { max-width: 100%; max-height: calc(100vh - 170px); object-fit: contain; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.oly-visionneuse__legende { display: flex; gap: 24px; align-items: baseline; font-size: .95rem; color: var(--oly-sable); }
.oly-visionneuse__compteur { font-family: var(--oly-serif); color: var(--oly-travertin); }
.oly-visionneuse button { position: absolute; width: 52px; height: 52px; border: 1px solid rgba(243,236,225,.4); border-radius: 50%; background: transparent; color: var(--oly-pierre); font-size: 22px; line-height: 1; cursor: pointer; transition: background-color .3s, color .3s; }
.oly-visionneuse button:hover { background: var(--oly-pierre); color: var(--oly-nuit); }
.oly-visionneuse__fermer { top: 18px; right: 18px; }
.oly-visionneuse__prec { left: 14px; top: 50%; margin-top: -26px; }
.oly-visionneuse__suiv { right: 14px; top: 50%; margin-top: -26px; }
@media (max-width: 760px) {
  .oly-visionneuse { padding: 64px 12px 90px; }
  .oly-visionneuse__prec, .oly-visionneuse__suiv { top: auto; bottom: 18px; margin-top: 0; }
  .oly-visionneuse__prec { left: calc(50% - 64px); }
  .oly-visionneuse__suiv { right: calc(50% - 64px); }
}

/* =========================================================
   BANDEAU FINAL (appel à réserver)
   ========================================================= */
.oly-cta-final { background: var(--oly-nuit); color: var(--oly-sable); padding: clamp(80px, 10vw, 140px) 0; text-align: center; }
.oly-cta-final .oly-display { color: var(--oly-pierre); }
.oly-cta-final p { margin: 20px auto 0; max-width: 30em; }
.oly-cta-final .oly-hero__ctas { margin-top: 36px; }

/* =========================================================
   MOBILE : boutons et liens centrés
   ========================================================= */
@media (max-width: 860px) {
  .oly .oly-btn { display: flex; width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto; text-align: center; }
  .oly-barre-resa .oly-btn { width: auto; }
  .oly-actions { flex-direction: column; justify-content: center; }
  .oly-suite--gauche { text-align: center; }
  .oly-carte .oly-btn, .oly-actions .oly-btn { margin-left: auto; margin-right: auto; }
}

/* =========================================================
   MOUVEMENT RÉDUIT
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .oly *, .oly *::before, .oly *::after { transition-duration: .01ms !important; animation: none !important; transition-delay: 0s !important; }
  .oly-js .oly-hero__photo { clip-path: none; }
}