  :root {
    --zl-speed: 4.5s;        /* durée de l'animation (jouée une seule fois) */
    --zl-red: #E3202C;
    --zl-dark: #2B2C31;
  }

  /* ===== Écran de lancement ===== */
  .zerd-loader { width: 380px; max-width: 85vw; transition: opacity .4s ease; }
  .zerd-loader.is-hidden { opacity: 0; pointer-events: none; }
  .zerd-loader svg { display: block; width: 100%; height: auto; overflow: visible; }

  /* une seule lecture, l'état final (logo complet) reste affiché */
  .zerd-loader * {
    animation-duration: var(--zl-speed);
    animation-iteration-count: 1;
    animation-fill-mode: both;
    animation-timing-function: cubic-bezier(.65,0,.35,1);
  }

  /* --- 1. Les 4 points : rouge, noir, rouge, noir en carré → cercle qui tourne → départ des lettres --- */
  .zerd-loader .dot { transform-box: fill-box; transform-origin: center; animation-timing-function: linear; }
  .zerd-loader .dot.red  { fill: var(--zl-red); }
  .zerd-loader .dot.dark { fill: var(--zl-dark); }
  .zerd-loader .dot:nth-child(1) { animation-name: zl-dot0; }
  @keyframes zl-dot0 {
    0.00% { transform: translate(150.2px,-89.8px) scale(0.000); opacity: 0.00; }
    0.33% { transform: translate(150.2px,-89.8px) scale(0.119); opacity: 0.11; }
    0.67% { transform: translate(150.2px,-89.8px) scale(0.242); opacity: 0.23; }
    1.00% { transform: translate(150.2px,-89.8px) scale(0.361); opacity: 0.35; }
    1.33% { transform: translate(150.2px,-89.8px) scale(0.480); opacity: 0.46; }
    1.67% { transform: translate(150.2px,-89.8px) scale(0.603); opacity: 0.58; }
    2.00% { transform: translate(150.2px,-89.8px) scale(0.722); opacity: 0.69; }
    2.33% { transform: translate(150.2px,-89.8px) scale(0.841); opacity: 0.81; }
    2.67% { transform: translate(150.2px,-89.8px) scale(0.964); opacity: 0.93; }
    3.00% { transform: translate(150.2px,-89.8px) scale(1.083); opacity: 1.00; }
    3.33% { transform: translate(150.2px,-89.8px) scale(1.203); opacity: 1.00; }
    3.67% { transform: translate(150.2px,-89.8px) scale(1.227); opacity: 1.00; }
    4.00% { transform: translate(150.2px,-89.8px) scale(1.192); opacity: 1.00; }
    4.33% { transform: translate(150.2px,-89.8px) scale(1.156); opacity: 1.00; }
    4.67% { transform: translate(150.2px,-89.8px) scale(1.119); opacity: 1.00; }
    5.00% { transform: translate(150.2px,-89.8px) scale(1.083); opacity: 1.00; }
    5.33% { transform: translate(150.2px,-89.8px) scale(1.048); opacity: 1.00; }
    5.67% { transform: translate(150.2px,-89.8px) scale(1.011); opacity: 1.00; }
    6.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    6.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    6.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    7.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    7.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    7.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    8.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    8.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    8.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    9.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    9.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    9.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    10.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    10.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    10.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    11.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    11.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    11.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    12.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    12.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    12.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    13.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    13.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    13.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    14.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    14.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    14.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    15.00% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    15.33% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    15.67% { transform: translate(150.2px,-89.8px) scale(1.000); opacity: 1.00; }
    16.00% { transform: translate(150.4px,-89.8px) scale(1.000); opacity: 1.00; }
    16.33% { transform: translate(151.0px,-89.8px) scale(1.000); opacity: 1.00; }
    16.67% { transform: translate(152.3px,-89.8px) scale(1.000); opacity: 1.00; }
    17.00% { transform: translate(154.4px,-89.8px) scale(1.000); opacity: 1.00; }
    17.33% { transform: translate(157.5px,-89.8px) scale(1.000); opacity: 1.00; }
    17.67% { transform: translate(162.1px,-89.8px) scale(1.000); opacity: 1.00; }
    18.00% { transform: translate(168.0px,-89.8px) scale(1.000); opacity: 1.00; }
    18.33% { transform: translate(175.6px,-89.8px) scale(1.000); opacity: 1.00; }
    18.67% { transform: translate(185.4px,-89.8px) scale(1.000); opacity: 1.00; }
    19.00% { transform: translate(197.2px,-89.8px) scale(1.000); opacity: 1.00; }
    19.33% { transform: translate(211.2px,-89.8px) scale(1.000); opacity: 1.00; }
    19.67% { transform: translate(228.4px,-89.8px) scale(1.000); opacity: 1.00; }
    20.00% { transform: translate(247.5px,-89.8px) scale(1.000); opacity: 1.00; }
    20.33% { transform: translate(264.8px,-89.8px) scale(1.000); opacity: 1.00; }
    20.67% { transform: translate(279.9px,-89.8px) scale(1.000); opacity: 1.00; }
    21.00% { transform: translate(292.1px,-89.8px) scale(1.000); opacity: 1.00; }
    21.33% { transform: translate(302.2px,-89.8px) scale(1.000); opacity: 1.00; }
    21.67% { transform: translate(310.5px,-89.8px) scale(1.000); opacity: 1.00; }
    22.00% { transform: translate(316.8px,-89.8px) scale(1.000); opacity: 1.00; }
    22.33% { transform: translate(321.5px,-89.8px) scale(1.000); opacity: 1.00; }
    22.67% { transform: translate(325.0px,-89.8px) scale(1.000); opacity: 1.00; }
    23.00% { transform: translate(327.3px,-89.8px) scale(1.000); opacity: 1.00; }
    23.33% { transform: translate(328.7px,-89.8px) scale(1.000); opacity: 1.00; }
    23.67% { transform: translate(329.5px,-89.8px) scale(1.000); opacity: 1.00; }
    24.00% { transform: translate(329.8px,-89.8px) scale(1.000); opacity: 1.00; }
    24.33% { transform: translate(329.8px,-89.8px) scale(1.000); opacity: 1.00; }
    24.67% { transform: translate(329.8px,-89.8px) scale(1.000); opacity: 1.00; }
    25.00% { transform: translate(329.8px,-89.6px) scale(1.000); opacity: 1.00; }
    25.33% { transform: translate(330.0px,-89.1px) scale(1.000); opacity: 1.00; }
    25.67% { transform: translate(330.2px,-88.0px) scale(1.000); opacity: 1.00; }
    26.00% { transform: translate(330.5px,-86.3px) scale(1.000); opacity: 1.00; }
    26.33% { transform: translate(331.0px,-83.7px) scale(1.000); opacity: 1.00; }
    26.67% { transform: translate(331.6px,-80.0px) scale(1.000); opacity: 1.00; }
    27.00% { transform: translate(332.1px,-75.3px) scale(1.000); opacity: 1.00; }
    27.33% { transform: translate(332.5px,-69.3px) scale(1.000); opacity: 1.00; }
    27.67% { transform: translate(332.7px,-61.8px) scale(1.000); opacity: 1.00; }
    28.00% { transform: translate(333.6px,-54.0px) scale(1.000); opacity: 1.00; }
    28.33% { transform: translate(335.1px,-45.4px) scale(1.000); opacity: 1.00; }
    28.67% { transform: translate(337.1px,-35.4px) scale(1.000); opacity: 1.00; }
    29.00% { transform: translate(338.9px,-24.5px) scale(1.000); opacity: 1.00; }
    29.33% { transform: translate(340.3px,-11.9px) scale(1.000); opacity: 1.00; }
    29.67% { transform: translate(340.4px,2.9px) scale(1.000); opacity: 1.00; }
    30.00% { transform: translate(338.3px,18.9px) scale(1.000); opacity: 1.00; }
    30.33% { transform: translate(333.2px,36.3px) scale(1.000); opacity: 1.00; }
    30.67% { transform: translate(323.6px,54.8px) scale(1.000); opacity: 1.00; }
    31.00% { transform: translate(309.2px,72.1px) scale(1.000); opacity: 1.00; }
    31.33% { transform: translate(289.3px,87.0px) scale(1.000); opacity: 1.00; }
    31.67% { transform: translate(263.1px,97.3px) scale(1.000); opacity: 1.00; }
    32.00% { transform: translate(233.2px,99.8px) scale(1.000); opacity: 1.00; }
    32.33% { transform: translate(201.5px,92.3px) scale(1.000); opacity: 1.00; }
    32.67% { transform: translate(170.9px,72.3px) scale(1.000); opacity: 1.00; }
    33.00% { transform: translate(148.8px,40.9px) scale(1.000); opacity: 1.00; }
    33.33% { transform: translate(140.0px,0.4px) scale(1.000); opacity: 1.00; }
    33.67% { transform: translate(148.9px,-41.3px) scale(1.000); opacity: 1.00; }
    34.00% { transform: translate(171.2px,-72.5px) scale(1.000); opacity: 1.00; }
    34.33% { transform: translate(200.8px,-92.0px) scale(1.000); opacity: 1.00; }
    34.67% { transform: translate(233.6px,-99.8px) scale(1.000); opacity: 1.00; }
    35.00% { transform: translate(263.4px,-97.2px) scale(1.000); opacity: 1.00; }
    35.33% { transform: translate(288.9px,-87.3px) scale(1.000); opacity: 1.00; }
    35.67% { transform: translate(309.4px,-72.0px) scale(1.000); opacity: 1.00; }
    36.00% { transform: translate(323.7px,-54.6px) scale(1.000); opacity: 1.00; }
    36.33% { transform: translate(333.0px,-36.6px) scale(1.000); opacity: 1.00; }
    36.67% { transform: translate(338.2px,-18.7px) scale(1.000); opacity: 1.00; }
    37.00% { transform: translate(340.0px,-2.7px) scale(1.000); opacity: 1.00; }
    37.33% { transform: translate(339.3px,11.5px) scale(1.000); opacity: 1.00; }
    37.67% { transform: translate(337.1px,24.1px) scale(1.000); opacity: 1.00; }
    38.00% { transform: translate(333.9px,34.4px) scale(1.000); opacity: 1.00; }
    38.33% { transform: translate(330.3px,42.9px) scale(1.000); opacity: 1.00; }
    38.67% { transform: translate(326.6px,50.0px) scale(1.000); opacity: 1.00; }
    39.00% { transform: translate(323.2px,55.5px) scale(1.000); opacity: 1.00; }
    39.33% { transform: translate(320.1px,59.9px) scale(1.000); opacity: 1.00; }
    39.67% { transform: translate(317.4px,63.3px) scale(1.000); opacity: 1.00; }
    40.00% { transform: translate(315.3px,65.8px) scale(1.000); opacity: 1.00; }
    40.33% { transform: translate(313.6px,67.7px) scale(1.000); opacity: 1.00; }
    40.67% { transform: translate(312.4px,69.0px) scale(1.000); opacity: 1.00; }
    41.00% { transform: translate(311.6px,69.8px) scale(1.000); opacity: 1.00; }
    41.33% { transform: translate(311.1px,70.4px) scale(1.000); opacity: 1.00; }
    41.67% { transform: translate(310.8px,70.6px) scale(1.000); opacity: 1.00; }
    42.00% { transform: translate(310.7px,70.7px) scale(1.000); opacity: 1.00; }
    42.33% { transform: translate(310.7px,70.7px) scale(1.000); opacity: 1.00; }
    42.67% { transform: translate(310.5px,70.6px) scale(1.000); opacity: 1.00; }
    43.00% { transform: translate(309.2px,70.2px) scale(0.999); opacity: 1.00; }
    43.33% { transform: translate(305.9px,68.9px) scale(0.996); opacity: 1.00; }
    43.67% { transform: translate(299.3px,66.5px) scale(0.990); opacity: 1.00; }
    44.00% { transform: translate(288.9px,62.7px) scale(0.981); opacity: 1.00; }
    44.33% { transform: translate(273.4px,57.1px) scale(0.967); opacity: 1.00; }
    44.67% { transform: translate(251.3px,49.0px) scale(0.948); opacity: 1.00; }
    45.00% { transform: translate(222.8px,38.5px) scale(0.923); opacity: 1.00; }
    45.33% { transform: translate(186.3px,25.2px) scale(0.891); opacity: 1.00; }
    45.67% { transform: translate(139.4px,8.0px) scale(0.850); opacity: 1.00; }
    46.00% { transform: translate(83.9px,-12.3px) scale(0.801); opacity: 1.00; }
    46.33% { transform: translate(20.7px,-35.5px) scale(0.745); opacity: 1.00; }
    46.67% { transform: translate(-35.6px,-56.1px) scale(0.696); opacity: 1.00; }
    47.00% { transform: translate(-80.3px,-72.5px) scale(0.657); opacity: 1.00; }
    47.33% { transform: translate(-116.2px,-85.6px) scale(0.625); opacity: 1.00; }
    47.67% { transform: translate(-145.0px,-96.1px) scale(0.600); opacity: 1.00; }
    48.00% { transform: translate(-166.0px,-103.8px) scale(0.582); opacity: 1.00; }
    48.33% { transform: translate(-181.0px,-109.3px) scale(0.568); opacity: 1.00; }
    48.67% { transform: translate(-191.4px,-113.1px) scale(0.559); opacity: 1.00; }
    49.00% { transform: translate(-197.5px,-115.4px) scale(0.554); opacity: 1.00; }
    49.33% { transform: translate(-200.6px,-116.5px) scale(0.551); opacity: 1.00; }
    49.67% { transform: translate(-201.8px,-116.9px) scale(0.550); opacity: 1.00; }
    50.00% { transform: translate(-202.0px,-117.0px) scale(0.550); opacity: 1.00; }
    50.33% { transform: translate(-202.0px,-117.0px) scale(0.479); opacity: 0.87; }
    50.67% { transform: translate(-202.0px,-117.0px) scale(0.406); opacity: 0.74; }
    51.00% { transform: translate(-202.0px,-117.0px) scale(0.335); opacity: 0.61; }
    51.33% { transform: translate(-202.0px,-117.0px) scale(0.265); opacity: 0.48; }
    51.67% { transform: translate(-202.0px,-117.0px) scale(0.192); opacity: 0.35; }
    52.00% { transform: translate(-202.0px,-117.0px) scale(0.121); opacity: 0.22; }
    52.33% { transform: translate(-202.0px,-117.0px) scale(0.050); opacity: 0.09; }
    52.67% { transform: translate(-202.0px,-117.0px) scale(0.000); opacity: 0.00; }
    53.00% { transform: translate(-202.0px,-117.0px) scale(0.000); opacity: 0.00; }
    100.00% { transform: translate(-202.0px,-117.0px) scale(0.000); opacity: 0.00; }
  }
  .zerd-loader .dot:nth-child(2) { animation-name: zl-dot1; }
  @keyframes zl-dot1 {
    0.00% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    0.33% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    0.67% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    1.00% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    1.33% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    1.67% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    2.00% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    2.33% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    2.67% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    3.00% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    3.33% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    3.67% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    4.00% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    4.33% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    4.67% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    5.00% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    5.33% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    5.67% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    6.00% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    6.33% { transform: translate(169.8px,89.8px) scale(0.000); opacity: 0.00; }
    6.67% { transform: translate(169.8px,89.8px) scale(0.094); opacity: 0.09; }
    7.00% { transform: translate(169.8px,89.8px) scale(0.213); opacity: 0.20; }
    7.33% { transform: translate(169.8px,89.8px) scale(0.332); opacity: 0.32; }
    7.67% { transform: translate(169.8px,89.8px) scale(0.455); opacity: 0.44; }
    8.00% { transform: translate(169.8px,89.8px) scale(0.574); opacity: 0.55; }
    8.33% { transform: translate(169.8px,89.8px) scale(0.693); opacity: 0.67; }
    8.67% { transform: translate(169.8px,89.8px) scale(0.816); opacity: 0.78; }
    9.00% { transform: translate(169.8px,89.8px) scale(0.935); opacity: 0.90; }
    9.33% { transform: translate(169.8px,89.8px) scale(1.054); opacity: 1.00; }
    9.67% { transform: translate(169.8px,89.8px) scale(1.177); opacity: 1.00; }
    10.00% { transform: translate(169.8px,89.8px) scale(1.236); opacity: 1.00; }
    10.33% { transform: translate(169.8px,89.8px) scale(1.200); opacity: 1.00; }
    10.67% { transform: translate(169.8px,89.8px) scale(1.164); opacity: 1.00; }
    11.00% { transform: translate(169.8px,89.8px) scale(1.128); opacity: 1.00; }
    11.33% { transform: translate(169.8px,89.8px) scale(1.092); opacity: 1.00; }
    11.67% { transform: translate(169.8px,89.8px) scale(1.055); opacity: 1.00; }
    12.00% { transform: translate(169.8px,89.8px) scale(1.019); opacity: 1.00; }
    12.33% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    12.67% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    13.00% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    13.33% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    13.67% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    14.00% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    14.33% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    14.67% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    15.00% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    15.33% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    15.67% { transform: translate(169.8px,89.8px) scale(1.000); opacity: 1.00; }
    16.00% { transform: translate(169.6px,89.8px) scale(1.000); opacity: 1.00; }
    16.33% { transform: translate(169.0px,89.8px) scale(1.000); opacity: 1.00; }
    16.67% { transform: translate(167.7px,89.8px) scale(1.000); opacity: 1.00; }
    17.00% { transform: translate(165.6px,89.8px) scale(1.000); opacity: 1.00; }
    17.33% { transform: translate(162.5px,89.8px) scale(1.000); opacity: 1.00; }
    17.67% { transform: translate(157.9px,89.8px) scale(1.000); opacity: 1.00; }
    18.00% { transform: translate(152.0px,89.8px) scale(1.000); opacity: 1.00; }
    18.33% { transform: translate(144.4px,89.8px) scale(1.000); opacity: 1.00; }
    18.67% { transform: translate(134.6px,89.8px) scale(1.000); opacity: 1.00; }
    19.00% { transform: translate(122.8px,89.8px) scale(1.000); opacity: 1.00; }
    19.33% { transform: translate(108.8px,89.8px) scale(1.000); opacity: 1.00; }
    19.67% { transform: translate(91.6px,89.8px) scale(1.000); opacity: 1.00; }
    20.00% { transform: translate(72.5px,89.8px) scale(1.000); opacity: 1.00; }
    20.33% { transform: translate(55.2px,89.8px) scale(1.000); opacity: 1.00; }
    20.67% { transform: translate(40.1px,89.8px) scale(1.000); opacity: 1.00; }
    21.00% { transform: translate(27.9px,89.8px) scale(1.000); opacity: 1.00; }
    21.33% { transform: translate(17.8px,89.8px) scale(1.000); opacity: 1.00; }
    21.67% { transform: translate(9.5px,89.8px) scale(1.000); opacity: 1.00; }
    22.00% { transform: translate(3.2px,89.8px) scale(1.000); opacity: 1.00; }
    22.33% { transform: translate(-1.5px,89.8px) scale(1.000); opacity: 1.00; }
    22.67% { transform: translate(-5.0px,89.8px) scale(1.000); opacity: 1.00; }
    23.00% { transform: translate(-7.3px,89.8px) scale(1.000); opacity: 1.00; }
    23.33% { transform: translate(-8.7px,89.8px) scale(1.000); opacity: 1.00; }
    23.67% { transform: translate(-9.5px,89.8px) scale(1.000); opacity: 1.00; }
    24.00% { transform: translate(-9.8px,89.8px) scale(1.000); opacity: 1.00; }
    24.33% { transform: translate(-9.8px,89.8px) scale(1.000); opacity: 1.00; }
    24.67% { transform: translate(-9.8px,89.8px) scale(1.000); opacity: 1.00; }
    25.00% { transform: translate(-9.8px,89.6px) scale(1.000); opacity: 1.00; }
    25.33% { transform: translate(-10.0px,89.1px) scale(1.000); opacity: 1.00; }
    25.67% { transform: translate(-10.2px,88.0px) scale(1.000); opacity: 1.00; }
    26.00% { transform: translate(-10.5px,86.3px) scale(1.000); opacity: 1.00; }
    26.33% { transform: translate(-11.0px,83.7px) scale(1.000); opacity: 1.00; }
    26.67% { transform: translate(-11.6px,80.0px) scale(1.000); opacity: 1.00; }
    27.00% { transform: translate(-12.1px,75.3px) scale(1.000); opacity: 1.00; }
    27.33% { transform: translate(-12.5px,69.3px) scale(1.000); opacity: 1.00; }
    27.67% { transform: translate(-12.7px,61.8px) scale(1.000); opacity: 1.00; }
    28.00% { transform: translate(-13.6px,54.0px) scale(1.000); opacity: 1.00; }
    28.33% { transform: translate(-15.1px,45.4px) scale(1.000); opacity: 1.00; }
    28.67% { transform: translate(-17.1px,35.4px) scale(1.000); opacity: 1.00; }
    29.00% { transform: translate(-18.9px,24.5px) scale(1.000); opacity: 1.00; }
    29.33% { transform: translate(-20.3px,11.9px) scale(1.000); opacity: 1.00; }
    29.67% { transform: translate(-20.4px,-2.9px) scale(1.000); opacity: 1.00; }
    30.00% { transform: translate(-18.3px,-18.9px) scale(1.000); opacity: 1.00; }
    30.33% { transform: translate(-13.2px,-36.3px) scale(1.000); opacity: 1.00; }
    30.67% { transform: translate(-3.6px,-54.8px) scale(1.000); opacity: 1.00; }
    31.00% { transform: translate(10.8px,-72.1px) scale(1.000); opacity: 1.00; }
    31.33% { transform: translate(30.7px,-87.0px) scale(1.000); opacity: 1.00; }
    31.67% { transform: translate(56.9px,-97.3px) scale(1.000); opacity: 1.00; }
    32.00% { transform: translate(86.8px,-99.8px) scale(1.000); opacity: 1.00; }
    32.33% { transform: translate(118.5px,-92.3px) scale(1.000); opacity: 1.00; }
    32.67% { transform: translate(149.1px,-72.3px) scale(1.000); opacity: 1.00; }
    33.00% { transform: translate(171.2px,-40.9px) scale(1.000); opacity: 1.00; }
    33.33% { transform: translate(180.0px,-0.4px) scale(1.000); opacity: 1.00; }
    33.67% { transform: translate(171.1px,41.3px) scale(1.000); opacity: 1.00; }
    34.00% { transform: translate(148.8px,72.5px) scale(1.000); opacity: 1.00; }
    34.33% { transform: translate(119.2px,92.0px) scale(1.000); opacity: 1.00; }
    34.67% { transform: translate(86.4px,99.8px) scale(1.000); opacity: 1.00; }
    35.00% { transform: translate(56.6px,97.2px) scale(1.000); opacity: 1.00; }
    35.33% { transform: translate(31.1px,87.3px) scale(1.000); opacity: 1.00; }
    35.67% { transform: translate(10.6px,72.0px) scale(1.000); opacity: 1.00; }
    36.00% { transform: translate(-3.7px,54.6px) scale(1.000); opacity: 1.00; }
    36.33% { transform: translate(-13.0px,36.6px) scale(1.000); opacity: 1.00; }
    36.67% { transform: translate(-18.2px,18.7px) scale(1.000); opacity: 1.00; }
    37.00% { transform: translate(-20.0px,2.7px) scale(1.000); opacity: 1.00; }
    37.33% { transform: translate(-19.3px,-11.5px) scale(1.000); opacity: 1.00; }
    37.67% { transform: translate(-17.1px,-24.1px) scale(1.000); opacity: 1.00; }
    38.00% { transform: translate(-13.9px,-34.4px) scale(1.000); opacity: 1.00; }
    38.33% { transform: translate(-10.3px,-42.9px) scale(1.000); opacity: 1.00; }
    38.67% { transform: translate(-6.6px,-50.0px) scale(1.000); opacity: 1.00; }
    39.00% { transform: translate(-3.2px,-55.5px) scale(1.000); opacity: 1.00; }
    39.33% { transform: translate(-0.1px,-59.9px) scale(1.000); opacity: 1.00; }
    39.67% { transform: translate(2.6px,-63.3px) scale(1.000); opacity: 1.00; }
    40.00% { transform: translate(4.7px,-65.8px) scale(1.000); opacity: 1.00; }
    40.33% { transform: translate(6.4px,-67.7px) scale(1.000); opacity: 1.00; }
    40.67% { transform: translate(7.6px,-69.0px) scale(1.000); opacity: 1.00; }
    41.00% { transform: translate(8.4px,-69.8px) scale(1.000); opacity: 1.00; }
    41.33% { transform: translate(8.9px,-70.4px) scale(1.000); opacity: 1.00; }
    41.67% { transform: translate(9.2px,-70.6px) scale(1.000); opacity: 1.00; }
    42.00% { transform: translate(9.3px,-70.7px) scale(1.000); opacity: 1.00; }
    42.33% { transform: translate(9.3px,-70.7px) scale(1.000); opacity: 1.00; }
    42.67% { transform: translate(9.2px,-70.7px) scale(1.000); opacity: 1.00; }
    43.00% { transform: translate(8.8px,-70.6px) scale(0.999); opacity: 1.00; }
    43.33% { transform: translate(7.9px,-70.2px) scale(0.996); opacity: 1.00; }
    43.67% { transform: translate(5.9px,-69.6px) scale(0.990); opacity: 1.00; }
    44.00% { transform: translate(2.8px,-68.6px) scale(0.981); opacity: 1.00; }
    44.33% { transform: translate(-1.9px,-67.0px) scale(0.967); opacity: 1.00; }
    44.67% { transform: translate(-8.5px,-64.8px) scale(0.948); opacity: 1.00; }
    45.00% { transform: translate(-17.0px,-62.0px) scale(0.923); opacity: 1.00; }
    45.33% { transform: translate(-27.9px,-58.4px) scale(0.891); opacity: 1.00; }
    45.67% { transform: translate(-41.9px,-53.8px) scale(0.850); opacity: 1.00; }
    46.00% { transform: translate(-58.5px,-48.3px) scale(0.801); opacity: 1.00; }
    46.33% { transform: translate(-77.4px,-42.0px) scale(0.745); opacity: 1.00; }
    46.67% { transform: translate(-94.3px,-36.5px) scale(0.696); opacity: 1.00; }
    47.00% { transform: translate(-107.6px,-32.0px) scale(0.657); opacity: 1.00; }
    47.33% { transform: translate(-118.4px,-28.5px) scale(0.625); opacity: 1.00; }
    47.67% { transform: translate(-127.0px,-25.6px) scale(0.600); opacity: 1.00; }
    48.00% { transform: translate(-133.2px,-23.6px) scale(0.582); opacity: 1.00; }
    48.33% { transform: translate(-137.7px,-22.1px) scale(0.568); opacity: 1.00; }
    48.67% { transform: translate(-140.8px,-21.0px) scale(0.559); opacity: 1.00; }
    49.00% { transform: translate(-142.7px,-20.4px) scale(0.554); opacity: 1.00; }
    49.33% { transform: translate(-143.6px,-20.1px) scale(0.551); opacity: 1.00; }
    49.67% { transform: translate(-144.0px,-20.0px) scale(0.550); opacity: 1.00; }
    50.00% { transform: translate(-144.0px,-20.0px) scale(0.550); opacity: 1.00; }
    50.33% { transform: translate(-144.0px,-20.0px) scale(0.479); opacity: 0.87; }
    50.67% { transform: translate(-144.0px,-20.0px) scale(0.406); opacity: 0.74; }
    51.00% { transform: translate(-144.0px,-20.0px) scale(0.335); opacity: 0.61; }
    51.33% { transform: translate(-144.0px,-20.0px) scale(0.265); opacity: 0.48; }
    51.67% { transform: translate(-144.0px,-20.0px) scale(0.192); opacity: 0.35; }
    52.00% { transform: translate(-144.0px,-20.0px) scale(0.121); opacity: 0.22; }
    52.33% { transform: translate(-144.0px,-20.0px) scale(0.050); opacity: 0.09; }
    52.67% { transform: translate(-144.0px,-20.0px) scale(0.000); opacity: 0.00; }
    53.00% { transform: translate(-144.0px,-20.0px) scale(0.000); opacity: 0.00; }
    100.00% { transform: translate(-144.0px,-20.0px) scale(0.000); opacity: 0.00; }
  }
  .zerd-loader .dot:nth-child(3) { animation-name: zl-dot2; }
  @keyframes zl-dot2 {
    0.00% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    0.33% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    0.67% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    1.00% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    1.33% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    1.67% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    2.00% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    2.33% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    2.67% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    3.00% { transform: translate(9.8px,-89.8px) scale(0.000); opacity: 0.00; }
    3.33% { transform: translate(9.8px,-89.8px) scale(0.045); opacity: 0.04; }
    3.67% { transform: translate(9.8px,-89.8px) scale(0.168); opacity: 0.16; }
    4.00% { transform: translate(9.8px,-89.8px) scale(0.287); opacity: 0.28; }
    4.33% { transform: translate(9.8px,-89.8px) scale(0.406); opacity: 0.39; }
    4.67% { transform: translate(9.8px,-89.8px) scale(0.529); opacity: 0.51; }
    5.00% { transform: translate(9.8px,-89.8px) scale(0.648); opacity: 0.62; }
    5.33% { transform: translate(9.8px,-89.8px) scale(0.767); opacity: 0.74; }
    5.67% { transform: translate(9.8px,-89.8px) scale(0.890); opacity: 0.85; }
    6.00% { transform: translate(9.8px,-89.8px) scale(1.009); opacity: 0.97; }
    6.33% { transform: translate(9.8px,-89.8px) scale(1.128); opacity: 1.00; }
    6.67% { transform: translate(9.8px,-89.8px) scale(1.250); opacity: 1.00; }
    7.00% { transform: translate(9.8px,-89.8px) scale(1.214); opacity: 1.00; }
    7.33% { transform: translate(9.8px,-89.8px) scale(1.178); opacity: 1.00; }
    7.67% { transform: translate(9.8px,-89.8px) scale(1.141); opacity: 1.00; }
    8.00% { transform: translate(9.8px,-89.8px) scale(1.106); opacity: 1.00; }
    8.33% { transform: translate(9.8px,-89.8px) scale(1.070); opacity: 1.00; }
    8.67% { transform: translate(9.8px,-89.8px) scale(1.033); opacity: 1.00; }
    9.00% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    9.33% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    9.67% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    10.00% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    10.33% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    10.67% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    11.00% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    11.33% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    11.67% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    12.00% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    12.33% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    12.67% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    13.00% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    13.33% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    13.67% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    14.00% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    14.33% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    14.67% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    15.00% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    15.33% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    15.67% { transform: translate(9.8px,-89.8px) scale(1.000); opacity: 1.00; }
    16.00% { transform: translate(9.8px,-89.6px) scale(1.000); opacity: 1.00; }
    16.33% { transform: translate(9.8px,-89.0px) scale(1.000); opacity: 1.00; }
    16.67% { transform: translate(9.8px,-87.7px) scale(1.000); opacity: 1.00; }
    17.00% { transform: translate(9.8px,-85.6px) scale(1.000); opacity: 1.00; }
    17.33% { transform: translate(9.8px,-82.5px) scale(1.000); opacity: 1.00; }
    17.67% { transform: translate(9.8px,-77.9px) scale(1.000); opacity: 1.00; }
    18.00% { transform: translate(9.8px,-72.0px) scale(1.000); opacity: 1.00; }
    18.33% { transform: translate(9.8px,-64.4px) scale(1.000); opacity: 1.00; }
    18.67% { transform: translate(9.8px,-54.6px) scale(1.000); opacity: 1.00; }
    19.00% { transform: translate(9.8px,-42.8px) scale(1.000); opacity: 1.00; }
    19.33% { transform: translate(9.8px,-28.8px) scale(1.000); opacity: 1.00; }
    19.67% { transform: translate(9.8px,-11.6px) scale(1.000); opacity: 1.00; }
    20.00% { transform: translate(9.8px,7.5px) scale(1.000); opacity: 1.00; }
    20.33% { transform: translate(9.8px,24.8px) scale(1.000); opacity: 1.00; }
    20.67% { transform: translate(9.8px,39.9px) scale(1.000); opacity: 1.00; }
    21.00% { transform: translate(9.8px,52.1px) scale(1.000); opacity: 1.00; }
    21.33% { transform: translate(9.8px,62.2px) scale(1.000); opacity: 1.00; }
    21.67% { transform: translate(9.8px,70.5px) scale(1.000); opacity: 1.00; }
    22.00% { transform: translate(9.8px,76.8px) scale(1.000); opacity: 1.00; }
    22.33% { transform: translate(9.8px,81.5px) scale(1.000); opacity: 1.00; }
    22.67% { transform: translate(9.8px,85.0px) scale(1.000); opacity: 1.00; }
    23.00% { transform: translate(9.8px,87.3px) scale(1.000); opacity: 1.00; }
    23.33% { transform: translate(9.8px,88.7px) scale(1.000); opacity: 1.00; }
    23.67% { transform: translate(9.8px,89.5px) scale(1.000); opacity: 1.00; }
    24.00% { transform: translate(9.8px,89.8px) scale(1.000); opacity: 1.00; }
    24.33% { transform: translate(9.8px,89.8px) scale(1.000); opacity: 1.00; }
    24.67% { transform: translate(9.8px,89.8px) scale(1.000); opacity: 1.00; }
    25.00% { transform: translate(9.6px,89.8px) scale(1.000); opacity: 1.00; }
    25.33% { transform: translate(9.1px,90.0px) scale(1.000); opacity: 1.00; }
    25.67% { transform: translate(8.0px,90.2px) scale(1.000); opacity: 1.00; }
    26.00% { transform: translate(6.3px,90.5px) scale(1.000); opacity: 1.00; }
    26.33% { transform: translate(3.7px,91.0px) scale(1.000); opacity: 1.00; }
    26.67% { transform: translate(0.0px,91.6px) scale(1.000); opacity: 1.00; }
    27.00% { transform: translate(-4.7px,92.1px) scale(1.000); opacity: 1.00; }
    27.33% { transform: translate(-10.7px,92.5px) scale(1.000); opacity: 1.00; }
    27.67% { transform: translate(-18.2px,92.7px) scale(1.000); opacity: 1.00; }
    28.00% { transform: translate(-26.0px,93.6px) scale(1.000); opacity: 1.00; }
    28.33% { transform: translate(-34.6px,95.1px) scale(1.000); opacity: 1.00; }
    28.67% { transform: translate(-44.6px,97.1px) scale(1.000); opacity: 1.00; }
    29.00% { transform: translate(-55.5px,98.9px) scale(1.000); opacity: 1.00; }
    29.33% { transform: translate(-68.1px,100.3px) scale(1.000); opacity: 1.00; }
    29.67% { transform: translate(-82.9px,100.4px) scale(1.000); opacity: 1.00; }
    30.00% { transform: translate(-98.9px,98.3px) scale(1.000); opacity: 1.00; }
    30.33% { transform: translate(-116.3px,93.2px) scale(1.000); opacity: 1.00; }
    30.67% { transform: translate(-134.8px,83.6px) scale(1.000); opacity: 1.00; }
    31.00% { transform: translate(-152.1px,69.2px) scale(1.000); opacity: 1.00; }
    31.33% { transform: translate(-167.0px,49.3px) scale(1.000); opacity: 1.00; }
    31.67% { transform: translate(-177.3px,23.1px) scale(1.000); opacity: 1.00; }
    32.00% { transform: translate(-179.8px,-6.8px) scale(1.000); opacity: 1.00; }
    32.33% { transform: translate(-172.3px,-38.5px) scale(1.000); opacity: 1.00; }
    32.67% { transform: translate(-152.3px,-69.1px) scale(1.000); opacity: 1.00; }
    33.00% { transform: translate(-120.9px,-91.2px) scale(1.000); opacity: 1.00; }
    33.33% { transform: translate(-80.4px,-100.0px) scale(1.000); opacity: 1.00; }
    33.67% { transform: translate(-38.7px,-91.1px) scale(1.000); opacity: 1.00; }
    34.00% { transform: translate(-7.5px,-68.8px) scale(1.000); opacity: 1.00; }
    34.33% { transform: translate(12.0px,-39.2px) scale(1.000); opacity: 1.00; }
    34.67% { transform: translate(19.8px,-6.4px) scale(1.000); opacity: 1.00; }
    35.00% { transform: translate(17.2px,23.4px) scale(1.000); opacity: 1.00; }
    35.33% { transform: translate(7.3px,48.9px) scale(1.000); opacity: 1.00; }
    35.67% { transform: translate(-8.0px,69.4px) scale(1.000); opacity: 1.00; }
    36.00% { transform: translate(-25.4px,83.7px) scale(1.000); opacity: 1.00; }
    36.33% { transform: translate(-43.4px,93.0px) scale(1.000); opacity: 1.00; }
    36.67% { transform: translate(-61.3px,98.2px) scale(1.000); opacity: 1.00; }
    37.00% { transform: translate(-77.3px,100.0px) scale(1.000); opacity: 1.00; }
    37.33% { transform: translate(-91.5px,99.3px) scale(1.000); opacity: 1.00; }
    37.67% { transform: translate(-104.1px,97.1px) scale(1.000); opacity: 1.00; }
    38.00% { transform: translate(-114.4px,93.9px) scale(1.000); opacity: 1.00; }
    38.33% { transform: translate(-122.9px,90.3px) scale(1.000); opacity: 1.00; }
    38.67% { transform: translate(-130.0px,86.6px) scale(1.000); opacity: 1.00; }
    39.00% { transform: translate(-135.5px,83.2px) scale(1.000); opacity: 1.00; }
    39.33% { transform: translate(-139.9px,80.1px) scale(1.000); opacity: 1.00; }
    39.67% { transform: translate(-143.3px,77.4px) scale(1.000); opacity: 1.00; }
    40.00% { transform: translate(-145.8px,75.3px) scale(1.000); opacity: 1.00; }
    40.33% { transform: translate(-147.7px,73.6px) scale(1.000); opacity: 1.00; }
    40.67% { transform: translate(-149.0px,72.4px) scale(1.000); opacity: 1.00; }
    41.00% { transform: translate(-149.8px,71.6px) scale(1.000); opacity: 1.00; }
    41.33% { transform: translate(-150.4px,71.1px) scale(1.000); opacity: 1.00; }
    41.67% { transform: translate(-150.6px,70.8px) scale(1.000); opacity: 1.00; }
    42.00% { transform: translate(-150.7px,70.7px) scale(1.000); opacity: 1.00; }
    42.33% { transform: translate(-150.7px,70.7px) scale(1.000); opacity: 1.00; }
    42.67% { transform: translate(-150.7px,70.7px) scale(1.000); opacity: 1.00; }
    43.00% { transform: translate(-150.5px,70.3px) scale(0.999); opacity: 1.00; }
    43.33% { transform: translate(-150.1px,69.4px) scale(0.996); opacity: 1.00; }
    43.67% { transform: translate(-149.4px,67.6px) scale(0.990); opacity: 1.00; }
    44.00% { transform: translate(-148.1px,64.7px) scale(0.981); opacity: 1.00; }
    44.33% { transform: translate(-146.3px,60.5px) scale(0.967); opacity: 1.00; }
    44.67% { transform: translate(-143.7px,54.4px) scale(0.948); opacity: 1.00; }
    45.00% { transform: translate(-140.3px,46.6px) scale(0.923); opacity: 1.00; }
    45.33% { transform: translate(-136.0px,36.6px) scale(0.891); opacity: 1.00; }
    45.67% { transform: translate(-130.4px,23.7px) scale(0.850); opacity: 1.00; }
    46.00% { transform: translate(-123.9px,8.5px) scale(0.801); opacity: 1.00; }
    46.33% { transform: translate(-116.4px,-8.9px) scale(0.745); opacity: 1.00; }
    46.67% { transform: translate(-109.7px,-24.3px) scale(0.696); opacity: 1.00; }
    47.00% { transform: translate(-104.4px,-36.6px) scale(0.657); opacity: 1.00; }
    47.33% { transform: translate(-100.2px,-46.5px) scale(0.625); opacity: 1.00; }
    47.67% { transform: translate(-96.7px,-54.4px) scale(0.600); opacity: 1.00; }
    48.00% { transform: translate(-94.3px,-60.1px) scale(0.582); opacity: 1.00; }
    48.33% { transform: translate(-92.5px,-64.2px) scale(0.568); opacity: 1.00; }
    48.67% { transform: translate(-91.3px,-67.1px) scale(0.559); opacity: 1.00; }
    49.00% { transform: translate(-90.5px,-68.8px) scale(0.554); opacity: 1.00; }
    49.33% { transform: translate(-90.2px,-69.6px) scale(0.551); opacity: 1.00; }
    49.67% { transform: translate(-90.0px,-70.0px) scale(0.550); opacity: 1.00; }
    50.00% { transform: translate(-90.0px,-70.0px) scale(0.550); opacity: 1.00; }
    50.33% { transform: translate(-90.0px,-70.0px) scale(0.479); opacity: 0.87; }
    50.67% { transform: translate(-90.0px,-70.0px) scale(0.406); opacity: 0.74; }
    51.00% { transform: translate(-90.0px,-70.0px) scale(0.335); opacity: 0.61; }
    51.33% { transform: translate(-90.0px,-70.0px) scale(0.265); opacity: 0.48; }
    51.67% { transform: translate(-90.0px,-70.0px) scale(0.192); opacity: 0.35; }
    52.00% { transform: translate(-90.0px,-70.0px) scale(0.121); opacity: 0.22; }
    52.33% { transform: translate(-90.0px,-70.0px) scale(0.050); opacity: 0.09; }
    52.67% { transform: translate(-90.0px,-70.0px) scale(0.000); opacity: 0.00; }
    53.00% { transform: translate(-90.0px,-70.0px) scale(0.000); opacity: 0.00; }
    100.00% { transform: translate(-90.0px,-70.0px) scale(0.000); opacity: 0.00; }
  }
  .zerd-loader .dot:nth-child(4) { animation-name: zl-dot3; }
  @keyframes zl-dot3 {
    0.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    0.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    0.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    1.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    1.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    1.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    2.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    2.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    2.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    3.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    3.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    3.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    4.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    4.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    4.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    5.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    5.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    5.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    6.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    6.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    6.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    7.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    7.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    7.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    8.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    8.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    8.67% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    9.00% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    9.33% { transform: translate(-329.8px,89.8px) scale(0.000); opacity: 0.00; }
    9.67% { transform: translate(-329.8px,89.8px) scale(0.020); opacity: 0.02; }
    10.00% { transform: translate(-329.8px,89.8px) scale(0.139); opacity: 0.13; }
    10.33% { transform: translate(-329.8px,89.8px) scale(0.258); opacity: 0.25; }
    10.67% { transform: translate(-329.8px,89.8px) scale(0.381); opacity: 0.37; }
    11.00% { transform: translate(-329.8px,89.8px) scale(0.500); opacity: 0.48; }
    11.33% { transform: translate(-329.8px,89.8px) scale(0.619); opacity: 0.59; }
    11.67% { transform: translate(-329.8px,89.8px) scale(0.742); opacity: 0.71; }
    12.00% { transform: translate(-329.8px,89.8px) scale(0.861); opacity: 0.83; }
    12.33% { transform: translate(-329.8px,89.8px) scale(0.980); opacity: 0.94; }
    12.67% { transform: translate(-329.8px,89.8px) scale(1.103); opacity: 1.00; }
    13.00% { transform: translate(-329.8px,89.8px) scale(1.222); opacity: 1.00; }
    13.33% { transform: translate(-329.8px,89.8px) scale(1.223); opacity: 1.00; }
    13.67% { transform: translate(-329.8px,89.8px) scale(1.186); opacity: 1.00; }
    14.00% { transform: translate(-329.8px,89.8px) scale(1.150); opacity: 1.00; }
    14.33% { transform: translate(-329.8px,89.8px) scale(1.114); opacity: 1.00; }
    14.67% { transform: translate(-329.8px,89.8px) scale(1.077); opacity: 1.00; }
    15.00% { transform: translate(-329.8px,89.8px) scale(1.042); opacity: 1.00; }
    15.33% { transform: translate(-329.8px,89.8px) scale(1.006); opacity: 1.00; }
    15.67% { transform: translate(-329.8px,89.8px) scale(1.000); opacity: 1.00; }
    16.00% { transform: translate(-329.8px,89.6px) scale(1.000); opacity: 1.00; }
    16.33% { transform: translate(-329.8px,89.0px) scale(1.000); opacity: 1.00; }
    16.67% { transform: translate(-329.8px,87.7px) scale(1.000); opacity: 1.00; }
    17.00% { transform: translate(-329.8px,85.6px) scale(1.000); opacity: 1.00; }
    17.33% { transform: translate(-329.8px,82.5px) scale(1.000); opacity: 1.00; }
    17.67% { transform: translate(-329.8px,77.9px) scale(1.000); opacity: 1.00; }
    18.00% { transform: translate(-329.8px,72.0px) scale(1.000); opacity: 1.00; }
    18.33% { transform: translate(-329.8px,64.4px) scale(1.000); opacity: 1.00; }
    18.67% { transform: translate(-329.8px,54.6px) scale(1.000); opacity: 1.00; }
    19.00% { transform: translate(-329.8px,42.8px) scale(1.000); opacity: 1.00; }
    19.33% { transform: translate(-329.8px,28.8px) scale(1.000); opacity: 1.00; }
    19.67% { transform: translate(-329.8px,11.6px) scale(1.000); opacity: 1.00; }
    20.00% { transform: translate(-329.8px,-7.5px) scale(1.000); opacity: 1.00; }
    20.33% { transform: translate(-329.8px,-24.8px) scale(1.000); opacity: 1.00; }
    20.67% { transform: translate(-329.8px,-39.9px) scale(1.000); opacity: 1.00; }
    21.00% { transform: translate(-329.8px,-52.1px) scale(1.000); opacity: 1.00; }
    21.33% { transform: translate(-329.8px,-62.2px) scale(1.000); opacity: 1.00; }
    21.67% { transform: translate(-329.8px,-70.5px) scale(1.000); opacity: 1.00; }
    22.00% { transform: translate(-329.8px,-76.8px) scale(1.000); opacity: 1.00; }
    22.33% { transform: translate(-329.8px,-81.5px) scale(1.000); opacity: 1.00; }
    22.67% { transform: translate(-329.8px,-85.0px) scale(1.000); opacity: 1.00; }
    23.00% { transform: translate(-329.8px,-87.3px) scale(1.000); opacity: 1.00; }
    23.33% { transform: translate(-329.8px,-88.7px) scale(1.000); opacity: 1.00; }
    23.67% { transform: translate(-329.8px,-89.5px) scale(1.000); opacity: 1.00; }
    24.00% { transform: translate(-329.8px,-89.8px) scale(1.000); opacity: 1.00; }
    24.33% { transform: translate(-329.8px,-89.8px) scale(1.000); opacity: 1.00; }
    24.67% { transform: translate(-329.8px,-89.8px) scale(1.000); opacity: 1.00; }
    25.00% { transform: translate(-329.6px,-89.8px) scale(1.000); opacity: 1.00; }
    25.33% { transform: translate(-329.1px,-90.0px) scale(1.000); opacity: 1.00; }
    25.67% { transform: translate(-328.0px,-90.2px) scale(1.000); opacity: 1.00; }
    26.00% { transform: translate(-326.3px,-90.5px) scale(1.000); opacity: 1.00; }
    26.33% { transform: translate(-323.7px,-91.0px) scale(1.000); opacity: 1.00; }
    26.67% { transform: translate(-320.0px,-91.6px) scale(1.000); opacity: 1.00; }
    27.00% { transform: translate(-315.3px,-92.1px) scale(1.000); opacity: 1.00; }
    27.33% { transform: translate(-309.3px,-92.5px) scale(1.000); opacity: 1.00; }
    27.67% { transform: translate(-301.8px,-92.7px) scale(1.000); opacity: 1.00; }
    28.00% { transform: translate(-294.0px,-93.6px) scale(1.000); opacity: 1.00; }
    28.33% { transform: translate(-285.4px,-95.1px) scale(1.000); opacity: 1.00; }
    28.67% { transform: translate(-275.4px,-97.1px) scale(1.000); opacity: 1.00; }
    29.00% { transform: translate(-264.5px,-98.9px) scale(1.000); opacity: 1.00; }
    29.33% { transform: translate(-251.9px,-100.3px) scale(1.000); opacity: 1.00; }
    29.67% { transform: translate(-237.1px,-100.4px) scale(1.000); opacity: 1.00; }
    30.00% { transform: translate(-221.1px,-98.3px) scale(1.000); opacity: 1.00; }
    30.33% { transform: translate(-203.7px,-93.2px) scale(1.000); opacity: 1.00; }
    30.67% { transform: translate(-185.2px,-83.6px) scale(1.000); opacity: 1.00; }
    31.00% { transform: translate(-167.9px,-69.2px) scale(1.000); opacity: 1.00; }
    31.33% { transform: translate(-153.0px,-49.3px) scale(1.000); opacity: 1.00; }
    31.67% { transform: translate(-142.7px,-23.1px) scale(1.000); opacity: 1.00; }
    32.00% { transform: translate(-140.2px,6.8px) scale(1.000); opacity: 1.00; }
    32.33% { transform: translate(-147.7px,38.5px) scale(1.000); opacity: 1.00; }
    32.67% { transform: translate(-167.7px,69.1px) scale(1.000); opacity: 1.00; }
    33.00% { transform: translate(-199.1px,91.2px) scale(1.000); opacity: 1.00; }
    33.33% { transform: translate(-239.6px,100.0px) scale(1.000); opacity: 1.00; }
    33.67% { transform: translate(-281.3px,91.1px) scale(1.000); opacity: 1.00; }
    34.00% { transform: translate(-312.5px,68.8px) scale(1.000); opacity: 1.00; }
    34.33% { transform: translate(-332.0px,39.2px) scale(1.000); opacity: 1.00; }
    34.67% { transform: translate(-339.8px,6.4px) scale(1.000); opacity: 1.00; }
    35.00% { transform: translate(-337.2px,-23.4px) scale(1.000); opacity: 1.00; }
    35.33% { transform: translate(-327.3px,-48.9px) scale(1.000); opacity: 1.00; }
    35.67% { transform: translate(-312.0px,-69.4px) scale(1.000); opacity: 1.00; }
    36.00% { transform: translate(-294.6px,-83.7px) scale(1.000); opacity: 1.00; }
    36.33% { transform: translate(-276.6px,-93.0px) scale(1.000); opacity: 1.00; }
    36.67% { transform: translate(-258.7px,-98.2px) scale(1.000); opacity: 1.00; }
    37.00% { transform: translate(-242.7px,-100.0px) scale(1.000); opacity: 1.00; }
    37.33% { transform: translate(-228.5px,-99.3px) scale(1.000); opacity: 1.00; }
    37.67% { transform: translate(-215.9px,-97.1px) scale(1.000); opacity: 1.00; }
    38.00% { transform: translate(-205.6px,-93.9px) scale(1.000); opacity: 1.00; }
    38.33% { transform: translate(-197.1px,-90.3px) scale(1.000); opacity: 1.00; }
    38.67% { transform: translate(-190.0px,-86.6px) scale(1.000); opacity: 1.00; }
    39.00% { transform: translate(-184.5px,-83.2px) scale(1.000); opacity: 1.00; }
    39.33% { transform: translate(-180.1px,-80.1px) scale(1.000); opacity: 1.00; }
    39.67% { transform: translate(-176.7px,-77.4px) scale(1.000); opacity: 1.00; }
    40.00% { transform: translate(-174.2px,-75.3px) scale(1.000); opacity: 1.00; }
    40.33% { transform: translate(-172.3px,-73.6px) scale(1.000); opacity: 1.00; }
    40.67% { transform: translate(-171.0px,-72.4px) scale(1.000); opacity: 1.00; }
    41.00% { transform: translate(-170.2px,-71.6px) scale(1.000); opacity: 1.00; }
    41.33% { transform: translate(-169.6px,-71.1px) scale(1.000); opacity: 1.00; }
    41.67% { transform: translate(-169.4px,-70.8px) scale(1.000); opacity: 1.00; }
    42.00% { transform: translate(-169.3px,-70.7px) scale(1.000); opacity: 1.00; }
    42.33% { transform: translate(-169.3px,-70.7px) scale(1.000); opacity: 1.00; }
    42.67% { transform: translate(-169.2px,-70.7px) scale(1.000); opacity: 1.00; }
    43.00% { transform: translate(-168.9px,-70.7px) scale(0.999); opacity: 1.00; }
    43.33% { transform: translate(-168.1px,-70.7px) scale(0.996); opacity: 1.00; }
    43.67% { transform: translate(-166.4px,-70.7px) scale(0.990); opacity: 1.00; }
    44.00% { transform: translate(-163.7px,-70.7px) scale(0.981); opacity: 1.00; }
    44.33% { transform: translate(-159.7px,-70.7px) scale(0.967); opacity: 1.00; }
    44.67% { transform: translate(-154.1px,-70.6px) scale(0.948); opacity: 1.00; }
    45.00% { transform: translate(-146.8px,-70.6px) scale(0.923); opacity: 1.00; }
    45.33% { transform: translate(-137.4px,-70.5px) scale(0.891); opacity: 1.00; }
    45.67% { transform: translate(-125.4px,-70.5px) scale(0.850); opacity: 1.00; }
    46.00% { transform: translate(-111.2px,-70.4px) scale(0.801); opacity: 1.00; }
    46.33% { transform: translate(-95.0px,-70.3px) scale(0.745); opacity: 1.00; }
    46.67% { transform: translate(-80.6px,-70.2px) scale(0.696); opacity: 1.00; }
    47.00% { transform: translate(-69.2px,-70.2px) scale(0.657); opacity: 1.00; }
    47.33% { transform: translate(-60.0px,-70.1px) scale(0.625); opacity: 1.00; }
    47.67% { transform: translate(-52.6px,-70.1px) scale(0.600); opacity: 1.00; }
    48.00% { transform: translate(-47.2px,-70.0px) scale(0.582); opacity: 1.00; }
    48.33% { transform: translate(-43.4px,-70.0px) scale(0.568); opacity: 1.00; }
    48.67% { transform: translate(-40.7px,-70.0px) scale(0.559); opacity: 1.00; }
    49.00% { transform: translate(-39.2px,-70.0px) scale(0.554); opacity: 1.00; }
    49.33% { transform: translate(-38.3px,-70.0px) scale(0.551); opacity: 1.00; }
    49.67% { transform: translate(-38.0px,-70.0px) scale(0.550); opacity: 1.00; }
    50.00% { transform: translate(-38.0px,-70.0px) scale(0.550); opacity: 1.00; }
    50.33% { transform: translate(-38.0px,-70.0px) scale(0.479); opacity: 0.87; }
    50.67% { transform: translate(-38.0px,-70.0px) scale(0.406); opacity: 0.74; }
    51.00% { transform: translate(-38.0px,-70.0px) scale(0.335); opacity: 0.61; }
    51.33% { transform: translate(-38.0px,-70.0px) scale(0.265); opacity: 0.48; }
    51.67% { transform: translate(-38.0px,-70.0px) scale(0.192); opacity: 0.35; }
    52.00% { transform: translate(-38.0px,-70.0px) scale(0.121); opacity: 0.22; }
    52.33% { transform: translate(-38.0px,-70.0px) scale(0.050); opacity: 0.09; }
    52.67% { transform: translate(-38.0px,-70.0px) scale(0.000); opacity: 0.00; }
    53.00% { transform: translate(-38.0px,-70.0px) scale(0.000); opacity: 0.00; }
    100.00% { transform: translate(-38.0px,-70.0px) scale(0.000); opacity: 0.00; }
  }

  /* --- 2. Lettres : le contour se trace depuis l'endroit où le point s'est posé, puis le dégradé remplit --- */
  .zerd-loader .draw { stroke-width: 3; stroke-dasharray: 1 1; stroke-dashoffset: 1; }
  .zerd-loader .ze { stroke: var(--zl-red);  animation-name: zl-ze; }
  .zerd-loader .rd { stroke: var(--zl-dark); animation-name: zl-rd; }
  @keyframes zl-ze {
    0%, 50%   { stroke-dashoffset: 1; fill-opacity: 0; stroke-opacity: 1; }
    65.4%     { stroke-dashoffset: 0; fill-opacity: 0; }
    73.1%     { fill-opacity: 1; stroke-opacity: 1; }
    78.2%, 100% { stroke-dashoffset: 0; fill-opacity: 1; stroke-opacity: 0; }
  }
  @keyframes zl-rd {
    0%, 51.3% { stroke-dashoffset: 1; fill-opacity: 0; stroke-opacity: 1; }
    66.7%     { stroke-dashoffset: 0; fill-opacity: 0; }
    74.4%     { fill-opacity: 1; stroke-opacity: 1; }
    79.5%, 100% { stroke-dashoffset: 0; fill-opacity: 1; stroke-opacity: 0; }
  }

  /* halo rouge de la jonction Z / E */
  .zerd-loader .halo { animation-name: zl-halo; }
  @keyframes zl-halo { 0%, 66.7% { opacity: 0; } 76.9%, 100% { opacity: .35; } }

  /* --- 3. Courbe lumineuse puis ticket --- */
  .zerd-loader .line { stroke-dasharray: 1 1; stroke-dashoffset: 1; }
  .zerd-loader .arc    { animation-name: zl-arc; }
  .zerd-loader .ticket { animation-name: zl-ticket; }
  .zerd-loader .tail   { animation-name: zl-tail; }
  @keyframes zl-arc    { 0%, 67.9% { stroke-dashoffset: 1; } 79.5%, 100% { stroke-dashoffset: 0; } }
  @keyframes zl-ticket { 0%, 76.9% { stroke-dashoffset: 1; } 85.9%, 100% { stroke-dashoffset: 0; } }
  @keyframes zl-tail   { 0%, 83.3% { stroke-dashoffset: 1; } 89.7%, 100% { stroke-dashoffset: 0; } }

  .zerd-loader .tdots { animation-name: zl-fade; }
  @keyframes zl-fade { 0%, 82.1% { opacity: 0; } 88.5%, 100% { opacity: 1; } }

  .zerd-loader .glint { transform-box: fill-box; transform-origin: center; animation-name: zl-glint; }
  @keyframes zl-glint {
    0%, 82.1% { opacity: 0; transform: scale(.2); }
    89.7%     { opacity: 1; transform: scale(1.5); }
    97.4%, 100% { opacity: 1; transform: scale(1); }
  }

  /* --- 4. « Ciné & Spectacle » --- */
  .zerd-loader .txt { animation-name: zl-txt; }
  @keyframes zl-txt {
    0%, 79.5% { opacity: 0; transform: translateY(14px); }
    89.7%, 100% { opacity: 1; transform: translateY(0); }
  }

  /* --- 5. Si l'appli n'est pas encore prête : le logo « respire » doucement --- */
  .zerd-loader .logo {
    transform-box: fill-box;
    transform-origin: center;
    animation: zl-breathe 1.8s ease-in-out var(--zl-speed) infinite;
  }
  @keyframes zl-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025); } }

  /* Accessibilité : logo fixe si l'utilisateur refuse les animations */
  @media (prefers-reduced-motion: reduce) {
    .zerd-loader * { animation: none !important; }
    .zerd-loader .dot { display: none; }
    .zerd-loader .draw { fill-opacity: 1; stroke-opacity: 0; }
    .zerd-loader .line { stroke-dashoffset: 0; }
  }
