/* Trade-in → «Преимущества Trade-in»: 3D-сцена «обмен телефоном».
   Двое передают друг другу телефон с эмблемой EA — медленно, по кругу (цикл 14 с).
   Всё движение — только transform/opacity (на GPU). Позиции телефона посчитаны по геометрии рук
   (генератор: плечо 70px + предплечье 64px), поэтому он «не отрывается» от ладоней. */

.tr-adv-head { min-width: 0; display: flex; flex-direction: column; }
.tr-adv.tp-adv { padding-inline: 8vw; gap: clamp(32px, 5vw, 80px); }

.tp-stage { --s: .94; position: relative; height: 470px; margin-top: 14px; perspective: 1600px; perspective-origin: 50% 38%; pointer-events: none; }
.tp-glow { position: absolute; left: 50%; top: 50%; width: min(100%, 580px); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
  background: radial-gradient(circle, rgba(201,160,108,.20), rgba(201,160,108,.08) 40%, transparent 68%); }
.tp-world { position: absolute; left: 50%; top: 44%; width: 0; height: 0; transform-style: preserve-3d; transform: scale(var(--s)) rotateX(-6deg); }
.tp-sway { position: absolute; left: 0; top: 0; width: 0; height: 0; transform-style: preserve-3d;
  animation: tpSway 12s cubic-bezier(.45,.05,.55,.95) infinite alternate; will-change: transform; }
@keyframes tpSway { from { transform: rotateY(-6deg); } to { transform: rotateY(6deg); } }

/* пол: платформы под фигурами и орбита «по кругу» */
.tp-floor { position: absolute; left: 0; top: 0; width: 0; height: 0; transform-style: preserve-3d; transform: translate3d(0, 192px, 0) rotateX(90deg); }
.tp-floor i { position: absolute; display: block; border-radius: 50%; }
.tp-plat { width: 230px; height: 230px; top: -115px; border: 2px solid rgba(227,195,156,.55);
  background: radial-gradient(circle, rgba(201,160,108,.30), rgba(201,160,108,.06) 62%, transparent 70%); }
.tp-plat.a { left: -311px; }
.tp-plat.b { left: 81px; }
.tp-orbit { left: -300px; top: -300px; width: 600px; height: 600px; border: 1.5px dashed rgba(227,195,156,.38); animation: tpOrbit 24s linear infinite; will-change: transform; }
.tp-orbit b { position: absolute; left: 50%; width: 12px; height: 12px; margin-left: -6px; display: block; background: var(--ea-grad); transform: rotate(45deg);
  box-shadow: 0 0 12px 3px rgba(227,195,156,.7); }
.tp-orbit b:nth-child(1) { top: -6px; }
.tp-orbit b:nth-child(2) { bottom: -6px; }
@keyframes tpOrbit { to { transform: rotateZ(360deg); } }

/* фигуры (плоские слои на разной глубине — z-порядок без пересечений) */
.tp-fig { position: absolute; left: 0; top: 0; width: 0; height: 0; transform-style: preserve-3d; transform: translate3d(var(--fx), -20px, 0); }
.tp-fig.a { --fx: -196px; --shirt: linear-gradient(165deg, #f3d9b8 0%, #d3ad7a 42%, #a67c3c 100%); --edge: rgba(255,255,255,.38); --hair: #2a1d12; --sleeve: #c9a06c; }
.tp-fig.b { --fx: 196px;  --shirt: linear-gradient(165deg, #44444d 0%, #23232a 45%, #101013 100%); --edge: rgba(227,195,156,.5); --hair: #0b0b0d; --sleeve: #2a2a31; }
.tp-fig > * { position: absolute; display: block; }
.tp-torso { left: -80px; top: -6px; width: 160px; height: 204px; border-radius: 76px 76px 0 0 / 60px 60px 0 0; background: var(--shirt);
  box-shadow: inset 0 3px 0 var(--edge), inset -16px 0 30px rgba(0,0,0,.22); overflow: hidden; }
.tp-torso:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 52%; background: linear-gradient(rgba(7,7,7,0), #070707 92%); }
.tp-neck { left: -14px; top: -34px; width: 28px; height: 40px; border-radius: 8px; background: linear-gradient(#c79a62, #8f6a30); transform: translateZ(2px); }
.tp-head { left: -36px; top: -94px; width: 72px; height: 72px; border-radius: 50%; transform: translateZ(6px);
  background: radial-gradient(circle at 36% 30%, #f6dcb8 0%, #d9b27a 46%, #9a7238 100%); animation: tpNod 5s ease-in-out infinite alternate; }
@keyframes tpNod { from { transform: translateZ(6px) rotate(-2.5deg); } to { transform: translateZ(6px) rotate(2.5deg); } }
.tp-head:before { content: ""; position: absolute; left: -3px; top: -5px; width: 78px; height: 40px; border-radius: 40px 40px 14px 14px / 40px 40px 12px 12px;
  background: linear-gradient(160deg, rgba(255,255,255,.22), transparent 40%), var(--hair); }
.tp-head i { position: absolute; display: block; }
.tp-head .e { top: 40px; width: 7px; height: 9px; border-radius: 50%; background: #1b1209; }
.tp-head .m { top: 54px; width: 18px; height: 8px; border-bottom: 2.5px solid #7a5524; border-radius: 0 0 14px 14px; }
.tp-fig.a .tp-head .e.l { left: 24px; } .tp-fig.a .tp-head .e.r { left: 43px; } .tp-fig.a .tp-head .m { left: 31px; }
.tp-fig.b .tp-head .e.l { left: 21px; } .tp-fig.b .tp-head .e.r { left: 40px; } .tp-fig.b .tp-head .m { left: 27px; }

/* руки: два сегмента, вращение вокруг плеча и локтя */
.tp-aw, .tp-rw { width: 0; height: 0; top: 34px; }
.tp-fig.a .tp-aw { left: 70px;  transform: translateZ(16px); }
.tp-fig.b .tp-aw { left: -70px; transform: translateZ(16px) scaleX(-1); }
.tp-fig.a .tp-rw { left: -70px; transform: translateZ(-10px) scaleX(-1); }
.tp-fig.b .tp-rw { left: 70px;  transform: translateZ(-10px); }
.tp-up, .tp-fore { position: absolute; display: block; height: 28px; border-radius: 14px; transform-origin: 14px 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.2), transparent 45%), var(--sleeve); box-shadow: inset 0 -5px 8px rgba(0,0,0,.25); }
.tp-up { left: -14px; top: -14px; width: 98px; transform: rotate(76deg); }
.tp-fore { left: 70px; top: 0; width: 92px; transform: rotate(-160deg); }
.tp-hand { position: absolute; left: 61px; top: -3px; width: 34px; height: 34px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #f6dcb8, #d9b27a 55%, #9a7238); }
.tp-aw .tp-up { animation: tpUp 14s linear infinite; will-change: transform; }
.tp-aw .tp-fore { animation: tpFore 14s linear infinite; will-change: transform; }
.tp-rw .tp-up { transform: rotate(88deg); }
.tp-rw .tp-fore { transform: rotate(8deg); }

/* телефон: лицом к зрителю, на экране — эмблема EA */
.tp-phone { position: absolute; left: -50px; top: -103px; width: 100px; height: 206px; transform-style: preserve-3d;
  transform: translate3d(-102.4px,-43.7px,26px) rotate(0deg); animation: tpPhone 14s linear infinite; will-change: transform; }
.tp-phone > * { position: absolute; inset: 0; display: block; border-radius: 22px; }
.tp-phone .pb2 { transform: translateZ(-6px); background: #5a4020; }
.tp-phone .pb1 { transform: translateZ(-3px); background: linear-gradient(145deg, #e3c39c, #8f6a30); }
.tp-phone .pf { background: #050505; box-shadow: 0 0 0 3px #c9a06c, 0 0 0 4.5px rgba(255,241,214,.55), 0 0 26px rgba(227,195,156,.55); overflow: hidden;
  display: flex; align-items: center; justify-content: center; }
.tp-phone .pf:before { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 55% at 50% 42%, rgba(201,160,108,.22), transparent 70%); }
.tp-phone .isl { position: absolute; left: 50%; top: 9px; width: 34px; height: 10px; margin-left: -17px; border-radius: 8px; background: #000; z-index: 2; }
.tp-phone img { position: relative; width: 84%; height: auto; display: block; margin-top: -4px; }
.tp-phone .gl { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; }
.tp-phone .gl:before { content: ""; position: absolute; top: -10%; bottom: -10%; left: 0; width: 55%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.30), transparent); transform: translateX(-130%) skewX(-14deg); animation: tpSweep 5s ease-in-out infinite; }
@keyframes tpSweep { 0% { transform: translateX(-130%) skewX(-14deg); } 45%, 100% { transform: translateX(300%) skewX(-14deg); } }

/* вспышка в момент передачи */
.tp-burst { position: absolute; left: -60px; top: -60px; width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(243,217,184,.7);
  box-shadow: 0 0 22px rgba(227,195,156,.4); transform: translate3d(0, -6px, 12px) scale(.25); opacity: 0; }
.tp-burst i { display: none; }
.tp-burst { animation: tpBurst 14s ease-out infinite; }

@keyframes tpUp {
  0.00% { transform: rotate(76deg); }
  1.43% { transform: rotate(76deg); }
  2.86% { transform: rotate(76deg); }
  4.29% { transform: rotate(76deg); }
  5.71% { transform: rotate(76deg); }
  7.14% { transform: rotate(76deg); }
  8.57% { transform: rotate(76deg); }
  10.00% { transform: rotate(76deg); }
  11.43% { transform: rotate(76deg); }
  12.86% { transform: rotate(74.1deg); }
  14.29% { transform: rotate(68.5deg); }
  15.71% { transform: rotate(59.7deg); }
  17.14% { transform: rotate(48.7deg); }
  18.57% { transform: rotate(36.5deg); }
  20.00% { transform: rotate(24.3deg); }
  21.43% { transform: rotate(13.3deg); }
  22.86% { transform: rotate(4.5deg); }
  24.29% { transform: rotate(-1.1deg); }
  25.71% { transform: rotate(-3deg); }
  27.14% { transform: rotate(-3deg); }
  28.57% { transform: rotate(-3deg); }
  30.00% { transform: rotate(-3deg); }
  31.43% { transform: rotate(-3deg); }
  32.86% { transform: rotate(-1.1deg); }
  34.29% { transform: rotate(4.5deg); }
  35.71% { transform: rotate(13.3deg); }
  37.14% { transform: rotate(24.3deg); }
  38.57% { transform: rotate(36.5deg); }
  40.00% { transform: rotate(48.7deg); }
  41.43% { transform: rotate(59.7deg); }
  42.86% { transform: rotate(68.5deg); }
  44.29% { transform: rotate(74.1deg); }
  45.71% { transform: rotate(76deg); }
  47.14% { transform: rotate(76deg); }
  48.57% { transform: rotate(76deg); }
  50.00% { transform: rotate(76deg); }
  51.43% { transform: rotate(76deg); }
  52.86% { transform: rotate(76deg); }
  54.29% { transform: rotate(76deg); }
  55.71% { transform: rotate(76deg); }
  57.14% { transform: rotate(76deg); }
  58.57% { transform: rotate(76deg); }
  60.00% { transform: rotate(76deg); }
  61.43% { transform: rotate(76deg); }
  62.86% { transform: rotate(74.1deg); }
  64.29% { transform: rotate(68.5deg); }
  65.71% { transform: rotate(59.7deg); }
  67.14% { transform: rotate(48.7deg); }
  68.57% { transform: rotate(36.5deg); }
  70.00% { transform: rotate(24.3deg); }
  71.43% { transform: rotate(13.3deg); }
  72.86% { transform: rotate(4.5deg); }
  74.29% { transform: rotate(-1.1deg); }
  75.71% { transform: rotate(-3deg); }
  77.14% { transform: rotate(-3deg); }
  78.57% { transform: rotate(-3deg); }
  80.00% { transform: rotate(-3deg); }
  81.43% { transform: rotate(-3deg); }
  82.86% { transform: rotate(-1.1deg); }
  84.29% { transform: rotate(4.5deg); }
  85.71% { transform: rotate(13.3deg); }
  87.14% { transform: rotate(24.3deg); }
  88.57% { transform: rotate(36.5deg); }
  90.00% { transform: rotate(48.7deg); }
  91.43% { transform: rotate(59.7deg); }
  92.86% { transform: rotate(68.5deg); }
  94.29% { transform: rotate(74.1deg); }
  95.71% { transform: rotate(76deg); }
  97.14% { transform: rotate(76deg); }
  98.57% { transform: rotate(76deg); }
  100.00% { transform: rotate(76deg); }
}

@keyframes tpFore {
  0.00% { transform: rotate(-160deg); }
  1.43% { transform: rotate(-160deg); }
  2.86% { transform: rotate(-160deg); }
  4.29% { transform: rotate(-160deg); }
  5.71% { transform: rotate(-160deg); }
  7.14% { transform: rotate(-160deg); }
  8.57% { transform: rotate(-160deg); }
  10.00% { transform: rotate(-160deg); }
  11.43% { transform: rotate(-160deg); }
  12.86% { transform: rotate(-156deg); }
  14.29% { transform: rotate(-144.4deg); }
  15.71% { transform: rotate(-126.4deg); }
  17.14% { transform: rotate(-103.7deg); }
  18.57% { transform: rotate(-78.5deg); }
  20.00% { transform: rotate(-53.3deg); }
  21.43% { transform: rotate(-30.6deg); }
  22.86% { transform: rotate(-12.6deg); }
  24.29% { transform: rotate(-1deg); }
  25.71% { transform: rotate(3deg); }
  27.14% { transform: rotate(3deg); }
  28.57% { transform: rotate(3deg); }
  30.00% { transform: rotate(3deg); }
  31.43% { transform: rotate(3deg); }
  32.86% { transform: rotate(-1deg); }
  34.29% { transform: rotate(-12.6deg); }
  35.71% { transform: rotate(-30.6deg); }
  37.14% { transform: rotate(-53.3deg); }
  38.57% { transform: rotate(-78.5deg); }
  40.00% { transform: rotate(-103.7deg); }
  41.43% { transform: rotate(-126.4deg); }
  42.86% { transform: rotate(-144.4deg); }
  44.29% { transform: rotate(-156deg); }
  45.71% { transform: rotate(-160deg); }
  47.14% { transform: rotate(-160deg); }
  48.57% { transform: rotate(-160deg); }
  50.00% { transform: rotate(-160deg); }
  51.43% { transform: rotate(-160deg); }
  52.86% { transform: rotate(-160deg); }
  54.29% { transform: rotate(-160deg); }
  55.71% { transform: rotate(-160deg); }
  57.14% { transform: rotate(-160deg); }
  58.57% { transform: rotate(-160deg); }
  60.00% { transform: rotate(-160deg); }
  61.43% { transform: rotate(-160deg); }
  62.86% { transform: rotate(-156deg); }
  64.29% { transform: rotate(-144.4deg); }
  65.71% { transform: rotate(-126.4deg); }
  67.14% { transform: rotate(-103.7deg); }
  68.57% { transform: rotate(-78.5deg); }
  70.00% { transform: rotate(-53.3deg); }
  71.43% { transform: rotate(-30.6deg); }
  72.86% { transform: rotate(-12.6deg); }
  74.29% { transform: rotate(-1deg); }
  75.71% { transform: rotate(3deg); }
  77.14% { transform: rotate(3deg); }
  78.57% { transform: rotate(3deg); }
  80.00% { transform: rotate(3deg); }
  81.43% { transform: rotate(3deg); }
  82.86% { transform: rotate(-1deg); }
  84.29% { transform: rotate(-12.6deg); }
  85.71% { transform: rotate(-30.6deg); }
  87.14% { transform: rotate(-53.3deg); }
  88.57% { transform: rotate(-78.5deg); }
  90.00% { transform: rotate(-103.7deg); }
  91.43% { transform: rotate(-126.4deg); }
  92.86% { transform: rotate(-144.4deg); }
  94.29% { transform: rotate(-156deg); }
  95.71% { transform: rotate(-160deg); }
  97.14% { transform: rotate(-160deg); }
  98.57% { transform: rotate(-160deg); }
  100.00% { transform: rotate(-160deg); }
}

@keyframes tpPhone {
  0.00% { transform: translate3d(-102.4px,-43.7px,26px) rotate(0deg); }
  0.89% { transform: translate3d(-102.4px,-43.2px,26px) rotate(0deg); }
  1.79% { transform: translate3d(-102.4px,-42.8px,26px) rotate(0deg); }
  2.68% { transform: translate3d(-102.4px,-42.4px,26px) rotate(0deg); }
  3.57% { transform: translate3d(-102.4px,-42px,26px) rotate(0deg); }
  4.46% { transform: translate3d(-102.4px,-41.7px,26px) rotate(0deg); }
  5.36% { transform: translate3d(-102.4px,-41.6px,26px) rotate(0deg); }
  6.25% { transform: translate3d(-102.4px,-41.5px,26px) rotate(0deg); }
  7.14% { transform: translate3d(-102.4px,-41.6px,26px) rotate(0deg); }
  8.04% { transform: translate3d(-102.4px,-41.7px,26px) rotate(0deg); }
  8.93% { transform: translate3d(-102.4px,-42px,26px) rotate(0deg); }
  9.82% { transform: translate3d(-102.4px,-42.4px,26px) rotate(0deg); }
  10.71% { transform: translate3d(-102.4px,-42.8px,26px) rotate(0deg); }
  11.61% { transform: translate3d(-102.3px,-43.2px,26px) rotate(0deg); }
  12.50% { transform: translate3d(-99.8px,-43.9px,26px) rotate(0.1deg); }
  13.39% { transform: translate3d(-93.8px,-44.8px,26px) rotate(0.3deg); }
  14.29% { transform: translate3d(-84.8px,-45.8px,26px) rotate(0.7deg); }
  15.18% { transform: translate3d(-73.2px,-46.9px,26px) rotate(1.1deg); }
  16.07% { transform: translate3d(-59.9px,-48px,26px) rotate(1.7deg); }
  16.96% { transform: translate3d(-45.9px,-49px,26px) rotate(2.3deg); }
  17.86% { transform: translate3d(-32.2px,-49.8px,26px) rotate(3deg); }
  18.75% { transform: translate3d(-19.8px,-50.4px,26px) rotate(3.6deg); }
  19.64% { transform: translate3d(-9.6px,-50.8px,26px) rotate(4.3deg); }
  20.54% { transform: translate3d(-1.9px,-51.1px,26px) rotate(5deg); }
  21.43% { transform: translate3d(3.2px,-51.3px,26px) rotate(5.6deg); }
  22.32% { transform: translate3d(6.2px,-51.4px,26px) rotate(6.1deg); }
  23.21% { transform: translate3d(7.5px,-51.5px,26px) rotate(6.5deg); }
  24.11% { transform: translate3d(7.9px,-51.6px,26px) rotate(6.8deg); }
  25.00% { transform: translate3d(7.9px,-51.6px,26px) rotate(7deg); }
  25.89% { transform: translate3d(7.9px,-51.8px,26px) rotate(7deg); }
  26.79% { transform: translate3d(6.6px,-55.3px,26px) rotate(5.8deg); }
  27.68% { transform: translate3d(3.7px,-62px,26px) rotate(3.3deg); }
  28.57% { transform: translate3d(0px,-65.7px,26px) rotate(0deg); }
  29.46% { transform: translate3d(-3.7px,-62px,26px) rotate(-3.3deg); }
  30.36% { transform: translate3d(-6.6px,-55.3px,26px) rotate(-5.8deg); }
  31.25% { transform: translate3d(-7.9px,-51.8px,26px) rotate(-7deg); }
  32.14% { transform: translate3d(-7.9px,-51.6px,26px) rotate(-7deg); }
  33.04% { transform: translate3d(-7.9px,-51.5px,26px) rotate(-6.8deg); }
  33.93% { transform: translate3d(-7.5px,-51.3px,26px) rotate(-6.5deg); }
  34.82% { transform: translate3d(-6.2px,-51.1px,26px) rotate(-6.1deg); }
  35.71% { transform: translate3d(-3.2px,-50.8px,26px) rotate(-5.6deg); }
  36.61% { transform: translate3d(1.9px,-50.4px,26px) rotate(-5deg); }
  37.50% { transform: translate3d(9.6px,-50px,26px) rotate(-4.3deg); }
  38.39% { transform: translate3d(19.8px,-49.6px,26px) rotate(-3.6deg); }
  39.29% { transform: translate3d(32.2px,-49.1px,26px) rotate(-3deg); }
  40.18% { transform: translate3d(45.9px,-48.6px,26px) rotate(-2.3deg); }
  41.07% { transform: translate3d(59.9px,-48px,26px) rotate(-1.7deg); }
  41.96% { transform: translate3d(73.2px,-47.5px,26px) rotate(-1.1deg); }
  42.86% { transform: translate3d(84.8px,-46.9px,26px) rotate(-0.7deg); }
  43.75% { transform: translate3d(93.8px,-46.4px,26px) rotate(-0.3deg); }
  44.64% { transform: translate3d(99.8px,-46px,26px) rotate(-0.1deg); }
  45.54% { transform: translate3d(102.3px,-45.7px,26px) rotate(0deg); }
  46.43% { transform: translate3d(102.4px,-45.4px,26px) rotate(0deg); }
  47.32% { transform: translate3d(102.4px,-45.1px,26px) rotate(0deg); }
  48.21% { transform: translate3d(102.4px,-44.7px,26px) rotate(0deg); }
  49.11% { transform: translate3d(102.4px,-44.2px,26px) rotate(0deg); }
  50.00% { transform: translate3d(102.4px,-43.7px,26px) rotate(0deg); }
  50.89% { transform: translate3d(102.4px,-43.2px,26px) rotate(0deg); }
  51.79% { transform: translate3d(102.4px,-42.8px,26px) rotate(0deg); }
  52.68% { transform: translate3d(102.4px,-42.4px,26px) rotate(0deg); }
  53.57% { transform: translate3d(102.4px,-42px,26px) rotate(0deg); }
  54.46% { transform: translate3d(102.4px,-41.7px,26px) rotate(0deg); }
  55.36% { transform: translate3d(102.4px,-41.6px,26px) rotate(0deg); }
  56.25% { transform: translate3d(102.4px,-41.5px,26px) rotate(0deg); }
  57.14% { transform: translate3d(102.4px,-41.6px,26px) rotate(0deg); }
  58.04% { transform: translate3d(102.4px,-41.7px,26px) rotate(0deg); }
  58.93% { transform: translate3d(102.4px,-42px,26px) rotate(0deg); }
  59.82% { transform: translate3d(102.4px,-42.4px,26px) rotate(0deg); }
  60.71% { transform: translate3d(102.4px,-42.8px,26px) rotate(0deg); }
  61.61% { transform: translate3d(102.3px,-43.2px,26px) rotate(0deg); }
  62.50% { transform: translate3d(99.8px,-43.9px,26px) rotate(-0.1deg); }
  63.39% { transform: translate3d(93.8px,-44.8px,26px) rotate(-0.3deg); }
  64.29% { transform: translate3d(84.8px,-45.8px,26px) rotate(-0.7deg); }
  65.18% { transform: translate3d(73.2px,-46.9px,26px) rotate(-1.1deg); }
  66.07% { transform: translate3d(59.9px,-48px,26px) rotate(-1.7deg); }
  66.96% { transform: translate3d(45.9px,-49px,26px) rotate(-2.3deg); }
  67.86% { transform: translate3d(32.2px,-49.8px,26px) rotate(-3deg); }
  68.75% { transform: translate3d(19.8px,-50.4px,26px) rotate(-3.6deg); }
  69.64% { transform: translate3d(9.6px,-50.8px,26px) rotate(-4.3deg); }
  70.54% { transform: translate3d(1.9px,-51.1px,26px) rotate(-5deg); }
  71.43% { transform: translate3d(-3.2px,-51.3px,26px) rotate(-5.6deg); }
  72.32% { transform: translate3d(-6.2px,-51.4px,26px) rotate(-6.1deg); }
  73.21% { transform: translate3d(-7.5px,-51.5px,26px) rotate(-6.5deg); }
  74.11% { transform: translate3d(-7.9px,-51.6px,26px) rotate(-6.8deg); }
  75.00% { transform: translate3d(-7.9px,-51.6px,26px) rotate(-7deg); }
  75.89% { transform: translate3d(-7.9px,-51.8px,26px) rotate(-7deg); }
  76.79% { transform: translate3d(-6.6px,-55.3px,26px) rotate(-5.8deg); }
  77.68% { transform: translate3d(-3.7px,-62px,26px) rotate(-3.3deg); }
  78.57% { transform: translate3d(0px,-65.7px,26px) rotate(0deg); }
  79.46% { transform: translate3d(3.7px,-62px,26px) rotate(3.3deg); }
  80.36% { transform: translate3d(6.6px,-55.3px,26px) rotate(5.8deg); }
  81.25% { transform: translate3d(7.9px,-51.8px,26px) rotate(7deg); }
  82.14% { transform: translate3d(7.9px,-51.6px,26px) rotate(7deg); }
  83.04% { transform: translate3d(7.9px,-51.5px,26px) rotate(6.8deg); }
  83.93% { transform: translate3d(7.5px,-51.3px,26px) rotate(6.5deg); }
  84.82% { transform: translate3d(6.2px,-51.1px,26px) rotate(6.1deg); }
  85.71% { transform: translate3d(3.2px,-50.8px,26px) rotate(5.6deg); }
  86.61% { transform: translate3d(-1.9px,-50.4px,26px) rotate(5deg); }
  87.50% { transform: translate3d(-9.6px,-50px,26px) rotate(4.3deg); }
  88.39% { transform: translate3d(-19.8px,-49.6px,26px) rotate(3.6deg); }
  89.29% { transform: translate3d(-32.2px,-49.1px,26px) rotate(3deg); }
  90.18% { transform: translate3d(-45.9px,-48.6px,26px) rotate(2.3deg); }
  91.07% { transform: translate3d(-59.9px,-48px,26px) rotate(1.7deg); }
  91.96% { transform: translate3d(-73.2px,-47.5px,26px) rotate(1.1deg); }
  92.86% { transform: translate3d(-84.8px,-46.9px,26px) rotate(0.7deg); }
  93.75% { transform: translate3d(-93.8px,-46.4px,26px) rotate(0.3deg); }
  94.64% { transform: translate3d(-99.8px,-46px,26px) rotate(0.1deg); }
  95.54% { transform: translate3d(-102.3px,-45.7px,26px) rotate(0deg); }
  96.43% { transform: translate3d(-102.4px,-45.4px,26px) rotate(0deg); }
  97.32% { transform: translate3d(-102.4px,-45.1px,26px) rotate(0deg); }
  98.21% { transform: translate3d(-102.4px,-44.7px,26px) rotate(0deg); }
  99.11% { transform: translate3d(-102.4px,-44.2px,26px) rotate(0deg); }
  100.00% { transform: translate3d(-102.4px,-43.7px,26px) rotate(0deg); }
}

@keyframes tpBurst {
  0%, 25.71% { opacity: 0; transform: translate3d(0,-6px,12px) scale(.25); }
  27.14% { opacity: .95; }
  35.00% { opacity: 0; transform: translate3d(0,-6px,12px) scale(2.1); }
  75.71% { opacity: 0; transform: translate3d(0,-6px,12px) scale(.25); }
  77.14% { opacity: .95; }
  85.00%, 100% { opacity: 0; transform: translate3d(0,-6px,12px) scale(2.1); }
}

/* масштаб под ширину колонки */
@media (max-width: 1320px) { .tp-stage { --s: .9; } }
@media (max-width: 1100px) { .tp-stage { --s: .78; } }
@media (max-width: 960px)  { .tp-stage { --s: .68; } }
@media (max-width: 820px)  { .tp-stage { --s: 1; height: 450px; } .tr-adv.tp-adv { padding-inline: 6vw; } body .tr-adv.tp-adv h2 { text-align: left; } }
@media (max-width: 640px)  { .tp-stage { --s: .86; height: 410px; } }
@media (max-width: 520px)  { .tp-stage { --s: .72; height: 370px; } }
@media (max-width: 440px)  { .tp-stage { --s: .57; height: 315px; } }
@media (max-width: 380px)  { .tp-stage { --s: .5; height: 290px; } }
@media (min-width: 428px) and (max-width: 820px) { .tr-adv.tp-adv { padding-inline: 7vw; } }

/* лёгкий режим: на телефонах без орбиты и блика — меньше слоёв для отрисовки */
@media (max-width: 820px), (pointer: coarse) { .tp-orbit, .tp-phone .gl { display: none; } }

@media (prefers-reduced-motion: reduce) {
  .tp-sway, .tp-orbit, .tp-head, .tp-aw .tp-up, .tp-aw .tp-fore, .tp-phone, .tp-burst, .tp-phone .gl:before { animation: none; }
}
