/* ── DESK FIGURE SCENES ── */
.fg-wrap{border:1px solid var(--border);background:var(--bg-sub);padding:14px 10px 4px;overflow:hidden}
.fg{width:100%;height:auto;display:block}
.fg *{transform-box:view-box}
.fg text{font-family:"DM Sans",sans-serif;fill:var(--ink)}
.ink{fill:var(--ink)}
.st{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round}
.st2{stroke-width:2}.st3{stroke-width:3}.st4{stroke-width:4}
.limb{fill:none;stroke:var(--ink);stroke-width:11;stroke-linecap:round;stroke-linejoin:round}
.limb-o{fill:none;stroke:var(--bg);stroke-width:19;stroke-linecap:round;stroke-linejoin:round}
.neck{fill:none;stroke:var(--ink);stroke-width:9;stroke-linecap:round}
.paper{fill:var(--bg);stroke:var(--ink);stroke-width:3}
.grnd{stroke:var(--border);stroke-width:1.5}
.mono{font-family:var(--mono)}
.serifmark{font-family:var(--serif);font-weight:700;letter-spacing:.18em}
.fg-cap{display:flex;flex-direction:column;gap:7px}
.fg-cap .step{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink4)}
.fg-cap .line{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:-.012em;line-height:1.15;color:var(--ink)}
.fg-meter{display:flex;gap:5px;margin-top:3px}
.fg-meter i{height:2px;flex:1;background:var(--border);transition:background .4s}
.fg-meter i.on{background:var(--ink)}

.sc{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.fg-wrap[data-stage="0"] .sc0,.fg-wrap[data-stage="1"] .sc1,.fg-wrap[data-stage="2"] .sc2,.fg-wrap[data-stage="3"] .sc3{opacity:1;visibility:visible;transition:opacity .4s ease,visibility 0s}

@media (prefers-reduced-motion: no-preference){
  .sc{transform:scale(.97);transform-origin:160px 190px;transition:opacity .4s ease,transform .55s cubic-bezier(.3,1.3,.4,1),visibility 0s linear .4s}
  .sc2{transform:scale(.55)}
  .fg-wrap[data-stage="0"] .sc0,.fg-wrap[data-stage="1"] .sc1,.fg-wrap[data-stage="2"] .sc2,.fg-wrap[data-stage="3"] .sc3{transform:scale(1);transition:opacity .4s ease,transform .55s cubic-bezier(.3,1.3,.4,1),visibility 0s}
  .fg-wrap[data-stage="0"] .waves{animation:fgPulse 1.5s ease-in-out infinite}
  .fg-wrap[data-stage="0"] .s0-drum{animation:fgDrum 1.6s ease-in-out infinite;transform-origin:163px 158px}
  .fg-wrap[data-stage="0"] .s0-slump{animation:fgSigh 3.4s ease-in-out infinite;transform-origin:146px 200px}
  .fg-wrap[data-stage="1"] .s1-mark{animation:fgPop .5s cubic-bezier(.2,1.7,.4,1) .25s both;transform-origin:240px 140px}
  .fg-wrap[data-stage="1"] .s1-burst{animation:fgBurst .6s ease-out .38s both;transform-origin:136px 78px}
  .fg-wrap[data-stage="1"] .s1-body{animation:fgSitUp .6s cubic-bezier(.2,1.5,.4,1) .1s both;transform-origin:136px 200px}
  .fg-wrap[data-stage="2"] .s2-glass{animation:fgHunt 3.6s cubic-bezier(.5,0,.3,1) infinite}
  .fg-wrap[data-stage="2"] .s2-typed{animation:fgFade .4s ease .35s both}
  .fg-wrap[data-stage="2"] .s2-r0{animation:fgRow .45s ease .55s both}
  .fg-wrap[data-stage="2"] .s2-r1{animation:fgRow .45s ease .68s both}
  .fg-wrap[data-stage="2"] .s2-r2{animation:fgRow .45s ease .81s both}
  .fg-wrap[data-stage="2"] .s2-r3{animation:fgRow .45s ease .94s both}
  .fg-wrap[data-stage="3"] .s3-b1{animation:fgBub .45s cubic-bezier(.2,1.6,.4,1) .25s both;transform-origin:58px 122px}
  .fg-wrap[data-stage="3"] .s3-b2{animation:fgBub .45s cubic-bezier(.2,1.6,.4,1) 1.1s both;transform-origin:250px 120px}
  .fg-wrap[data-stage="3"] .s3-smile{animation:fgFade .4s ease 1.85s both}
  .fg-wrap[data-stage="3"] .s3-nodA{animation:fgNod 2.6s ease-in-out 1.9s infinite;transform-origin:62px 176px}
  .fg-wrap[data-stage="3"] .s3-nodB{animation:fgNod 2.6s ease-in-out 2.15s infinite;transform-origin:258px 176px}
}
@keyframes fgPulse{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes fgDrum{0%,72%,100%{transform:rotate(0)}80%{transform:rotate(-4deg)}88%{transform:rotate(2.5deg)}}
@keyframes fgSigh{0%,100%{transform:rotate(7deg) translateY(0)}50%{transform:rotate(8.5deg) translateY(3px)}}
@keyframes fgSitUp{from{transform:rotate(7deg) translateY(6px)}to{transform:rotate(0) translateY(0)}}
@keyframes fgPop{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
@keyframes fgBurst{from{opacity:0;transform:scale(.4)}70%{opacity:1}to{opacity:1;transform:scale(1)}}
@keyframes fgFade{from{opacity:0}to{opacity:1}}
@keyframes fgRow{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
@keyframes fgBub{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes fgNod{0%,88%,100%{transform:rotate(0)}92%{transform:rotate(-5deg)}96%{transform:rotate(2deg)}}
@keyframes fgHunt{0%{transform:translate(0,0)}22%{transform:translate(84px,0)}34%{transform:translate(84px,0)}55%{transform:translate(150px,64px)}70%{transform:translate(150px,64px)}88%{transform:translate(6px,10px)}100%{transform:translate(0,0)}}
