/* Ligne de production du Studio. Toutes les stations partagent le même cycle. */
[data-page="studio"] .hero{
  background-color:#08060d;
  background-image:linear-gradient(90deg,#ad79cf0d 1px,transparent 1px),linear-gradient(#ad79cf0d 1px,transparent 1px);
  background-size:24px 24px;
  padding-block:clamp(38px,6vw,82px);
}
.hero .hero-grid{grid-template-columns:minmax(0,.73fr) minmax(0,1.27fr);gap:clamp(22px,3vw,52px)}
.hero .hero-top{display:flex;gap:10px;align-items:center;letter-spacing:.11em}
.hero .hero-top::before,.factory-bar i{content:"";width:7px;height:7px;flex:none;background:var(--pixel-lime);box-shadow:3px 3px 0 #70608c}
.hero .hero-sub{font-size:clamp(.95rem,1.25vw,1.07rem)}
.hero .hero-actions .btn{min-height:44px}
.factory{
  min-width:0;margin:0;background:#09070e;border:1px solid #66527a;
  box-shadow:7px 7px 0 #2c1e3b,0 0 42px #35244354;
}
.factory-bar{min-height:51px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 14px;padding:7px 12px;background:#17101f;border-bottom:1px solid #453452;color:#e3c9ff;font:600 11px/1.3 var(--font-mono,monospace);letter-spacing:.09em;text-transform:uppercase}
.factory-bar span{display:inline-flex;align-items:center;gap:9px}
.factory-bar .pixel-motion{letter-spacing:0;text-transform:none}
.factory-svg{display:block;width:100%;height:auto}
.factory figcaption{padding:10px 13px;border-top:1px solid #453452;color:#d7c6e0;font-size:.77rem;line-height:1.5}
.factory-trolley{transform:translateX(118px)}
.factory-cargo{transform:translate(118px,305px)}
.factory-cable{transform-origin:0 101px}
.factory-feeder-line{transform-origin:183px 100px}
.factory-variant:not(.variant-0),.factory-weld,.factory-scan,.factory-badge{opacity:0}
.factory-stock-light{opacity:.28}
[data-pixel-motion] .factory-trolley{animation:factory-rail-travel 18s linear infinite}
[data-pixel-motion] .factory-wrist{animation:factory-wrist-travel 18s linear infinite}
[data-pixel-motion] .factory-cable{animation:factory-cable-travel 18s linear infinite}
[data-pixel-motion] .factory-jaw{animation:factory-jaw-grip 18s step-end infinite}
.jaw-left{--jaw-shift:4px}
.jaw-right{--jaw-shift:-4px}
[data-pixel-motion] .factory-cargo{animation:factory-cargo-travel 18s linear infinite}
[data-pixel-motion] .factory-variant{animation:factory-variant-cycle 72s step-end infinite;animation-delay:var(--sprite-delay,0s)}
.variant-1{--sprite-delay:-54s}
.variant-2{--sprite-delay:-36s}
.variant-3{--sprite-delay:-18s}
[data-pixel-motion] .factory-badge{animation:factory-badge-add 18s step-end infinite}
[data-pixel-motion] .factory-scan{animation:factory-scan-part 18s linear infinite}
[data-pixel-motion] .factory-weld{animation:factory-weld-part 18s step-end infinite}
[data-pixel-motion] .factory-stock-light{animation:factory-stock-confirm 18s step-end infinite}
[data-pixel-motion] .factory-belt{animation:factory-belt-move 1s steps(13,end) infinite}
[data-pixel-motion] .factory-panel-light{animation:factory-panel-breathe 3.5s step-end infinite}
[data-pixel-motion] .factory-feeder-tip{animation:factory-feed-tip 18s linear infinite}
[data-pixel-motion] .factory-feeder-line{animation:factory-feed-line 18s linear infinite}
[data-pixel-motion] .factory-packet{animation:factory-packet-run 8s linear infinite}
[data-pixel-motion] .factory-packet.packet-b{animation-direction:reverse;animation-delay:-2s}
[data-pixel-motion] .factory-packet.packet-c{animation-delay:-5s}
[data-pixel-motion="paused"] .factory *{animation-play-state:paused!important}
@keyframes factory-rail-travel{
  0%,23%,100%{transform:translateX(118px)}
  37%,74%{transform:translateX(355px)}
  85%,96%{transform:translateX(596px)}
}
@keyframes factory-wrist-travel{
  0%,4%,23%,37%,55%,62%,74%,85%,96%,100%{transform:translateY(0)}
  11%,15%,45%,51%,67%,70%{transform:translateY(137px)}
  89%,93%{transform:translateY(37px)}
}
@keyframes factory-cable-travel{
  0%,4%,23%,37%,55%,62%,74%,85%,96%,100%{transform:scaleY(1)}
  11%,15%,45%,51%,67%,70%{transform:scaleY(6.71)}
  89%,93%{transform:scaleY(2.54)}
}
@keyframes factory-jaw-grip{
  0%,51%,93%{transform:translateX(0)}
  15%,70%{transform:translateX(var(--jaw-shift))}
}
@keyframes factory-cargo-travel{
  0%,15%{transform:translate(118px,305px);opacity:1}
  23%{transform:translate(118px,168px)}
  37%{transform:translate(355px,168px)}
  45%,70%{transform:translate(355px,305px)}
  74%{transform:translate(355px,168px)}
  85%{transform:translate(596px,168px)}
  89%,99%{transform:translate(596px,205px);opacity:1}
  99.5%{transform:translate(596px,205px);opacity:0}
  100%{transform:translate(118px,305px);opacity:0}
}
@keyframes factory-variant-cycle{0%{opacity:1}25%,100%{opacity:0}}
@keyframes factory-badge-add{0%,57%{opacity:0}58%,100%{opacity:1}}
@keyframes factory-scan-part{
  0%,52%{opacity:0;transform:translateY(0)}
  53%{opacity:1}
  59%{opacity:1;transform:translateY(52px)}
  60%,100%{opacity:0;transform:translateY(52px)}
}
@keyframes factory-weld-part{0%,56%,59%,100%{opacity:0}57%,58%{opacity:1}}
@keyframes factory-stock-confirm{0%,92%{opacity:.28}93%,100%{opacity:1}}
@keyframes factory-belt-move{to{transform:translateX(26px)}}
@keyframes factory-panel-breathe{0%,80%,100%{opacity:.9}42%{opacity:.35}}
[data-pixel-motion] .factory-feeder{animation:factory-feed-rail 18s linear infinite}
[data-pixel-motion] .factory-spare{animation:factory-feed-part 18s linear infinite}
@keyframes factory-feed-rail{0%,25%,46%,100%{transform:translateX(0)}33%,43%{transform:translateX(84px)}}
@keyframes factory-feed-tip{0%,5%,25%,33%,43%,100%{transform:translateY(0)}12%,17%,38%,40%{transform:translateY(129px)}}
@keyframes factory-feed-part{
  0%,17%{transform:translate(0,0);opacity:1}
  25%{transform:translate(0,-129px)}
  33%{transform:translate(84px,-129px)}
  38%,88%{transform:translate(84px,0);opacity:1}
  96%,100%{transform:translate(84px,0);opacity:0}
}
@keyframes factory-feed-line{0%,5%,25%,33%,43%,100%{transform:scaleY(1)}12%,17%,38%,40%{transform:scaleY(4.79)}}
@keyframes factory-packet-run{0%,20%{opacity:0;transform:translateX(0)}28%{opacity:1}72%{opacity:1}80%,100%{opacity:0;transform:translateX(76px)}}

[data-page="studio"] .factory-pilots{
  --text:var(--pixel-paper);--muted:#d1bedf;--accent:var(--pixel-lilac);--accent2:var(--pixel-lime);
  --faint:#bca9cd;--border:#453550;--border-strong:#665373;
  color:var(--pixel-paper);background:#100b17;border-top:1px solid #453550;padding-block:32px 45px;
}
.factory-pilots .pilot-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:26px;align-items:center}
.factory-pilots .pilot-kicker{color:var(--pixel-lilac);font-size:11px;letter-spacing:.12em}
.factory-pilots h2{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,3.45rem);line-height:1;letter-spacing:-.05em;margin-block:10px 14px}
.factory-pilots .pilot-sub{color:var(--muted);max-width:42ch}
.factory-pilots .orb-stage{width:min(100%,650px);aspect-ratio:auto;background:transparent;box-shadow:none;border:0}
.factory-pilots .orb{display:none}
.factory-pilots .orbit-labels{position:static;display:grid;width:100%;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.factory-pilots .ol{position:static;transform:none!important;white-space:normal;min-width:0;justify-content:start;text-align:left;min-height:53px}
.factory-pilots .ol svg{display:none}
.factory-pilots .ol:focus-visible{outline:2px solid var(--pixel-lime);outline-offset:1px}
.factory-pilots .orbit-caption{max-width:none;align-self:start;text-align:left;margin-top:11px}
@media(max-width:1000px){.hero .hero-grid,.factory-pilots .pilot-grid{grid-template-columns:1fr}.factory{width:100%}.factory-pilots .orb-stage{width:100%}}
@media(max-width:490px){
  .factory-pilots .orbit-labels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .factory-bar{font-size:10px}
  .factory{box-shadow:4px 4px 0 #2c1e3b}
  .factory-pilots .ol{font-size:12px}
}

