/* ==========================================================================
   ТРИУМФ — ruki.css
   Первый экран «Две руки»: рука робота (ИИ-юрист) слева, рука человека
   (юрист) справа, между ними — живая сфера инь-янь. Вся левая половина
   экрана — путь к ИИ, вся правая — к человеку. Отдельный файл, ничего
   глобального не трогает; откат — убрать одну строку в head.
   ========================================================================== */

.stage--ruki{
  position:relative; overflow:hidden; isolation:isolate;
  min-height:100dvh; min-height:100svh;
  display:block; padding:0;
  --px:0; --py:0;                 /* положение курсора −.5..+.5, ставит ruki.js */
  cursor:default;
}
/* поле остаётся, но чуть глубже; поверх — цветовой тон стороны и зерно */
.stage--ruki .field{ z-index:0; }
.ruki-tint{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(60% 80% at 12% 50%, rgba(120,150,190,.10), transparent 70%),
    radial-gradient(60% 80% at 88% 50%, rgba(163,47,54,.14), transparent 70%);
  opacity:.9; transition:opacity .8s var(--ease), background .8s var(--ease);
}
.stage--ruki[data-hover="ai"] .ruki-tint{
  background:
    radial-gradient(70% 90% at 22% 50%, rgba(120,150,190,.22), transparent 70%),
    radial-gradient(60% 80% at 88% 50%, rgba(163,47,54,.05), transparent 70%);
}
.stage--ruki[data-hover="human"] .ruki-tint{
  background:
    radial-gradient(60% 80% at 12% 50%, rgba(120,150,190,.04), transparent 70%),
    radial-gradient(70% 90% at 78% 50%, rgba(163,47,54,.26), transparent 70%);
}
.ruki-grain{
  position:absolute; inset:0; z-index:8; pointer-events:none; opacity:.07; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* ---------- текст: над сценой, кликов не ловит (клики идут в половины) ---------- */
.ruki-in{
  position:relative; z-index:auto; pointer-events:none;   /* без своего контекста: слово под руками, подписи над */
  min-height:100dvh; min-height:100svh;
  display:grid; grid-template-rows:auto 1fr auto; align-content:start;
  padding-top:calc(68px + var(--s3)); padding-bottom:var(--s5);
}
/* вертикальная ось сцены: слово стоит выше, руки — ниже, чтобы слово читалось целиком */
.stage--ruki{ --axis:58%; }
/* Верх — редакционная сетка: кикер слева, факты о центре справа. Центр
   экрана остаётся рукам и слову. */
.ruki-top{ position:relative; z-index:5; display:flex; justify-content:space-between; align-items:flex-start; gap:var(--s4); }
.ruki-top .stage-kicker{ margin:0; font-size:var(--t-sm); max-width:34ch; }
.ruki-meta{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; margin:4px 0 0; flex:none; font-family:var(--mono); font-size:var(--t-xs); letter-spacing:.06em; color:var(--fg-dim); text-align:right; }
.ruki-meta b{ color:var(--fg); font-weight:600; letter-spacing:.02em; }
/* Подсказка открывает нижний центр — под пальцами, над лидом */
.ruki-hint{
  position:relative; z-index:5; margin:0 0 4px;
  display:inline-flex; align-items:center; gap:14px; white-space:nowrap;
  padding:9px 18px; border:1px solid var(--line-strong); border-radius:var(--r-pill);
  font-family:var(--mono); font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase;
  color:var(--fg-muted); background:rgba(10,11,12,.45);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  opacity:0; transition:opacity .8s var(--ease) 1.6s;
}
.is-in .ruki-hint{ opacity:1; }
.ruki-hint .arrow{ color:var(--fg); font-family:var(--font); font-size:1rem; letter-spacing:0; }
.ruki-hint .arrow:first-child{ animation:ruki-nl 1.8s var(--ease) infinite; }
.ruki-hint .arrow:last-child{ animation:ruki-nr 1.8s var(--ease) infinite; }
@keyframes ruki-nl{ 0%,100%{ transform:translateX(0) } 50%{ transform:translateX(-5px) } }
@keyframes ruki-nr{ 0%,100%{ transform:translateX(0) } 50%{ transform:translateX(5px) } }

/* Слово во всю ширину, за руками. Буквы поднимаются по одной (ruki.js режет на span) */
.ruki-mid{ display:grid; place-items:center; align-content:start; padding-top:clamp(8px, 4vh, 40px); }
/* Слово занимает ~78 % ширины контейнера: Unbounded 700 — ~0,85em на букву,
   6 букв ≈ 5,1em → размер = ширина × 0,78 / 5,1 */
.ruki-mark{
  position:relative; z-index:2;
  font-size:clamp(3.2rem, 12.4vw, 12.6rem);
  line-height:.9; letter-spacing:-0.05em; margin:0 0 6vh;
  text-align:center; white-space:nowrap;
  color:var(--fg);
}
/* буквы: светлый верх, тающий низ — слово стоит в глубине, руки перед ним */
/* Буквы — сплошным цветом: заливка-градиент через background-clip:text резала
   Р и Ф (красится только внутри коробки элемента). Глубина — тенью и тем,
   что руки лежат перед словом. */
.ruki-mark span{
  display:inline-block; transform:translateY(.45em); opacity:0;
  color:#e9eaec; text-shadow:0 24px 60px rgba(0,0,0,.65);
}
.is-in .ruki-mark span{
  opacity:1; transform:none;
  transition:transform 1.6s var(--ease) calc(.35s + var(--i) * .09s), opacity 1.2s var(--ease) calc(.35s + var(--i) * .09s);
}
.ruki-center{ position:relative; z-index:7; display:grid; justify-items:center; gap:10px; max-width:58ch; margin-inline:auto; }
.ruki-lead{ margin:0; text-align:center; color:var(--fg-muted); font-size:var(--t-sm); line-height:1.5; text-wrap:balance;
  opacity:0; transform:translateY(12px); transition:opacity .8s var(--ease) .9s, transform .8s var(--ease) .9s; }
.is-in .ruki-lead{ opacity:1; transform:none; }
.ruki-lead b{ color:var(--fg); }

/* Низ: две подписи-пути по краям и ссылка на образец по центру */
.ruki-bottom{ display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:var(--s3); }
.ruki-under{ position:relative; z-index:7; text-align:center; pointer-events:auto; padding-bottom:6px; }
.ruki-under .tlink{ color:var(--fg-muted); }
.ruki-under .tlink:hover{ color:var(--fg); }

/* ---------- сцена: руки и сфера ---------- */
/* Руки лежат ПОВЕРХ слова и сходятся к сфере в центре. Кончик пальца робота —
   на 65,5 % ширины его картинки, кончик пальца человека — на 36,4 %; от этого
   и считается положение: палец останавливается в --gap от центра. */
.ruki-scene{ position:absolute; inset:0; z-index:3; pointer-events:none; }
.stage--ruki{ --w:clamp(420px, 62vw, 1000px); --gap:clamp(74px, 7vw, 110px); }
.ruki-hand{
  position:absolute; top:var(--axis);
  width:var(--w); aspect-ratio:16 / 9;
  transition:transform 1.8s var(--ease), opacity 1.4s var(--ease), filter 1.4s var(--ease);
  will-change:transform;
}
.ruki-hand img{ width:100%; height:100%; object-fit:contain; display:block;
  filter:drop-shadow(0 40px 60px rgba(0,0,0,.75)); }
.ruki-hand--ai{
  left:calc(50% - var(--gap) - var(--w) * 0.655);
  --sx:calc(-16vw + var(--px) * 18px);
  transform:translate3d(var(--sx), calc(-43.6% + var(--py) * 14px), 0);
}
.ruki-hand--human{
  right:calc(50% - var(--gap) - var(--w) * 0.636);
  --sx:calc(16vw + var(--px) * 18px);
  transform:translate3d(var(--sx), calc(-42.7% + var(--py) * 14px), 0);
}
/* въезд из-за краёв */
.is-in .ruki-hand--ai{ --sx:calc(0px + var(--px) * 18px); }
.is-in .ruki-hand--human{ --sx:calc(0px + var(--px) * 18px); }
/* дыхание — на внутренней обёртке, чтобы не спорить с параллаксом */
.ruki-hand .bob{ animation:ruki-bob 11s ease-in-out infinite; }
.ruki-hand--human .bob{ animation-delay:-5.5s; }
@keyframes ruki-bob{ 0%,100%{ transform:translateY(0) rotate(0deg) } 50%{ transform:translateY(-7px) rotate(-.4deg) } }

/* наведение: своя рука подаётся к центру и светлеет, чужая уходит в тень */
.stage--ruki[data-hover="ai"] .ruki-hand--ai{ --sx:calc(1.6vw + var(--px) * 18px); filter:brightness(1.12); }
.stage--ruki[data-hover="ai"] .ruki-hand--human{ --sx:calc(3vw + var(--px) * 18px); opacity:.5; filter:brightness(.5) blur(1px); }
.stage--ruki[data-hover="human"] .ruki-hand--human{ --sx:calc(-1.6vw + var(--px) * 18px); filter:brightness(1.1); }
.stage--ruki[data-hover="human"] .ruki-hand--ai{ --sx:calc(-3vw + var(--px) * 18px); opacity:.5; filter:brightness(.5) blur(1px); }

/* Искра в зазоре между пальцами (iskra.js). Холст ровно на ширину зазора
   плюс запас, чтобы разряд доставал до кончика пальца при наведении. */
.ruki-spark{
  position:absolute; left:50%; top:var(--axis); z-index:4;
  width:calc(var(--gap) * 2 + 24px); height:200px;
  transform:translate(-50%, -50%) translate3d(calc(var(--px) * -6px), calc(var(--py) * -5px), 0);
  transition:transform .6s var(--ease), opacity 1.2s var(--ease) 1.4s;
  pointer-events:none; opacity:0;
}
.is-in .ruki-spark{ opacity:1; }
/* без JS/при reduced-motion — тихий уголёк CSS-ом */
.ruki-spark::before{
  content:""; position:absolute; left:50%; top:50%; width:14px; height:14px; border-radius:50%;
  transform:translate(-50%, -50%);
  background:radial-gradient(circle, #fff 0%, #c33c46 45%, transparent 70%);
  box-shadow:0 0 24px 8px rgba(163,47,54,.45);
  animation:ruki-ember 3s ease-in-out infinite;
}
.ruki-spark canvas{ position:absolute; inset:0; width:100%; height:100%; }
.ruki-spark canvas + .ruki-spark::before{ display:none; }
.stage--ruki.js-spark .ruki-spark::before{ display:none; }
@keyframes ruki-ember{ 0%,100%{ opacity:.75; transform:translate(-50%,-50%) scale(.9) } 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.1) } }

/* ---------- две половины экрана — ссылки ---------- */
.ruki-side{
  position:absolute; top:0; bottom:0; width:50%; z-index:6;
  display:flex; align-items:flex-end;
  padding:0 var(--gutter) var(--s5);
  color:inherit; text-decoration:none; cursor:pointer;
  outline-offset:-6px;
}
.ruki-side--ai{ left:0; justify-content:flex-start; }
.ruki-side--human{ right:0; justify-content:flex-end; text-align:right; }
.ruki-side:focus-visible{ outline:2px solid var(--fg); }
.ruki-label{
  display:grid; gap:8px; max-width:30ch;
  opacity:0; transform:translateY(16px);
  transition:opacity .8s var(--ease) 1s, transform .8s var(--ease) 1s;
}
.ruki-side--human .ruki-label{ justify-items:end; }
.is-in .ruki-label{ opacity:1; transform:none; }
.ruki-tag{ font-family:var(--mono); font-size:var(--t-xs); letter-spacing:.16em; text-transform:uppercase; color:var(--fg-dim); }
.ruki-title{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.4rem, 1rem + 1.4vw, 2.1rem); letter-spacing:-0.03em; line-height:1; }
.ruki-text{ color:var(--fg-muted); font-size:var(--t-sm); line-height:1.5; }
.ruki-cta{
  display:inline-flex; align-items:center; gap:10px; margin-top:6px;
  padding:12px 20px; border:1px solid var(--line-strong); border-radius:var(--r-pill);
  font-weight:600; font-size:var(--t-sm); background:rgba(10,11,12,.4);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);
}
.ruki-cta .arw{ transition:transform var(--fast) var(--ease); }
.ruki-side:hover .ruki-cta{ background:var(--fg); color:#0a0b0c; border-color:var(--fg); }
.ruki-side:hover .ruki-cta .arw{ transform:translateX(4px); }
.ruki-side:active .ruki-cta{ transform:translateY(1px); }
.ruki-side--human:hover .ruki-cta{ background:var(--accent); color:#fff; border-color:var(--accent); }

/* подписи сторон — у своих рук: чуть выше низа, на одной линии с лидом */
.ruki-side{ padding-bottom:var(--s5); }
.ruki-label{ margin-bottom:6px; }

/* ---------- телефон: руки по диагонали, половины сверху/снизу ---------- */
@media (max-width: 860px){
  .ruki-in{ padding-top:calc(68px + var(--s2)); padding-bottom:var(--s3); }
  .ruki-top{ flex-direction:column; gap:6px; }
  .ruki-meta{ display:none; }
  .ruki-hint{ font-size:.6rem; padding:8px 12px; gap:8px; white-space:normal; text-align:center; max-width:88vw; }
  .ruki-hint .arrow{ font-size:.85rem; }
  .ruki-mark{ font-size:clamp(3.2rem, 15vw, 6rem); margin-bottom:0; }
  .ruki-mid{ align-content:start; padding-top:0; }
  .ruki-center{ max-width:40ch; }
  .ruki-lead{ font-size:.74rem; line-height:1.42; }
  .ruki-lead b{ display:block; margin-bottom:2px; font-size:.86rem; }
  .ruki-under{ display:none; }   /* «пример результата» на телефоне — ниже, в сцене 03 */
  .ruki-bottom{ padding-bottom:150px; }
  .stage--ruki{ --w:min(86vw, 480px); --gap:46px; }
  .ruki-hand{ top:auto; }
  .ruki-hand--ai{ left:calc(50% - var(--gap) - var(--w) * 0.655); top:36%; --sx:calc(-30vw + var(--px) * 8px); transform:translate3d(var(--sx), -50%, 0); }
  .ruki-hand--human{ right:calc(50% - var(--gap) - var(--w) * 0.636); top:60%; --sx:calc(30vw + var(--px) * 8px); transform:translate3d(var(--sx), -50%, 0); }
  .is-in .ruki-hand--ai, .is-in .ruki-hand--human{ --sx:calc(0px + var(--px) * 8px); }
  .stage--ruki[data-hover] .ruki-hand{ filter:none; opacity:1; }
  .ruki-spark{ top:48%; width:150px; height:150px; }
  /* половины — слева/справа во всю высоту; подписи в нижних углах, под лидом */
  .ruki-side{ width:50%; padding:0 var(--gutter) var(--s3); }
  .ruki-label{ max-width:none; gap:6px; }
  .ruki-title{ font-size:1.05rem; }
  .ruki-text{ display:none; }
  .ruki-cta{ padding:10px 13px; font-size:.74rem; gap:6px; }
  .ruki-cta{ background:rgba(255,255,255,.08); }
  .ruki-bottom{ grid-template-columns:1fr; }
  .ruki-under{ padding-bottom:0; }
}

@media (prefers-reduced-motion: reduce){
  .ruki-hand, .ruki-hand .bob, .ruki-core, .ruki-core::before, .ruki-core .yy-static,
  .ruki-hint .arrow, .ruki-mark span, .ruki-label{ animation:none !important; transition:none !important; }
  .ruki-hand{ --sx:0px !important; }
  .ruki-mark span{ opacity:1; transform:none; }
  .ruki-label{ opacity:1; transform:none; }
}

/* ==========================================================================
   ТЕЛЕФОН, раскладка v2 (решение 26.09 вечер): экран читается сверху вниз —
   кикер → слово → сцена (руки/фигуры) → подсказка → две большие кнопки-пути
   в ряд → короткий лид. Половины-ссылки перестают быть невидимыми зонами и
   становятся кнопками: на сенсорном экране наведения нет, жать надо явно.
   ========================================================================== */
@media (max-width: 860px){
  .stage--ruki{ display:flex; flex-wrap:wrap; align-content:flex-start; min-height:100svh; padding-bottom:18px; }
  .stage--ruki .ruki-in{ width:100%; min-height:0; display:grid; grid-template-rows:auto auto auto; padding-bottom:0; }
  .stage--ruki .ruki-top{ order:0; }
  .stage--ruki .ruki-mid{ order:1; min-height:0; padding-top:0; }
  .stage--ruki .ruki-mark{ font-size:clamp(3rem, 14.5vw, 5.6rem); }
  /* пустой блок под сцену: руки лежат абсолютом поверх него */
  .stage--ruki .ruki-mid::after{ content:""; display:block; height:40vh; }
  .stage--ruki .ruki-bottom{ order:2; padding-bottom:0; }
  .stage--ruki .ruki-center{ max-width:none; gap:8px; }
  .stage--ruki .ruki-hint{ order:0; }
  .stage--ruki .ruki-lead{ order:2; font-size:.74rem; }
  /* кнопки-пути: в потоке, в ряд */
  .stage--ruki .ruki-side{ position:static; width:50%; height:auto; padding:14px var(--gutter) 0 var(--gutter); order:3; z-index:6; }
  .stage--ruki .ruki-side--ai{ padding-right:6px; }
  .stage--ruki .ruki-side--human{ padding-left:6px; }
  .stage--ruki .ruki-label{ width:100%; gap:8px; padding:14px 14px 14px; border:1px solid var(--line); border-radius:10px; background:rgba(10,11,12,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
  .stage--ruki .ruki-side--human .ruki-label{ border-color:rgba(163,47,54,.45); }
  .stage--ruki .ruki-title{ font-size:1.02rem; }
  .stage--ruki .ruki-text{ display:none; }
  .stage--ruki .ruki-cta{ width:100%; justify-content:space-between; padding:10px 12px; font-size:.74rem; margin-top:2px; }
  /* лид остаётся под подсказкой (текст для поиска не прячем) */
  /* руки: сцена в среднем блоке */
  .stage--ruki{ --w:min(94vw, 480px); --gap:44px; }
  .stage--ruki .ruki-hand--ai{ top:31%; }
  .stage--ruki .ruki-hand--human{ top:52%; }
  .stage--ruki .ruki-spark{ top:42%; }
  .stage--ruki .ruki-scene{ z-index:3; }
}

/* ==========================================================================
   ТЕЛЕФОН, раскладка v3 (ночь 26→27.09): выбор — прямо на картинке.
   Кнопки-карточки внизу «не попали в цель», поэтому: каждая половина — это
   зона касания вокруг своей руки, а подпись-призыв стоит напротив руки
   (у робота — справа, у человека — слева). Ниже сцены — подсказка и лид.
   ========================================================================== */
@media (max-width: 860px){
  .stage--ruki{ display:block; padding-bottom:22px; }
  .stage--ruki .ruki-in{ grid-template-rows:auto auto auto; }
  .stage--ruki .ruki-mid::after{ height:48vh; }
  .stage--ruki .ruki-side{
    position:absolute; left:0; right:0; width:100%; height:24%; padding:0 var(--gutter);
    display:flex; align-items:center; z-index:6; order:0;
  }
  /* подпись — на той же стороне, что и рука: ИИ слева (над рукой робота), человек справа (под рукой человека) */
  .stage--ruki .ruki-side--ai{ top:40%; height:13%; justify-content:flex-start; align-items:flex-start; }
  .stage--ruki .ruki-side--human{ top:59%; height:13%; justify-content:flex-end; align-items:flex-start; text-align:right; }
  .stage--ruki .ruki-mid::after{ height:56vh; }
  .stage--ruki .ruki-label{
    width:auto; max-width:56%; gap:4px; padding:10px 12px 12px;
    border:1px solid var(--line-strong); border-radius:12px;
    background:rgba(10,11,12,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    opacity:0; transform:translateY(10px);
  }
  .stage--ruki.is-in .ruki-label{ opacity:1; transform:none; }
  .stage--ruki .ruki-side--ai .ruki-label{ justify-items:start; text-align:left; border-color:rgba(160,200,255,.4); }
  .stage--ruki .ruki-side--human .ruki-label{ justify-items:end; text-align:right; border-color:rgba(163,47,54,.55); }
  .stage--ruki .ruki-tag{ font-size:.58rem; }
  .stage--ruki .ruki-title{ font-size:.98rem; }
  .stage--ruki .ruki-text{ display:none; }
  .stage--ruki .ruki-cta{ width:auto; padding:8px 11px; font-size:.7rem; gap:6px; margin-top:4px; background:rgba(255,255,255,.08); }
  .stage--ruki .ruki-side--human .ruki-cta{ background:rgba(163,47,54,.28); border-color:rgba(163,47,54,.5); }
  /* руки: робот выше-слева, человек ниже-справа, реактор между ними */
  .stage--ruki{ --w:min(96vw, 500px); --gap:44px; --axis:41%; }
  .stage--ruki .ruki-hand--ai{ top:30%; }
  .stage--ruki .ruki-hand--human{ top:51%; }
  .stage--ruki .ruki-spark{ top:41%; }
  .stage--ruki .ruki-bottom{ padding-bottom:0; }
  .stage--ruki .ruki-center{ gap:10px; }
}

/* ==========================================================================
   ТЕЛЕФОН, раскладка v4 (27.09 ~00:40): подписи не должны ни перекрывать
   руки/реактор, ни стоять напротив своей руки. Порядок сверху вниз:
   кикер → слово → сцена (руки + реактор) → две компактные кнопки-пути
   СРАЗУ под руками, каждая под своей рукой (ИИ слева, человек справа) →
   подсказка → лид. Достигается через display:contents у .ruki-in: его
   блоки и половины-ссылки становятся одним потоком с порядком order.
   ========================================================================== */
@media (max-width: 860px){
  .stage--ruki{ display:flex; flex-wrap:wrap; align-content:flex-start; padding-bottom:22px; }
  .stage--ruki .ruki-in{ display:contents; }
  .stage--ruki .ruki-top{ order:0; width:100%; padding:calc(68px + var(--s2)) var(--gutter) 0; }
  .stage--ruki .ruki-mid{ order:1; width:100%; padding:0 var(--gutter); }
  .stage--ruki .ruki-mid::after{ height:44vh; }
  .stage--ruki .ruki-side{
    position:static; width:50%; height:auto; order:2; z-index:6;
    display:flex; align-items:stretch; padding:0 5px 0 var(--gutter);
  }
  .stage--ruki .ruki-side--human{ order:3; padding:0 var(--gutter) 0 5px; justify-content:flex-end; text-align:right; }
  .stage--ruki .ruki-label{
    width:100%; max-width:none; gap:6px; padding:12px 12px 12px;
    border:1px solid var(--line-strong); border-radius:12px;
    background:rgba(10,11,12,.6); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    opacity:0; transform:translateY(10px); transition:opacity .9s var(--ease) 1.4s, transform .9s var(--ease) 1.4s;
  }
  .stage--ruki.is-in .ruki-label{ opacity:1; transform:none; }
  .stage--ruki .ruki-side--ai .ruki-label{ justify-items:start; text-align:left; border-color:rgba(160,200,255,.4); }
  .stage--ruki .ruki-side--human .ruki-label{ justify-items:end; text-align:right; border-color:rgba(163,47,54,.55); }
  .stage--ruki .ruki-title{ font-size:1rem; }
  .stage--ruki .ruki-cta{ width:100%; justify-content:space-between; padding:9px 11px; font-size:.72rem; margin-top:2px; }
  .stage--ruki .ruki-bottom{ order:4; width:100%; padding:14px var(--gutter) 0; }
  .stage--ruki .ruki-center{ gap:10px; }
  /* руки и реактор — в блоке сцены (проценты от высоты секции) */
  .stage--ruki{ --w:min(94vw, 480px); --gap:44px; --axis:39%; }
  .stage--ruki .ruki-hand--ai{ top:28%; }
  .stage--ruki .ruki-hand--human{ top:49%; }
  .stage--ruki .ruki-spark{ top:39%; }
}
