/* Hero Esko-style — hub central + workflow en orbite */

.hero-orbit-scene{
  position:relative;
  width:100%;
  max-width:580px;
  aspect-ratio:1;
  margin:0 auto;
  padding:.75rem;
  overflow:visible;
}
.hero-orbit-canvas{
  position:relative;
  width:100%;
  height:100%;
  background:var(--hero-orbit-bg,#f0f1f4);
  border-radius:24px;
  overflow:visible;
  box-shadow:0 32px 80px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.6);
}
[data-theme="dark"] .hero-orbit-canvas{
  --hero-orbit-bg:linear-gradient(160deg,#1e1e26 0%,#121218 100%);
  box-shadow:0 32px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04);
  border:1px solid var(--smoke);
}

.hero-orbit-sparkles{
  position:absolute;top:1.25rem;left:1.5rem;z-index:2;
  font-size:1.1rem;color:var(--brand);opacity:.8;line-height:1;
  pointer-events:none;
}
.hero-orbit-sparkles span{display:block;font-size:.75rem;margin-top:.2rem;opacity:.55}
.hero-orbit-dotgrid{
  position:absolute;bottom:1rem;right:1rem;width:72px;height:72px;z-index:2;opacity:.4;
  background-image:radial-gradient(circle,var(--fog) 1.5px,transparent 1.5px);
  background-size:10px 10px;pointer-events:none;
}

.hero-orbit-links{
  position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;
}
.orbit-link{
  fill:none;stroke:var(--orbit-stroke,#c4c6cc);stroke-width:1.5;stroke-dasharray:5 7;
  opacity:.55;
}
[data-theme="dark"] .orbit-link{stroke:rgba(255,255,255,.14)}

/* Hub central — pilote maîtrisé */
.hero-orbit-hub{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(56%,280px);z-index:5;text-align:center;
}
.hub-pilot{display:flex;flex-direction:column;align-items:center;gap:.65rem}
.hub-pilot-frame{
  position:relative;width:80%;margin:0 auto;aspect-ratio:.78;
  border-radius:16px;overflow:visible;
  background:linear-gradient(145deg,#8B1A4A 0%,#a82258 28%,#4f6fd8 72%,#1e40af 100%);
  box-shadow:0 20px 48px rgba(139,26,74,.32),0 10px 26px rgba(0,0,0,.2);
  display:flex;align-items:flex-end;justify-content:center;
  padding:2rem .35rem 0;
}
[data-theme="dark"] .hub-pilot-frame{box-shadow:0 28px 64px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06)}
.hub-pilot-glow{
  position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse 85% 65% at 50% 25%,rgba(255,255,255,.16),transparent 68%);
  pointer-events:none;
}
.hub-pilot-photo{
  position:relative;z-index:1;
  width:92%;max-width:250px;height:auto;
  object-fit:contain;object-position:center bottom;
  display:block;
  transform:scale(1.75);
  transform-origin:center bottom;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.28));
}
.hub-pilot-logo{
  position:absolute;top:.65rem;left:.65rem;z-index:4;
  display:flex;align-items:center;gap:.35rem;
  background:rgba(0,0,0,.28);backdrop-filter:blur(6px);
  padding:.3rem .55rem;border-radius:8px;
  border:1px solid rgba(255,255,255,.15);
}
.hub-pilot-logo img{height:16px}
.hub-pilot-logo span{font-size:.62rem;font-weight:800;color:#fff;letter-spacing:.02em}
.hub-pilot-stat{
  position:absolute;top:.65rem;right:.65rem;z-index:4;
  background:rgba(34,197,94,.92);color:#fff;
  font-size:.58rem;font-weight:800;padding:.28rem .5rem;border-radius:999px;
  box-shadow:0 4px 12px rgba(34,197,94,.35);
  letter-spacing:.03em;
}
.hub-pilot-msg strong{
  display:block;font-size:.82rem;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.2;
}
.hub-pilot-msg span{
  display:block;font-size:.68rem;color:var(--brand);font-weight:700;margin-top:.15rem;
}
[data-theme="dark"] .hub-pilot-msg strong{color:#fff}
.hub-pilot-checks{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;width:100%;
}
.hub-pilot-checks li{
  display:flex;align-items:center;gap:.4rem;
  font-size:.62rem;font-weight:600;color:var(--text-muted);
  background:var(--surface);border:1px solid var(--border);
  padding:.38rem .55rem;border-radius:8px;text-align:left;
}
[data-theme="dark"] .hub-pilot-checks li{background:rgba(255,255,255,.04);color:var(--cloud)}
.hub-pilot-checks li::before{
  content:'✓';flex-shrink:0;
  width:18px;height:18px;border-radius:50%;
  background:rgba(34,197,94,.15);color:var(--success);
  font-size:.65rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
[dir="rtl"] .hub-pilot-logo{left:auto;right:.65rem}
[dir="rtl"] .hub-pilot-stat{right:auto;left:.65rem}
[dir="rtl"] .hub-pilot-checks li{text-align:right}

/* Nœuds — positionnement dispersé (hors cercle) */
.orbit-node{
  position:absolute;left:var(--x);top:var(--y);
  z-index:4;
  transform:translate(-50%,-50%) rotate(var(--rot,0deg));
  animation:orbitFloat 5s ease-in-out infinite;
  animation-delay:var(--od,0s);
}
@keyframes orbitFloat{
  0%,100%{transform:translate(-50%,-50%) rotate(var(--rot,0deg))}
  50%{transform:translate(-50%,calc(-50% - 6px)) rotate(var(--rot,0deg))}
}
.orbit-node-inner{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;
  background:#fff;border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.06);
  transition:transform .25s,box-shadow .25s;
}
[data-theme="dark"] .orbit-node-inner{
  background:#22222c;
  box-shadow:0 10px 28px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.1);
}
.orbit-node:hover .orbit-node-inner{
  transform:scale(1.06);
  box-shadow:0 14px 36px rgba(139,26,74,.25),0 0 0 2px rgba(139,26,74,.35);
}

.orbit-node-box{
  width:82px;padding:.55rem .45rem .6rem;
  border-top:3px solid var(--brand);
}
.orbit-node-num{
  position:absolute;top:-8px;left:-8px;
  width:20px;height:20px;border-radius:50%;
  background:var(--brand);color:#fff;
  font-size:.58rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(139,26,74,.4);
  border:2px solid var(--hero-orbit-bg,#f0f1f4);
}
[data-theme="dark"] .orbit-node-num{border-color:#1e1e26}
.orbit-node-ico{font-size:1.5rem;line-height:1}
.orbit-node-lbl{
  font-size:.7rem;font-weight:800;color:var(--text);
  text-align:center;line-height:1.15;letter-spacing:.01em;
  max-width:76px;
}
[data-theme="dark"] .orbit-node-lbl{color:#fff}
.orbit-node-machine .orbit-node-inner{
  background:transparent;box-shadow:none;border:none;padding:0;
}
.orbit-node-machine:hover .orbit-node-inner{
  transform:scale(1.1);
  box-shadow:none;
}
.orbit-machine-img{
  width:145px;height:auto;display:block;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.2));
  transition:filter .25s,transform .25s;
}
.orbit-machine-img-hp{
  width:300px;
  transform:scale(1.7);
  transform-origin:center center;
}
[data-theme="dark"] .orbit-machine-img{filter:drop-shadow(0 12px 28px rgba(0,0,0,.45))}
.orbit-node-machine:hover .orbit-machine-img{filter:drop-shadow(0 14px 30px rgba(0,0,0,.28))}

.orbit-flow-label{
  position:relative;display:inline-block;
  margin-top:.55rem;
  font-family:var(--ff-mono);font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text);z-index:6;white-space:nowrap;
  background:rgba(139,26,74,.12);border:1px solid rgba(139,26,74,.28);
  padding:.45rem 1rem;border-radius:999px;
  box-shadow:0 4px 16px rgba(139,26,74,.15);
}
[data-theme="dark"] .orbit-flow-label{
  color:#fff;background:rgba(139,26,74,.25);border-color:rgba(139,26,74,.45);
}

@media(max-width:1024px){
  .hero-orbit-scene{max-width:500px}
  .orbit-node-box{width:76px}
  .orbit-node-lbl{font-size:.65rem}
}
@media(max-width:768px){
  .hero-orbit-scene{max-width:100%;padding:0}
  .hub-pilot-frame{width:80%;padding-top:1.5rem}
  .hub-pilot-photo{width:95%;max-width:220px;transform:scale(1.75)}
  .hub-pilot-msg strong{font-size:.75rem}
  .hub-pilot-checks li{font-size:.58rem}
  .orbit-node-box{width:68px;padding:.45rem .35rem .5rem}
  .orbit-node-ico{font-size:1.25rem}
  .orbit-node-lbl{font-size:.6rem}
  .orbit-flow-label{font-size:.62rem;padding:.38rem .75rem;margin-top:.45rem}
  .orbit-machine-img{width:120px}
  .orbit-machine-img-hp{width:200px;transform:scale(1.55)}
  .orbit-node-box{width:62px}
  .orbit-node-lbl{font-size:.55rem;max-width:58px}
}
