/* HelpRetouch · «Мастер». Только transform/opacity; все селекторы внутри .hrh-char.
   Неподвижные SVG-группы translate задают анатомические точки. Дочерние суставы
   вращаются вокруг локального (0,0), независимо от другой руки или ноги. */
@property --hrh-idle-weight{syntax:"<number>";inherits:true;initial-value:0}
/* Коэффициент гасит привычку при смене позы; результат — только transform/opacity. */
.hrh-char{width:104px;height:177px;--hrh-idle-weight:0;transition:--hrh-idle-weight .35s ease}
.hrh-char.hrh-idle{--hrh-idle-weight:1}
.hrh-char svg{display:block;width:100%;height:100%;overflow:visible}
.hrh-char .hrh-joint{transform-box:view-box;transform-origin:0 0;transition:transform .35s cubic-bezier(.22,.64,.3,1)}
.hrh-char :is(.hrh-torso-pose,.hrh-torso-motion,.hrh-breathe){transform-origin:110px 184px}
.hrh-char :is(.hrh-head-pose,.hrh-head-motion,.hrh-head-habit,.hrh-head-turn){transform-origin:112px 73px}
.hrh-char .hrh-beard{transform-origin:114px 50px}
.hrh-char .hrh-cap{transform-origin:113px 28px}
.hrh-char .hrh-apron{transform-origin:111px 168px}
.hrh-char .hrh-loupe-swing{transform-origin:129px 174px}
.hrh-char .hrh-smile{transform-origin:116px 55px}
.hrh-char .hrh-near>.hrh-shoulder{transform:rotate(-6deg)}
.hrh-char .hrh-near .hrh-elbow{transform:rotate(-7deg)}
.hrh-char .hrh-far>.hrh-shoulder{transform:rotate(6deg)}
.hrh-char .hrh-far .hrh-elbow{transform:rotate(-9deg)}
.hrh-char .hrh-eye-open{transform-box:fill-box;transform-origin:center;animation:hrh-blink 4.7s linear infinite}
.hrh-char .hrh-eye-closed{animation:hrh-lids 4.7s linear infinite}
.hrh-char .hrh-easel{pointer-events:none;transition:opacity .35s ease}
.hrh-char .hrh-easel-arrive{transform:translateY(5px);transition:transform .35s ease}
.hrh-char :is(.hrh-gaze,.hrh-worn-glasses,.hrh-tool){transition:transform .35s,opacity .25s}
@keyframes hrh-blink{0%,93%,97%,100%{transform:scaleY(1)}95%{transform:scaleY(.04)}}
@keyframes hrh-lids{0%,93.5%,96.5%,100%{opacity:0}94.5%,95.5%{opacity:1}}

/* Покой. Привычки занимают 2,8 / 2,8 / 2,6 с в цикле 26 с; между ними паузы.
   Очки действительно снимаются с лица и находятся в ближней кисти у фартука.
   Вторая рука придерживает ткань; затем поднимает лупу к резцу. */
.hrh-char:is(.hrh-idle,.hrh-greet,.hrh-nod) .hrh-breathe{animation:hrh-breathe 5.3s ease-in-out infinite}
.hrh-char.hrh-idle .hrh-torso-motion{animation:hrh-weight-idle 9.1s ease-in-out infinite}
.hrh-char .hrh-near .hrh-shoulder-habit{animation:hrh-idle-near-shoulder 26s ease-in-out infinite}
.hrh-char .hrh-near .hrh-elbow-habit{animation:hrh-idle-near-elbow 26s ease-in-out infinite}
.hrh-char .hrh-near .hrh-wrist-habit{animation:hrh-idle-near-wrist 26s ease-in-out infinite}
.hrh-char .hrh-far .hrh-shoulder-habit{animation:hrh-idle-far-shoulder 26s ease-in-out infinite}
.hrh-char .hrh-far .hrh-elbow-habit{animation:hrh-idle-far-elbow 26s ease-in-out infinite}
.hrh-char .hrh-head-habit{animation:hrh-idle-head 26s ease-in-out infinite}
.hrh-char .hrh-gaze-habit{animation:hrh-idle-gaze 26s ease-in-out infinite}
.hrh-char .hrh-worn-glasses{animation:hrh-glasses-worn 26s ease-in-out infinite}
.hrh-char .hrh-glasses-held{animation:hrh-glasses-held 26s ease-in-out infinite}
.hrh-char .hrh-tool{animation:hrh-tool-rest 26s ease-in-out infinite}
.hrh-char .hrh-wipe-cloth{animation:hrh-wipe-cloth 26s ease-in-out infinite}
.hrh-char .hrh-loupe-rest{animation:hrh-loupe-rest 26s ease-in-out infinite}
.hrh-char :is(.hrh-loupe-held,.hrh-loupe-cord-held){animation:hrh-loupe-held 26s ease-in-out infinite}
.hrh-char.hrh-idle .hrh-loupe-swing{animation:hrh-loupe-idle 6.7s ease-in-out infinite}
.hrh-char.hrh-idle .hrh-beard{animation:hrh-beard-idle 6.1s ease-in-out infinite}
.hrh-char.hrh-idle .hrh-apron{animation:hrh-apron-idle 9.1s ease-in-out .12s infinite}
.hrh-char.hrh-idle .hrh-smile{animation:hrh-viewer-smile 26s ease-in-out infinite}
.hrh-char:not(.hrh-idle) :is(.hrh-shoulder-habit,.hrh-elbow-habit,.hrh-wrist-habit,.hrh-head-habit,.hrh-gaze-habit,.hrh-worn-glasses,.hrh-glasses-held,.hrh-tool,.hrh-wipe-cloth,.hrh-loupe-rest,.hrh-loupe-held,.hrh-loupe-cord-held){animation-play-state:paused}
@keyframes hrh-breathe{0%,100%{transform:scaleY(1)}46%{transform:scaleY(1.007)}}
@keyframes hrh-weight-idle{0%,100%{transform:translateX(-.7px) rotate(-.25deg)}54%{transform:translateX(1px) rotate(.45deg)}}
@keyframes hrh-idle-near-shoulder{0%,8%,19%,42%,54%,100%{transform:rotate(0)}10.5%,11.5%,17%{transform:rotate(calc(-99.68deg * var(--hrh-idle-weight)))}13%,14.5%{transform:rotate(calc(-2.96deg * var(--hrh-idle-weight)))}15.2%{transform:rotate(calc(-1.5deg * var(--hrh-idle-weight)))}45%,50%{transform:rotate(calc(-41.23deg * var(--hrh-idle-weight)))}}
@keyframes hrh-idle-near-elbow{0%,8%,19%,42%,54%,100%{transform:rotate(0)}10.5%,11.5%,17%{transform:rotate(calc(-104.31deg * var(--hrh-idle-weight)))}13%,14.5%{transform:rotate(calc(-47.88deg * var(--hrh-idle-weight)))}15.2%{transform:rotate(calc(-45deg * var(--hrh-idle-weight)))}45%,50%{transform:rotate(calc(-30.49deg * var(--hrh-idle-weight)))}}
@keyframes hrh-idle-near-wrist{0%,8%,19%,42%,54%,100%{transform:rotate(0)}10.5%,11.5%,17%{transform:rotate(calc(14deg * var(--hrh-idle-weight)))}13%,15.5%{transform:rotate(calc(35deg * var(--hrh-idle-weight)))}14%{transform:rotate(calc(28deg * var(--hrh-idle-weight)))}45%,50%{transform:rotate(calc(-60deg * var(--hrh-idle-weight)))}}
@keyframes hrh-idle-far-shoulder{0%,11%,18%,42%,54%,100%{transform:rotate(0)}13%,15.5%{transform:rotate(calc(24.36deg * var(--hrh-idle-weight)))}45%,50%{transform:rotate(calc(4.41deg * var(--hrh-idle-weight)))}}
@keyframes hrh-idle-far-elbow{0%,11%,18%,42%,54%,100%{transform:rotate(0)}13%,15.5%{transform:rotate(calc(-70.57deg * var(--hrh-idle-weight)))}45%,50%{transform:rotate(calc(-138.18deg * var(--hrh-idle-weight)))}}
@keyframes hrh-idle-head{0%,8%,19%,42%,54%,74%,85%,100%{transform:rotate(0)}13%,15%{transform:rotate(calc(8deg * var(--hrh-idle-weight)))}45%,50%{transform:rotate(calc(10deg * var(--hrh-idle-weight))) translateX(calc(1px * var(--hrh-idle-weight)))}77%,82%{transform:rotate(calc(-3deg * var(--hrh-idle-weight))) translateX(calc(-.5px * var(--hrh-idle-weight)))}}
@keyframes hrh-idle-gaze{0%,8%,19%,42%,54%,74%,85%,100%{transform:translate(0,0)}13%,15%{transform:translate(calc(.4px * var(--hrh-idle-weight)),calc(1px * var(--hrh-idle-weight)))}45%,50%{transform:translate(calc(1px * var(--hrh-idle-weight)),calc(1.2px * var(--hrh-idle-weight)))}77%,82%{transform:translate(calc(-.8px * var(--hrh-idle-weight)),calc(.2px * var(--hrh-idle-weight)))}}
@keyframes hrh-glasses-worn{0%,10.5%,17.4%,100%{opacity:1}11.3%,16.7%{opacity:calc(1 - var(--hrh-idle-weight))}}
@keyframes hrh-glasses-held{0%,10.5%,17.4%,100%{opacity:0}11.3%,16.7%{opacity:var(--hrh-idle-weight)}}
@keyframes hrh-tool-rest{0%,8%,19%,100%{opacity:1}9%,18%{opacity:calc(1 - var(--hrh-idle-weight))}}
@keyframes hrh-wipe-cloth{0%,12%,16.4%,100%{opacity:0;transform:translateY(3px)}13%,15.5%{opacity:var(--hrh-idle-weight);transform:translateY(0)}}
@keyframes hrh-loupe-rest{0%,42%,53%,100%{opacity:1}44%,51%{opacity:calc(1 - var(--hrh-idle-weight))}}
@keyframes hrh-loupe-held{0%,42%,53%,100%{opacity:0}44%,51%{opacity:var(--hrh-idle-weight)}}
@keyframes hrh-loupe-idle{0%,100%{transform:rotate(-1.2deg)}51%{transform:rotate(1.6deg)}}
@keyframes hrh-beard-idle{0%,100%{transform:rotate(-.3deg)}48%{transform:rotate(.4deg)}}
@keyframes hrh-apron-idle{0%,100%{transform:rotate(.25deg)}54%{transform:rotate(-.35deg)}}
@keyframes hrh-viewer-smile{0%,74%,85%,100%{transform:scale(1)}77%,82%{transform:scale(1.06,1.12)}}

/* Шаг. 30.10: прежний цикл держал обе ноги всё время согнутыми и вынесенными вперёд — походка
   выглядела присевшей. Теперь меньший шаг: нога уходит вперёд и назад, колено сгибается только при переносе. */
.hrh-char.hrh-walk .hrh-leg-lift{transform:translateY(2px)}
.hrh-char.hrh-walk .hrh-hip{animation:hrh-walk-hip 1.1s ease-in-out infinite}
.hrh-char.hrh-walk .hrh-knee{animation:hrh-walk-knee 1.1s ease-in-out infinite}
.hrh-char.hrh-walk .hrh-ankle{animation:hrh-walk-ankle 1.1s ease-in-out infinite}
.hrh-char.hrh-walk .hrh-far :is(.hrh-hip,.hrh-knee,.hrh-ankle){animation-delay:-.55s}
.hrh-char.hrh-walk .hrh-near>.hrh-shoulder{transform:rotate(0)}
.hrh-char.hrh-walk .hrh-far>.hrh-shoulder{transform:rotate(0)}
.hrh-char.hrh-walk .hrh-shoulder-cycle{animation:hrh-walk-arm 1.1s ease-in-out infinite}
.hrh-char.hrh-walk .hrh-far .hrh-shoulder-cycle{animation-delay:-.55s}
.hrh-char.hrh-walk .hrh-elbow-cycle{animation:hrh-walk-elbow 1.1s ease-in-out infinite}
.hrh-char.hrh-walk .hrh-far .hrh-elbow-cycle{animation-delay:-.55s}
.hrh-char.hrh-walk .hrh-wrist-cycle{animation:hrh-walk-wrist 1.1s ease-in-out .08s infinite}
.hrh-char.hrh-walk .hrh-torso-motion{animation:hrh-walk-body .55s ease-in-out infinite}
.hrh-char.hrh-walk .hrh-head-motion{animation:hrh-walk-head .55s ease-in-out .07s infinite}
.hrh-char.hrh-walk .hrh-apron{animation:hrh-walk-apron 1.1s ease-in-out .11s infinite}
.hrh-char.hrh-walk .hrh-beard{animation:hrh-walk-beard .55s ease-in-out .06s infinite}
.hrh-char.hrh-walk .hrh-loupe-swing{animation:hrh-walk-loupe 1.1s ease-in-out .15s infinite}
@keyframes hrh-walk-arm{0%,100%{transform:rotate(11deg)}48%{transform:rotate(-13deg)}}
@keyframes hrh-walk-elbow{0%,100%{transform:rotate(-1deg)}46%{transform:rotate(-5deg)}}
@keyframes hrh-walk-wrist{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes hrh-walk-body{0%,100%{transform:translateY(.4px) rotate(.4deg)}44%{transform:translateY(-.8px) rotate(-.5deg)}}
@keyframes hrh-walk-head{0%,100%{transform:rotate(.7deg)}50%{transform:rotate(-.5deg)}}
@keyframes hrh-walk-apron{0%,100%{transform:rotate(1.6deg)}50%{transform:rotate(-1.7deg)}}
@keyframes hrh-walk-beard{0%,100%{transform:rotate(.9deg)}50%{transform:rotate(-.7deg)}}
@keyframes hrh-walk-loupe{0%,100%{transform:rotate(4deg)}50%{transform:rotate(-4deg)}}

/* Указание: короткое предвосхищение и мягкая доводка запястья. */
.hrh-char.hrh-point .hrh-torso-pose{transform:rotate(-2.5deg)}
.hrh-char.hrh-point .hrh-near>.hrh-shoulder{transform:rotate(-110deg)}
.hrh-char.hrh-point .hrh-near .hrh-elbow{transform:rotate(-20deg)}
.hrh-char.hrh-point .hrh-near .hrh-wrist{transform:rotate(4deg)}
.hrh-char.hrh-point .hrh-head-pose{transform:rotate(-6deg)}
.hrh-char.hrh-point .hrh-gaze{transform:translate(1px,-.7px)}
.hrh-char.hrh-point .hrh-near .hrh-wrist-cycle{animation:hrh-point-settle .65s ease-out}
@keyframes hrh-point-settle{0%{transform:rotate(5deg)}24%{transform:rotate(8deg)}70%{transform:rotate(-1.5deg)}100%{transform:rotate(0)}}

/* Гравировка, пауза для выдоха и оценка результата — цикл 8,8 с. */
.hrh-char.hrh-work .hrh-easel{opacity:1}
.hrh-char.hrh-work .hrh-easel-arrive{transform:translateY(0)}
.hrh-char.hrh-work .hrh-torso-pose{transform:rotate(-2deg)}
.hrh-char.hrh-work .hrh-near>.hrh-shoulder{transform:rotate(-46deg)}
.hrh-char.hrh-work .hrh-near .hrh-elbow{transform:rotate(-42deg)}
.hrh-char.hrh-work .hrh-near .hrh-wrist{transform:rotate(4deg)}
.hrh-char.hrh-work .hrh-head-pose{transform:rotate(6deg)}
.hrh-char.hrh-work .hrh-gaze{transform:translate(.7px,.8px)}
.hrh-char.hrh-work .hrh-near .hrh-shoulder-cycle{animation:hrh-work-shoulder 8.8s ease-in-out infinite}
.hrh-char.hrh-work .hrh-near .hrh-elbow-cycle{animation:hrh-work-elbow 8.8s ease-in-out infinite}
.hrh-char.hrh-work .hrh-near .hrh-wrist-cycle{animation:hrh-work-wrist 8.8s ease-in-out infinite}
.hrh-char.hrh-work .hrh-torso-motion{animation:hrh-work-body 8.8s ease-in-out infinite}
.hrh-char.hrh-work .hrh-head-motion{animation:hrh-work-head 8.8s ease-in-out infinite}
.hrh-char.hrh-work .hrh-beard{animation:hrh-work-beard 8.8s ease-in-out .09s infinite}
.hrh-char.hrh-work .hrh-dust{animation:hrh-dust 8.8s ease-out infinite}
.hrh-char.hrh-work .hrh-engraved-outline{animation:hrh-etch-outline 8.8s ease-in-out infinite}
.hrh-char.hrh-work .hrh-engraved-face{animation:hrh-etch-face 8.8s ease-in-out infinite}
.hrh-char.hrh-work .hrh-engraved-finish{animation:hrh-etch-finish 8.8s ease-in-out infinite}
@keyframes hrh-work-shoulder{0%,100%{transform:rotate(0)}9%,27%,45%{transform:rotate(-1.5deg)}18%,36%,54%{transform:rotate(1deg)}62%,68%{transform:rotate(4deg)}79%,91%{transform:rotate(7deg)}}
@keyframes hrh-work-elbow{0%,100%{transform:rotate(0)}9%,27%,45%{transform:rotate(2deg)}18%,36%,54%{transform:rotate(-1deg)}62%,68%{transform:rotate(-6deg)}79%,91%{transform:rotate(-10deg)}}
@keyframes hrh-work-wrist{0%,100%{transform:rotate(0)}9%,27%,45%{transform:rotate(-3deg)}18%,36%,54%{transform:rotate(3deg)}63%,92%{transform:rotate(-6deg)}}
@keyframes hrh-work-body{0%,54%,100%{transform:rotate(0)}59%{transform:rotate(.5deg)}66%,69%{transform:rotate(-2.2deg)}80%,91%{transform:rotate(1.5deg)}}
@keyframes hrh-work-head{0%,54%,100%{transform:rotate(0)}59%{transform:rotate(-1deg)}66%,69%{transform:rotate(7deg) translateX(2px)}80%,91%{transform:rotate(-7deg) translateX(-1px)}}
@keyframes hrh-work-beard{0%,58%,100%{transform:rotate(0)}67%,72%{transform:rotate(1.3deg)}82%,92%{transform:rotate(-.5deg)}}
@keyframes hrh-dust{0%,64%,80%,100%{opacity:0;transform:translate(0,0)}67%{opacity:.75;transform:translate(3px,-1px)}78%{opacity:0;transform:translate(18px,-7px)}}
@keyframes hrh-etch-outline{0%{opacity:.18}23%,94%{opacity:1}100%{opacity:.18}}
@keyframes hrh-etch-face{0%,15%{opacity:0}48%,94%{opacity:1}100%{opacity:0}}
@keyframes hrh-etch-finish{0%,35%{opacity:0}70%,94%{opacity:.9}100%{opacity:0}}

/* Приветствие: пальцы сначала касаются края берета, затем приподнимают его.
   Однократный жест, после 1,5 с — исходные руки и спокойное дыхание. */
.hrh-char.hrh-greet .hrh-far .hrh-shoulder-cycle{animation:hrh-greet-shoulder 1.5s cubic-bezier(.4,0,.3,1)}
.hrh-char.hrh-greet .hrh-far .hrh-elbow-cycle{animation:hrh-greet-elbow 1.5s cubic-bezier(.4,0,.3,1)}
.hrh-char.hrh-greet .hrh-far .hrh-wrist-cycle{animation:hrh-greet-wrist 1.5s ease-in-out}
.hrh-char.hrh-greet .hrh-cap{animation:hrh-greet-cap 1.5s ease-in-out}
.hrh-char.hrh-greet .hrh-head-motion{animation:hrh-greet-head 1.5s ease-in-out}
@keyframes hrh-greet-shoulder{0%,100%{transform:rotate(0)}9%{transform:rotate(3deg)}29%,72%{transform:rotate(-145.31deg)}45%,56%{transform:rotate(-150.55deg)}}
@keyframes hrh-greet-elbow{0%,100%{transform:rotate(0)}9%{transform:rotate(-3deg)}29%,72%{transform:rotate(-80.06deg)}45%,56%{transform:rotate(-53.45deg)}}
@keyframes hrh-greet-wrist{0%,100%{transform:rotate(0)}29%,72%{transform:rotate(10deg)}45%,56%{transform:rotate(6deg)}}
@keyframes hrh-greet-cap{0%,29%,72%,100%{transform:translate(0,0) rotate(0)}45%,56%{transform:translate(8px,-12px) rotate(6deg)}}
@keyframes hrh-greet-head{0%,24%,100%{transform:rotate(0)}49%,59%{transform:rotate(4deg) translateY(1px)}81%{transform:rotate(-.7deg)}}

/* Размышление: ближняя кисть под подбородком; резец убран, взгляд вверх. */
.hrh-char.hrh-think .hrh-near>.hrh-shoulder{transform:rotate(-57.48deg)}
.hrh-char.hrh-think .hrh-near .hrh-elbow{transform:rotate(-125.17deg)}
.hrh-char.hrh-think .hrh-near .hrh-wrist{transform:rotate(10deg)}
.hrh-char .hrh-tool-pose{transition:opacity .25s}
.hrh-char.hrh-think .hrh-tool-pose{opacity:0}
.hrh-char.hrh-think .hrh-head-pose{transform:rotate(-4deg)}
.hrh-char.hrh-think .hrh-gaze{transform:translate(1.1px,-.9px)}
.hrh-char.hrh-think .hrh-torso-motion{animation:hrh-think-body 5.9s ease-in-out infinite}
.hrh-char.hrh-think .hrh-head-motion{animation:hrh-think-head 5.9s ease-in-out .12s infinite}
.hrh-char.hrh-think .hrh-near .hrh-wrist-cycle{animation:hrh-think-wrist 5.9s ease-in-out infinite}
@keyframes hrh-think-body{0%,100%{transform:rotate(-.4deg)}52%{transform:rotate(.6deg)}}
@keyframes hrh-think-head{0%,100%{transform:rotate(0)}52%{transform:rotate(-1.3deg)}}
@keyframes hrh-think-wrist{0%,100%{transform:rotate(0)}52%{transform:rotate(2deg)}}

/* Одобрение: предвосхищение, кивок, короткое движение резцом, доводка. */
.hrh-char.hrh-nod .hrh-head-motion{animation:hrh-nod-head 1.5s ease-in-out}
.hrh-char.hrh-nod .hrh-near .hrh-shoulder-cycle{animation:hrh-nod-shoulder 1.5s ease-in-out}
.hrh-char.hrh-nod .hrh-near .hrh-elbow-cycle{animation:hrh-nod-elbow 1.5s ease-in-out}
.hrh-char.hrh-nod .hrh-near .hrh-wrist-cycle{animation:hrh-nod-wrist 1.5s ease-in-out}
.hrh-char.hrh-nod .hrh-beard{animation:hrh-nod-beard 1.5s ease-in-out .06s}
.hrh-char.hrh-nod .hrh-smile{animation:hrh-nod-smile 1.5s ease-in-out}
@keyframes hrh-nod-head{0%,100%{transform:rotate(0)}16%{transform:rotate(-2deg)}43%{transform:rotate(8deg) translateY(1px)}72%{transform:rotate(-1.5deg)}89%{transform:rotate(.5deg)}}
@keyframes hrh-nod-shoulder{0%,100%{transform:rotate(0)}14%{transform:rotate(2deg)}44%,60%{transform:rotate(-21.51deg)}80%{transform:rotate(1deg)}}
@keyframes hrh-nod-elbow{0%,100%{transform:rotate(0)}14%{transform:rotate(-2deg)}44%,60%{transform:rotate(-57.1deg)}80%{transform:rotate(-3deg)}}
@keyframes hrh-nod-wrist{0%,100%{transform:rotate(0)}44%,60%{transform:rotate(-35deg)}78%{transform:rotate(2deg)}}
@keyframes hrh-nod-beard{0%,100%{transform:rotate(0)}44%{transform:rotate(1.2deg)}73%{transform:rotate(-.7deg)}}
@keyframes hrh-nod-smile{0%,100%{transform:scale(1)}37%,68%{transform:scale(1.08,1.12)}}

@media(max-width:760px){.hrh-char{width:70px;height:119px}}
/* Сохраняются только неподвижные translate-якоря. Все позы становятся спокойными. */
@media(prefers-reduced-motion:reduce){
  .hrh-char{--hrh-idle-weight:0;transition:none!important}
  .hrh-char *{animation:none!important;transition:none!important}
  .hrh-char :is(.hrh-joint,.hrh-torso-motion,.hrh-head-motion,.hrh-head-habit,.hrh-gaze-habit,.hrh-breathe,.hrh-beard,.hrh-cap,.hrh-gaze,.hrh-apron,.hrh-loupe-swing,.hrh-smile,.hrh-easel-arrive){transform:none!important}
  .hrh-char :is(.hrh-eye-open,.hrh-worn-glasses,.hrh-tool,.hrh-tool-pose,.hrh-loupe-rest,.hrh-engraved-outline,.hrh-engraved-face,.hrh-engraved-finish){opacity:1!important}
  .hrh-char :is(.hrh-eye-closed,.hrh-glasses-held,.hrh-loupe-held,.hrh-loupe-cord-held,.hrh-wipe-cloth,.hrh-dust){opacity:0!important}
}

/* Численные решения IK: пятка (-11,14), носок (31,14), земля y=329. */
@keyframes hrh-walk-hip{0%,100%{transform:rotate(-11deg)}50%{transform:rotate(9deg)}}
@keyframes hrh-walk-knee{0%,100%{transform:rotate(4deg)}30%{transform:rotate(2deg)}52%{transform:rotate(7deg)}68%{transform:rotate(26deg)}84%{transform:rotate(12deg)}}
@keyframes hrh-walk-ankle{0%,100%{transform:rotate(-7deg)}25%{transform:rotate(0)}50%{transform:rotate(5deg)}60%{transform:rotate(11deg)}78%{transform:rotate(-3deg)}}
