:root{--service-orange:#e87527}
.service-loop{position:relative;max-width:900px;height:390px;margin:58px auto 0;overflow:hidden;border:1px solid #f0d9c8;border-radius:20px;background:linear-gradient(135deg,#fffaf6,#fff);box-shadow:0 30px 70px #8b481c18;text-align:left}.loop-glow{position:absolute;width:280px;height:280px;left:50%;top:50%;border-radius:50%;background:#e8752710;filter:blur(12px);transform:translate(-50%,-50%)}.loop-lines{position:absolute;inset:5px;width:100%;height:100%}.loop-track{fill:none;stroke:#e8c4aa;stroke-width:1.5;stroke-dasharray:5 8}.loop-track-secondary{stroke:#e87527;stroke-dasharray:2 10;animation:loop-flow 4s linear infinite}.loop-pulse{fill:#e87527;filter:drop-shadow(0 0 5px #e8752770)}.loop-center{position:absolute;left:50%;top:50%;display:flex;width:154px;height:154px;align-items:center;justify-content:center;flex-direction:column;border:1px solid #e87527;border-radius:50%;background:#fffaf6;box-shadow:0 0 0 9px #fff7f0,0 15px 35px #8b481c18;transform:translate(-50%,-50%)}.loop-center-mark{display:grid;width:28px;height:28px;place-items:center;margin-bottom:12px;border-radius:8px;background:var(--service-orange);color:#fff;font-size:23px;line-height:1}.loop-center strong{font-size:14px;letter-spacing:-.03em}.loop-center small,.loop-stage small{color:#a16b48;font-size:10px;letter-spacing:.08em}.loop-stage{position:absolute;display:flex;flex-direction:column;gap:4px}.loop-stage strong{font-size:18px;letter-spacing:-.05em}.loop-number{color:var(--service-orange);font-size:10px;font-weight:700;letter-spacing:.14em}.loop-stage-analyze{left:10%;top:72px}.loop-stage-implement{right:10%;top:90px}.loop-stage-operate{left:22%;bottom:56px}.loop-caption{position:absolute;right:7%;bottom:28px;color:#766b64;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.status-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#57ad78;box-shadow:0 0 0 4px #57ad7820}@keyframes loop-flow{to{stroke-dashoffset:-48}}@media (prefers-reduced-motion:reduce){.loop-track-secondary{animation:none}.loop-pulse animateMotion{display:none}}@media (max-width:760px){.service-loop{height:440px;margin-top:48px}.loop-stage-analyze{left:8%;top:52px}.loop-stage-implement{right:8%;top:70px}.loop-stage-operate{left:12%;bottom:70px}.loop-caption{right:8%;bottom:31px}.loop-center{width:136px;height:136px}.loop-center strong{font-size:13px}.loop-stage strong{font-size:16px}}
