/* SOLITON — анимация логотипа в прелоадере.
   Разметка #loader .sl-ld-wave не меняется: скрипт wavelogo.js читает её
   как есть и достраивает нужные узлы. Файл подключается последним в head.

   Все правила начинаются с #loader намеренно. На страницах /sites свои
   правила вида body.pg-sites .sl-ld-wave …, и по специфичности они выше
   простых классов. Идентификатор перебивает любое число классов, поэтому
   одна и та же таблица работает на всех страницах одинаково. */

/* гасим прежнюю анимацию: движение целиком ведёт скрипт.
   Без скрипта и при prefers-reduced-motion остаётся статичный логотип */
#loader .sl-ld-wave .sl-wv,
#loader .sl-ld-wave .sl-lt {
    animation: none !important;
    opacity: 1;
    transform: none;
}

/* кадр обрезан по бокам: торцы лент уходят за край, и волна ходит свободно,
   не отрываясь от границы. Пропорции меняются под новый viewBox */
#loader .sl-ld-wave.slw-on { aspect-ratio: 5987 / 2280; }
#loader .sl-ld-wave.slw-on .sl-wavelogo { overflow: hidden; }
#loader .sl-ld-wave.slw-on .sl-lt { transform-box: fill-box; transform-origin: 50% 100%; }

/* свечение смешивается только с лентами, перелив — только с буквами */
#loader .sl-ld-wave.slw-on #slw-waves,
#loader .sl-ld-wave.slw-on #slw-word { isolation: isolate; }
#loader .sl-ld-wave.slw-on #slw-glow { filter: url(#slw-soft); opacity: .6; mix-blend-mode: screen; }
#loader .sl-ld-wave.slw-on #slw-crest { opacity: 0; mix-blend-mode: screen; }
#loader .sl-ld-wave.slw-on #slw-sheen { mix-blend-mode: overlay; opacity: 0; pointer-events: none; }
