/* ORTANOX LIVE MODULE V2 */
.logo-box{position:relative;width:min(64vw,620px);height:auto;margin:0 auto 18px;perspective:1200px;isolation:isolate}
.ortanox-module{--rx:0deg;--ry:0deg;--sx:0px;--sy:0px;position:relative;width:100%;aspect-ratio:1/1.08;transform-style:preserve-3d;transform:translate3d(var(--sx),var(--sy),0) rotateX(var(--rx)) rotateY(var(--ry));transition:transform 120ms cubic-bezier(.2,.8,.2,1);will-change:transform}
.ortanox-emblem{position:absolute;left:9%;right:9%;top:0;height:72%;transform-style:preserve-3d}
.ortanox-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.ol-aura{transform:translateZ(-18px) scale(1.04);opacity:.52;filter:blur(7px);animation:ortanox-aura 4.8s ease-in-out infinite}
.ol-base{transform:translateZ(0);filter:drop-shadow(0 25px 30px rgba(0,0,0,.55))}
.ol-frame{transform:translateZ(18px);filter:drop-shadow(0 5px 8px rgba(0,0,0,.3))}
.ol-circuit{transform:translateZ(28px)}
.ol-core{transform:translateZ(42px);filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.ol-blue{transform:translateZ(50px);mix-blend-mode:screen;filter:drop-shadow(0 0 10px rgba(55,175,255,.95));animation:ortanox-blue 2.9s ease-in-out infinite}
.ortanox-light{position:absolute;inset:0;transform:translateZ(58px);pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.06) 42%,rgba(255,255,255,.56) 49%,rgba(130,205,255,.18) 53%,transparent 61%);-webkit-mask:url('/assets/ortanox-live/emblem-frame.png') center/contain no-repeat;mask:url('/assets/ortanox-live/emblem-frame.png') center/contain no-repeat;animation:ortanox-sweep 8.5s ease-in-out infinite}
.ortanox-wordmark{position:absolute;left:0;right:0;bottom:0;height:31%;transform-style:preserve-3d}
.ortanox-wordmark .ol-word{transform:translateZ(12px);filter:drop-shadow(0 13px 13px rgba(0,0,0,.5))}
.ortanox-wordmark .ol-word-metal{transform:translateZ(20px);opacity:.72}
.ortanox-word-sweep{position:absolute;inset:0;transform:translateZ(30px);pointer-events:none;background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.55) 49%,transparent 59%);-webkit-mask:url('/assets/ortanox-live/wordmark.png') center/contain no-repeat;mask:url('/assets/ortanox-live/wordmark.png') center/contain no-repeat;animation:ortanox-word-sweep 10.5s ease-in-out infinite}
@keyframes ortanox-blue{0%,100%{opacity:.72;filter:drop-shadow(0 0 7px rgba(55,175,255,.75))}50%{opacity:1;filter:drop-shadow(0 0 16px rgba(55,175,255,1))}}
@keyframes ortanox-aura{0%,100%{opacity:.34;transform:translateZ(-18px) scale(1.02)}50%{opacity:.62;transform:translateZ(-18px) scale(1.055)}}
@keyframes ortanox-sweep{0%,20%{transform:translateZ(58px) translateX(-120%)}42%{transform:translateZ(58px) translateX(120%)}43%,100%{transform:translateZ(58px) translateX(120%)}}
@keyframes ortanox-word-sweep{0%,55%{transform:translateZ(30px) translateX(-120%)}72%{transform:translateZ(30px) translateX(120%)}73%,100%{transform:translateZ(30px) translateX(120%)}}
@media(max-width:700px){.logo-box{width:min(90vw,560px);margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.ortanox-module{transform:none!important;transition:none}.ol-aura,.ol-blue,.ortanox-light,.ortanox-word-sweep{animation:none!important}}

/* ORTANOX LIVE MODULE — SITE INTEGRATION V1 */

/*
 * Текстовый H1 сохраняется для структуры документа,
 * но визуально не дублирует графический wordmark.
 */
.ortanox-title-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Не позволяем модулю перекрывать следующий текст HERO */
.logo-box {
  max-width: 620px;
  margin-bottom: clamp(18px, 3vw, 34px);
}

/* Раздельная глубина: эмблема реагирует сильнее wordmark */
.ortanox-emblem {
  transition: transform 120ms cubic-bezier(.2,.8,.2,1);
}

.ortanox-wordmark {
  transition: transform 160ms cubic-bezier(.2,.8,.2,1);
}

/* Аккуратная посадочная тень под эмблемой */
.ortanox-emblem::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 16%;
  right: 16%;
  bottom: 4%;
  height: 11%;
  border-radius: 50%;
  background: rgba(0,0,0,.72);
  filter: blur(18px);
  transform: translateZ(-28px);
  pointer-events: none;
}

/* Световой фон только под эмблемой, без прямоугольника */
.ortanox-emblem::before {
  content: "";
  position: absolute;
  z-index: -2;
  left: 17%;
  right: 17%;
  top: 16%;
  bottom: 12%;
  border-radius: 50%;
  background:
    radial-gradient(
      ellipse at center,
      rgba(43,153,255,.16) 0%,
      rgba(27,91,174,.07) 43%,
      transparent 72%
    );
  filter: blur(25px);
  animation: ortanox-background-pulse 5.4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes ortanox-background-pulse {
  0%,
  100% {
    opacity: .48;
    transform: translateZ(-32px) scale(.95);
  }

  50% {
    opacity: .88;
    transform: translateZ(-32px) scale(1.04);
  }
}

@media (max-width: 700px) {
  .logo-box {
    width: min(88vw, 540px);
    margin-bottom: 18px;
  }
}

@media (max-height: 760px) and (orientation: landscape) {
  .logo-box {
    width: min(56vw, 500px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ortanox-emblem::before {
    animation: none !important;
  }
}

/* ORTANOX LIVE — SAFARI LAYER ALIGNMENT FIX V1 */

/*
 * Safari выносит CSS-mask за пределы 3D-сцены во время translateX.
 * Именно эти два элемента создавали обломки эмблемы и букв
 * по левому и правому краям страницы.
 */
.ortanox-light,
.ortanox-word-sweep {
  display: none !important;
  animation: none !important;
}

/*
 * Текущий emblem-blue.png содержит не только светодиоды,
 * но и полупрозрачную копию всей эмблемы.
 * Поэтому его пульсация периодически окрашивала весь хексагон.
 */
.ol-blue {
  display: none !important;
  animation: none !important;
}

/*
 * Оставляем только очень мягкую заднюю ауру.
 * Она не меняет геометрию и не перекрывает металлические слои.
 */
.ol-aura {
  opacity: .22 !important;
  filter: blur(10px) !important;
  animation: ortanox-aura-fixed 5.8s ease-in-out infinite !important;
}

/*
 * Все реальные конструктивные слои получают одну систему координат.
 */
.ortanox-emblem,
.ortanox-emblem .ortanox-layer {
  transform-origin: 50% 50%;
}

.ol-base {
  transform: translate3d(0, 0, 0) !important;
  opacity: 1 !important;
}

.ol-frame {
  transform: translate3d(0, 0, 18px) !important;
  opacity: .94 !important;
}

.ol-circuit {
  transform: translate3d(0, 0, 28px) !important;
  opacity: .76 !important;
}

.ol-core {
  transform: translate3d(0, 0, 42px) !important;
  opacity: 1 !important;
}

.ortanox-wordmark .ol-word {
  transform: translate3d(0, 0, 12px) !important;
  opacity: 1 !important;
}

.ortanox-wordmark .ol-word-metal {
  transform: translate3d(0, 0, 20px) !important;
  opacity: .48 !important;
}

/*
 * Модуль не обрезает настоящие слои, но не позволяет
 * вспомогательным эффектам рисоваться через всю страницу.
 */
.ortanox-module,
.ortanox-emblem,
.ortanox-wordmark {
  background: transparent !important;
}

@keyframes ortanox-aura-fixed {
  0%,
  100% {
    opacity: .16;
    transform: translate3d(0, 0, -18px) scale(1.015);
  }

  50% {
    opacity: .27;
    transform: translate3d(0, 0, -18px) scale(1.035);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ol-aura {
    animation: none !important;
  }
}

/* ORTANOX LIVE — SAFARI SAFE METAL GLINT V1 */

/*
 * Маска остаётся неподвижной.
 * Двигается только градиент внутри неё —
 * поэтому Safari не разбрасывает куски слоя по странице.
 */

/* Блик по металлической рамке эмблемы */
.ortanox-emblem::after {
  z-index: 20 !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;

  background:
    linear-gradient(
      105deg,
      transparent 0%,
      transparent 42%,
      rgba(255,255,255,.03) 45%,
      rgba(255,247,226,.62) 48.5%,
      rgba(174,222,255,.46) 50%,
      rgba(255,255,255,.08) 53%,
      transparent 57%,
      transparent 100%
    );

  background-size: 340% 100%;
  background-position: 135% 0;

  -webkit-mask:
    url("/assets/ortanox-live/emblem-frame.png")
    center / contain
    no-repeat;

  mask:
    url("/assets/ortanox-live/emblem-frame.png")
    center / contain
    no-repeat;

  filter: none !important;
  opacity: 0;
  transform: translate3d(0,0,62px) !important;
  mix-blend-mode: screen;
  pointer-events: none;

  animation:
    ortanox-frame-glint-safe
    10.5s
    ease-in-out
    infinite;
}

/* Блик по надписи ORTANOX */
.ortanox-wordmark::after {
  content: "";
  position: absolute;
  z-index: 20;
  inset: 0;

  background:
    linear-gradient(
      102deg,
      transparent 0%,
      transparent 43%,
      rgba(255,255,255,.025) 46%,
      rgba(255,247,226,.50) 49%,
      rgba(173,217,255,.34) 51%,
      rgba(255,255,255,.06) 54%,
      transparent 58%,
      transparent 100%
    );

  background-size: 360% 100%;
  background-position: 135% 0;

  -webkit-mask:
    url("/assets/ortanox-live/wordmark.png")
    center / contain
    no-repeat;

  mask:
    url("/assets/ortanox-live/wordmark.png")
    center / contain
    no-repeat;

  opacity: 0;
  transform: translate3d(0,0,34px);
  mix-blend-mode: screen;
  pointer-events: none;

  animation:
    ortanox-wordmark-glint-safe
    13.5s
    ease-in-out
    infinite;
}

/*
 * Длинная пауза между проходами.
 * Блик появляется редко и не превращает металл в новогоднюю гирлянду.
 */
@keyframes ortanox-frame-glint-safe {
  0%,
  16% {
    opacity: 0;
    background-position: 135% 0;
  }

  20% {
    opacity: .16;
  }

  27% {
    opacity: .82;
  }

  38% {
    opacity: .22;
    background-position: -35% 0;
  }

  42%,
  100% {
    opacity: 0;
    background-position: -35% 0;
  }
}

@keyframes ortanox-wordmark-glint-safe {
  0%,
  52% {
    opacity: 0;
    background-position: 135% 0;
  }

  56% {
    opacity: .12;
  }

  64% {
    opacity: .68;
  }

  75% {
    opacity: .18;
    background-position: -35% 0;
  }

  79%,
  100% {
    opacity: 0;
    background-position: -35% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ortanox-emblem::after,
  .ortanox-wordmark::after {
    animation: none !important;
    opacity: 0 !important;
  }
}

/* ORTANOX LIVE — EXACT NATIVE BLUE BREATH FINAL V1 */

/* Старый некачественный общий синий слой не используется. */
.ol-blue {
  display: none !important;
  animation: none !important;
}

/*
 * Оба новых слоя получены из исходной эмблемы пиксель-в-пиксель.
 * Поэтому никаких координат, точек снаружи и Safari-смещений нет.
 */
.ol-lights-dim,
.ol-lights-glow {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transform-origin: 50% 50% !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

/* Затемняющий слой приглушает запечённые в основе статичные огни. */
.ol-lights-dim {
  z-index: 23 !important;
  transform: translate3d(0,0,48px) !important;
  filter: brightness(0) saturate(0) !important;
  mix-blend-mode: multiply !important;
  animation: ortanox-native-lights-dim 7.8s ease-in-out infinite !important;
}

/* Светящийся слой возвращает яркость и ауру в сильной фазе. */
.ol-lights-glow {
  z-index: 24 !important;
  transform: translate3d(0,0,50px) !important;
  mix-blend-mode: screen !important;
  filter:
    brightness(1.18)
    saturate(1.48)
    drop-shadow(0 0 5px rgba(143,226,255,.72))
    drop-shadow(0 0 13px rgba(37,151,255,.52)) !important;
  animation: ortanox-native-lights-glow 7.8s ease-in-out infinite !important;
}

@keyframes ortanox-native-lights-dim {
  0%, 100% { opacity: .66; }
  22%      { opacity: .42; }
  52%      { opacity: 0; }
  74%      { opacity: .28; }
}

@keyframes ortanox-native-lights-glow {
  0%, 100% {
    opacity: .07;
    filter:
      brightness(.76)
      saturate(1.02)
      drop-shadow(0 0 2px rgba(84,184,255,.18))
      drop-shadow(0 0 5px rgba(25,116,255,.12));
  }

  22% {
    opacity: .28;
    filter:
      brightness(.96)
      saturate(1.22)
      drop-shadow(0 0 4px rgba(119,211,255,.42))
      drop-shadow(0 0 9px rgba(30,137,255,.28));
  }

  52% {
    opacity: 1;
    filter:
      brightness(1.34)
      saturate(1.72)
      drop-shadow(0 0 7px rgba(211,248,255,.96))
      drop-shadow(0 0 17px rgba(50,171,255,.76));
  }

  74% {
    opacity: .35;
    filter:
      brightness(1.00)
      saturate(1.30)
      drop-shadow(0 0 4px rgba(119,211,255,.46))
      drop-shadow(0 0 10px rgba(30,137,255,.32));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ol-lights-dim,
  .ol-lights-glow {
    animation: none !important;
  }

  .ol-lights-dim { opacity: .20 !important; }
  .ol-lights-glow { opacity: .48 !important; }
}

/* ORTANOX LIVE — OUTER LIGHTS ALIGNMENT V2 */

/*
 * Старые общие световые слои больше не отображаются.
 */
.ol-lights-dim,
.ol-lights-glow {
  display: none !important;
}

/*
 * Общие свойства четырёх новых слоёв.
 * Используется тот же emblem-lights.png — новых изображений нет.
 */
.ol-lights-center-dim,
.ol-lights-center-glow,
.ol-lights-outer-dim,
.ol-lights-outer-glow {
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  transform-origin: 50% 50% !important;

  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

/*
 * Центральная маска:
 * оставляет только четыре огня вокруг креста.
 * Их положение уже правильное, поэтому масштаб 1:1.
 */
.ol-lights-center-dim,
.ol-lights-center-glow {
  -webkit-mask-image:
    radial-gradient(
      ellipse 28% 29% at 50% 52%,
      #000 0%,
      #000 67%,
      transparent 73%
    );

  mask-image:
    radial-gradient(
      ellipse 28% 29% at 50% 52%,
      #000 0%,
      #000 67%,
      transparent 73%
    );

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/*
 * Наружная маска:
 * вырезает центральные четыре огня,
 * оставляя точки по периметру эмблемы.
 */
.ol-lights-outer-dim,
.ol-lights-outer-glow {
  -webkit-mask-image:
    radial-gradient(
      ellipse 29% 30% at 50% 52%,
      transparent 0%,
      transparent 69%,
      #000 75%,
      #000 100%
    );

  mask-image:
    radial-gradient(
      ellipse 29% 30% at 50% 52%,
      transparent 0%,
      transparent 69%,
      #000 75%,
      #000 100%
    );

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/*
 * Центральные точки остаются пиксель-в-пиксель.
 */
.ol-lights-center-dim {
  z-index: 23 !important;

  transform:
    translate3d(0, 0, 48px) !important;

  filter:
    brightness(0)
    saturate(0) !important;

  mix-blend-mode: multiply !important;

  animation:
    ortanox-native-lights-dim
    7.8s
    ease-in-out
    infinite !important;
}

.ol-lights-center-glow {
  z-index: 24 !important;

  transform:
    translate3d(0, 0, 50px) !important;

  mix-blend-mode: screen !important;

  animation:
    ortanox-native-lights-glow
    7.8s
    ease-in-out
    infinite !important;
}

/*
 * Все наружные точки были раздвинуты радиально.
 * Сжимаем только их к центру, не затрагивая крест.
 *
 * Главный калибровочный параметр: scale(.935).
 */
.ol-lights-outer-dim {
  z-index: 23 !important;

  transform:
    translate3d(0, 2px, 48px)
    scale(.935) !important;

  filter:
    brightness(0)
    saturate(0) !important;

  mix-blend-mode: multiply !important;

  animation:
    ortanox-native-lights-dim
    7.8s
    ease-in-out
    infinite !important;
}

.ol-lights-outer-glow {
  z-index: 24 !important;

  transform:
    translate3d(0, 2px, 50px)
    scale(.935) !important;

  mix-blend-mode: screen !important;

  filter:
    brightness(1.18)
    saturate(1.48)
    drop-shadow(0 0 5px rgba(143,226,255,.72))
    drop-shadow(0 0 13px rgba(37,151,255,.52)) !important;

  animation:
    ortanox-native-lights-glow
    7.8s
    ease-in-out
    infinite !important;
}

/*
 * Центральный светящийся слой получает тот же характер свечения.
 */
.ol-lights-center-glow {
  filter:
    brightness(1.18)
    saturate(1.48)
    drop-shadow(0 0 5px rgba(143,226,255,.72))
    drop-shadow(0 0 13px rgba(37,151,255,.52)) !important;
}

@media (prefers-reduced-motion: reduce) {
  .ol-lights-center-dim,
  .ol-lights-center-glow,
  .ol-lights-outer-dim,
  .ol-lights-outer-glow {
    animation: none !important;
  }

  .ol-lights-center-dim,
  .ol-lights-outer-dim {
    opacity: .20 !important;
  }

  .ol-lights-center-glow,
  .ol-lights-outer-glow {
    opacity: .48 !important;
  }
}

/* ORTANOX LIVE — OUTER LIGHTS ALIGNMENT V3 */

/*
 * Внутренние четыре огня вокруг креста не трогаем.
 *
 * Наружные шесть точек:
 * было scale(.935) и смещение вниз 2px;
 * теперь немного сильнее сжимаем к центру
 * и поднимаем на 1px относительно исходной позиции.
 */

.ol-lights-outer-dim {
  transform:
    translate3d(0, -1px, 48px)
    scale(.915) !important;
}

.ol-lights-outer-glow {
  transform:
    translate3d(0, -1px, 50px)
    scale(.915) !important;
}

/* ORTANOX LIVE — OUTER LIGHTS ALIGNMENT V4 */

/*
 * V3 с scale(.915) слишком сильно увёл наружные огни к центру.
 * Возвращаем их немного наружу и на 1px вниз.
 *
 * Внутренние четыре огня, движение и металлический блик
 * этими правилами не затрагиваются.
 */

.ol-lights-outer-dim {
  transform:
    translate3d(0, 1px, 48px)
    scale(.928) !important;
}

.ol-lights-outer-glow {
  transform:
    translate3d(0, 1px, 50px)
    scale(.928) !important;
}

/* ORTANOX LIVE — PIXEL EXACT LIGHTS FINAL V6 */

/*
 * Старые разделённые слои полностью отключены.
 */
.ol-lights-center-dim,
.ol-lights-center-glow,
.ol-lights-outer-dim,
.ol-lights-outer-glow {
  display: none !important;
  animation: none !important;
}

/*
 * Оригинальный световой файл имеет те же размеры 702×653,
 * что и основной слой эмблемы.
 *
 * Никакого scale и никакого translateZ:
 * изображение накладывается пиксель-в-пиксель.
 */
.ol-lights-dim,
.ol-lights-glow {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: 50% 50% !important;

  transform: translate3d(0, 0, 0) !important;
  transform-origin: 50% 50% !important;

  -webkit-mask: none !important;
  mask: none !important;

  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

/*
 * Затемняющий точный слой.
 * В минимальной фазе приглушает статические огни,
 * уже находящиеся в основной эмблеме.
 */
.ol-lights-dim {
  z-index: 26 !important;

  filter:
    brightness(0)
    saturate(0) !important;

  mix-blend-mode: multiply !important;
  opacity: .48;

  animation:
    ortanox-pixel-lights-dim
    7.6s
    cubic-bezier(.42, 0, .58, 1)
    infinite !important;
}

/*
 * Светящийся точный слой.
 */
.ol-lights-glow {
  z-index: 27 !important;

  mix-blend-mode: screen !important;
  opacity: .08;

  filter:
    brightness(.82)
    saturate(1.12)
    drop-shadow(0 0 3px rgba(105,202,255,.35))
    drop-shadow(0 0 7px rgba(28,130,255,.20)) !important;

  animation:
    ortanox-pixel-lights-glow
    7.6s
    cubic-bezier(.42, 0, .58, 1)
    infinite !important;
}

@keyframes ortanox-pixel-lights-dim {
  0%,
  100% {
    opacity: .54;
  }

  26% {
    opacity: .30;
  }

  52% {
    opacity: 0;
  }

  75% {
    opacity: .24;
  }
}

@keyframes ortanox-pixel-lights-glow {
  0%,
  100% {
    opacity: .06;

    filter:
      brightness(.70)
      saturate(.96)
      drop-shadow(0 0 2px rgba(105,202,255,.22))
      drop-shadow(0 0 5px rgba(28,130,255,.12));
  }

  25% {
    opacity: .32;

    filter:
      brightness(.96)
      saturate(1.28)
      drop-shadow(0 0 4px rgba(131,216,255,.54))
      drop-shadow(0 0 10px rgba(31,143,255,.34));
  }

  52% {
    opacity: .94;

    filter:
      brightness(1.28)
      saturate(1.68)
      drop-shadow(0 0 7px rgba(210,246,255,.96))
      drop-shadow(0 0 17px rgba(65,177,255,.72))
      drop-shadow(0 0 27px rgba(17,116,255,.42));
  }

  76% {
    opacity: .28;

    filter:
      brightness(.92)
      saturate(1.22)
      drop-shadow(0 0 4px rgba(131,216,255,.48))
      drop-shadow(0 0 9px rgba(31,143,255,.29));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ol-lights-dim,
  .ol-lights-glow {
    animation: none !important;
  }

  .ol-lights-dim {
    opacity: .18 !important;
  }

  .ol-lights-glow {
    opacity: .42 !important;
  }
}

/* ORTANOX LIVE — FAST MOTION AND MOBILE GYRO V1 */

/*
 * Интерполяцией полностью управляет requestAnimationFrame.
 * CSS transition раньше добавлял вторую инерцию,
 * из-за чего логотип запаздывал за курсором.
 */
.ortanox-module,
.ortanox-emblem,
.ortanox-wordmark {
  transition: none !important;
}

/*
 * На телефоне логотип остаётся частью страницы:
 * свайп и прокрутка не блокируются.
 */
.logo-box {
  touch-action: pan-y pinch-zoom;
}

/*
 * После активации датчика не показываем никакой
 * дополнительной графики или кнопок.
 */
.logo-box.ortanox-gyro-active {
  cursor: default;
}

/* ORTANOX LIVE — DESKTOP POINTER MOTION FINAL V2 */

/*
 * requestAnimationFrame уже создаёт плавность.
 * CSS transition не должен повторно тормозить движение.
 */
.ortanox-module,
.ortanox-emblem,
.ortanox-wordmark {
  transition: none !important;
}

/*
 * На телефоне логотип остаётся статичным.
 * Прокрутка страницы работает штатно, запросов датчиков нет.
 */
.logo-box {
  touch-action: pan-y pinch-zoom;
}

.logo-box.ortanox-gyro-active {
  cursor: inherit;
}
