.orbit-hero { padding-bottom: 28px; }
.orbit-section { padding: 8px 0 90px; }
.orbit-shell { border:1px solid var(--border); border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.018),rgba(124,58,237,.035)); box-shadow:0 28px 80px rgba(0,0,0,.28); overflow:hidden; }
.orbit-stage { position:relative; min-height:470px; overflow:hidden; outline:none; touch-action:pan-y; background:radial-gradient(ellipse at 50% 54%,rgba(124,58,237,.15),transparent 46%),linear-gradient(180deg,rgba(255,255,255,.008),transparent); }
.orbit-stage:focus-visible { box-shadow:inset 0 0 0 2px rgba(201,148,255,.55); }
.orbit-ring { position:absolute; left:50%; top:52%; width:min(76%,850px); height:245px; transform:translate(-50%,-50%); border:1px solid rgba(201,148,255,.17); border-radius:50%; box-shadow:0 0 70px rgba(124,58,237,.08),inset 0 0 60px rgba(124,58,237,.025); }
.orbit-ring::before,.orbit-ring::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.orbit-ring::before { inset:34px 8%; border:1px dashed rgba(201,148,255,.09); }
.orbit-ring::after { width:9px; height:9px; left:50%; top:-5px; transform:translateX(-50%); background:#b96cff; box-shadow:0 0 24px rgba(185,108,255,.95); }
.orbit-items { position:absolute; inset:0; }
.orbit-item { --x:0px; --y:0px; --s:1; --o:1; --z:1; position:absolute; left:50%; top:50%; width:190px; min-height:160px; padding:22px 18px; transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(var(--s)); opacity:var(--o); z-index:var(--z); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; color:#fff; border:1px solid var(--border); border-radius:24px; background:linear-gradient(155deg,rgba(30,18,43,.96),rgba(11,7,16,.94)); box-shadow:0 22px 45px rgba(0,0,0,.34); cursor:pointer; transition:transform .7s cubic-bezier(.2,.75,.2,1),opacity .55s ease,border-color .3s ease,filter .55s ease,box-shadow .4s ease; will-change:transform,opacity; }
.orbit-item:hover { border-color:rgba(201,148,255,.5); }
.orbit-item.is-active { border-color:rgba(187,111,255,.64); box-shadow:0 26px 70px rgba(90,30,160,.26),inset 0 0 0 1px rgba(255,255,255,.025); }
.orbit-item.is-active::after { content:""; position:absolute; inset:-13px; border-radius:30px; border:1px solid rgba(185,108,255,.14); pointer-events:none; }
.orbit-item__badge { width:66px; height:66px; display:grid; place-items:center; border-radius:20px; background:linear-gradient(145deg,#241134,#7c3aed 72%,#a855f7); box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 12px 26px rgba(124,58,237,.22); color:#fff; font-size:24px; font-weight:900; letter-spacing:-.04em; }
.orbit-item strong { margin-top:7px; font-size:18px; letter-spacing:-.025em; }
.orbit-item small { color:var(--muted-2); font-size:11px; text-align:center; }
.orbit-item[data-depth="far"] { filter:blur(.25px) saturate(.72); }
.orbit-arrow { position:absolute; top:50%; z-index:20; width:50px; height:50px; transform:translateY(-50%); display:grid; place-items:center; border:1px solid var(--border); border-radius:16px; background:rgba(14,9,20,.72); color:#fff; font-size:32px; cursor:pointer; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); transition:.18s ease; }
.orbit-arrow:hover { border-color:var(--border-strong); background:rgba(124,58,237,.14); }
.orbit-arrow--prev { left:24px; }.orbit-arrow--next { right:24px; }
.platform-jump { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:0 24px 26px; border-bottom:1px solid var(--border); }
.platform-jump button { min-height:36px; padding:0 13px; border:1px solid var(--border); border-radius:999px; background:rgba(255,255,255,.015); color:#9f95aa; font-size:12px; font-weight:800; cursor:pointer; transition:.18s ease; }
.platform-jump button:hover,.platform-jump button.is-active { color:#fff; border-color:rgba(201,148,255,.42); background:rgba(124,58,237,.12); }
.platform-detail { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; min-height:220px; padding:34px 38px; }
.platform-detail h2 { margin:8px 0 12px; font-size:clamp(28px,3vw,40px); letter-spacing:-.04em; }
.platform-detail p { max-width:700px; margin-bottom:15px; color:var(--muted); font-size:16px; line-height:1.65; }
.platform-detail__actions { min-width:250px; display:flex; flex-direction:column; align-items:stretch; gap:10px; }
.platform-detail__actions .btn { text-align:center; }
.orbit-help { display:flex; flex-wrap:wrap; gap:10px 22px; padding:18px 38px 22px; border-top:1px solid var(--border); color:var(--muted-2); font-size:12px; }
.orbit-help span::before { content:"•"; margin-right:8px; color:#bb75ff; }
@media (max-width:900px) {
  .orbit-stage { min-height:420px; }
  .orbit-ring { width:86%; height:210px; }
  .orbit-item { width:168px; min-height:145px; }
  .platform-detail { grid-template-columns:1fr; gap:24px; }
  .platform-detail__actions { min-width:0; flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:620px) {
  .orbit-section { padding-bottom:65px; }
  .orbit-shell { border-radius:24px; }
  .orbit-stage { min-height:380px; }
  .orbit-ring { width:112%; height:180px; }
  .orbit-item { width:150px; min-height:136px; padding:16px 13px; }
  .orbit-item__badge { width:56px; height:56px; border-radius:17px; font-size:21px; }
  .orbit-arrow { width:44px; height:44px; border-radius:14px; }
  .orbit-arrow--prev { left:10px; }.orbit-arrow--next { right:10px; }
  .platform-jump { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:0 16px 20px; scrollbar-width:none; }
  .platform-jump::-webkit-scrollbar { display:none; }
  .platform-jump button { flex:0 0 auto; }
  .platform-detail { padding:28px 20px; }
  .platform-detail__actions { flex-direction:column; }
  .orbit-help { padding:16px 20px 20px; }
}
@media (prefers-reduced-motion:reduce) {
  .orbit-item { transition:none!important; }
}

/* production page refinements */
.orbit-stage::after { content:""; position:absolute; inset:auto 12% 30px; height:1px; background:linear-gradient(90deg,transparent,rgba(185,108,255,.18),transparent); pointer-events:none; }
@media (max-width:620px) { .orbit-stage::after { inset:auto 7% 22px; } }

/* v2 — ciągły, spokojny ruch orbity */
.orbit-stage { cursor:grab; }
.orbit-stage.is-dragging { cursor:grabbing; }
.orbit-stage.is-continuous .orbit-item {
  transition:border-color .3s ease,filter .25s ease,box-shadow .4s ease,opacity .08s linear;
}
.orbit-arrow { user-select:none; -webkit-user-select:none; }

/* v9: krótsze, dwuwierszowe nagłówki instrukcji bez długiego myślnika */
#instruction-title span { color: inherit; font: inherit; }
