/* Four project paths around one person. Labels live outside this bounded scene. */
.orbit-kicker{font:9px/1.5 var(--mono);letter-spacing:.1em;margin:1px 0 10px;color:#6c7862}
.spiral-art{width:100%;height:auto;aspect-ratio:1;max-width:420px;margin:0 auto;isolation:isolate;overflow:hidden;filter:none;will-change:auto}
.spiral-art svg#spiral-svg{width:100%;height:100%;inset:0;overflow:hidden;transform:none;transition:none;pointer-events:none}
#spiral-svg #spiral-ribbon{transform:none}
.orbit-guide{fill:none;stroke:#a5b496;stroke-width:.8;opacity:.38}
.orbit-route-base{fill:none;stroke:#92a382;stroke-width:1.6;opacity:.75}
.orbit-route-shadow{fill:none;stroke:#34462b;stroke-width:15;opacity:0;transform:translateY(5px);transition:opacity .6s}
.orbit-route-ribbon{fill:none;stroke:url(#orbit-ribbon);stroke-width:13;opacity:0;transition:opacity .6s;stroke-linecap:round}
.orbit-route-edge{fill:none;stroke:#deedb1;stroke-width:1.4;opacity:0;transform:translateY(-4px);transition:opacity .6s;stroke-linecap:round}
.orbit-route-glint{fill:none;stroke:#e7f7aa;stroke-width:4;stroke-linecap:round;stroke-dasharray:.018 .982;opacity:0}
.orbit-route.active .orbit-route-shadow{opacity:.12}
.orbit-route.active .orbit-route-ribbon,.orbit-route.active .orbit-route-edge{opacity:1;animation:orbit-draw .85s var(--ease) both}
.orbit-route.active .orbit-route-glint{opacity:1}
.orbit-origin{position:absolute;left:50%;top:50%;width:20%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;padding:5px;background:#e9ece0;box-shadow:0 0 0 1px #a5b49680;pointer-events:none}
.orbit-origin img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.orbit-stop{position:absolute;left:var(--stop-x);top:var(--stop-y);width:clamp(48px,4.7vw,67px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #b6c3a6;border-radius:50%;background:#e9ece0;color:#667b56;box-shadow:0 4px 10px #3c4b2910;display:grid;place-items:center;padding:0;transition:background .5s,color .5s,box-shadow .5s,border-color .5s}
.orbit-stop:before{content:'';position:absolute;inset:-5px;border:1px solid #8d9b7900;border-radius:50%;transition:border-color .5s}
.orbit-stop svg{width:56%;height:56%;position:static!important;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.orbit-stop.active{background:#253c29;color:#e2efb2;border-color:#253c29;box-shadow:0 6px 14px #24392428}
.orbit-stop.active:before{border-color:#8d9b7966}
.orbit-stop:hover{background:#dce8c6;border-color:#82966b;color:#2e482e}
.orbit-stop.active:hover{background:#3a5533;color:#e2efb2}
.orbit-stop:focus-visible{outline-offset:7px}
.spiral-caption{margin-top:15px;gap:12px;align-items:center;padding-bottom:18px}
.orbit-caption-copy{min-width:0;flex:1}
.orbit-question{font:23px/1.15 var(--serif);letter-spacing:-.015em;color:var(--ink);max-width:270px;margin-bottom:8px;min-height:2.3em}
.spiral-caption .micro{font-size:9px;max-width:none!important;letter-spacing:.02em;color:#65765b}
.spiral-controls{flex-shrink:0}
@keyframes orbit-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@media(max-width:1050px) and (min-width:761px){.orbit-stop{width:48px}.orbit-question{font-size:22px}.orbit-kicker{font-size:8px}.spiral-caption{gap:8px}.spiral-controls{gap:3px}.spiral-controls button{width:31px;height:31px}.spiral-controls .motion-mini{width:24px}}
@media(max-width:760px){.spiral-explorer{display:block}.orbit-kicker{font-size:9px;text-align:center;margin:2px 0 0}.spiral-art{width:min(100%,300px);height:auto;aspect-ratio:1;max-width:none;margin:0 auto}.orbit-stop{width:50px}.spiral-caption{margin-top:3px;padding-bottom:15px}.orbit-question{font-size:24px;max-width:225px;min-height:2.3em}.spiral-nodes{grid-template-columns:1fr 1fr;gap:0 18px}.spiral-node{grid-template-columns:22px 1fr;min-height:56px;font-size:12px;padding:12px 5px}.spiral-node.active{padding-left:8px}.spiral-node>span:first-child{font-size:9px}.spiral-controls button{width:34px;height:34px}}
@media(max-width:380px){.spiral-art{width:min(100%,265px)}.orbit-stop{width:46px}.orbit-question{font-size:22px;max-width:170px}.spiral-nodes{gap:0 10px}.spiral-node{font-size:11px;grid-template-columns:19px 1fr;padding:12px 4px}.spiral-node.active{padding-left:6px}.spiral-caption{gap:8px}.spiral-controls{gap:3px}.spiral-controls button{width:31px;height:31px}.spiral-controls .motion-mini{width:22px}}
@media(prefers-reduced-motion:reduce){.orbit-route.active .orbit-route-ribbon,.orbit-route.active .orbit-route-edge{stroke-dashoffset:0;animation:none}.orbit-route-glint{display:none}}
body.motion-paused .orbit-route-glint{display:none}
