/* Motion language: quiet geometry, a single moving signal, generous negative space.
   All colors inherit the existing card palette. */
.solution-visual.motion-story{padding:18px 26px 18px;height:410px;gap:0;isolation:isolate;font-family:inherit}
.ms-heading{display:flex;align-items:center;gap:17px;min-height:40px;font-size:12px;line-height:1.3;color:var(--art-ink);flex-shrink:0;z-index:1}
.ms-index{font-size:12px;color:var(--art-muted);font-variant-numeric:tabular-nums;letter-spacing:.06em}
.ms-heading>span:nth-child(2){max-width:calc(100% - 35px)}
.ms-body{display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:center;padding-top:4px}
.ms-thesis{text-align:center;color:var(--art-ink);font-size:clamp(18px,1.7vw,24px);font-weight:400;letter-spacing:-.035em;line-height:1.25;text-wrap:balance;margin:0;max-width:95%}
.ms-scene{width:100%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.ms-scene>svg{width:100%;height:100%;max-width:480px;max-height:250px;overflow:visible}
.ms-scene path,.ms-scene rect,.ms-scene circle{vector-effect:non-scaling-stroke}
.ms-line,.ms-ring,.ms-strong,.ms-faint,.ms-dashed{fill:none;stroke:var(--art-ink);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.ms-ring{stroke:var(--art-muted);stroke-width:.9}
.ms-strong{stroke-width:1.35}
.ms-faint{stroke:var(--art-line);stroke-width:.8}
.ms-dashed{stroke:var(--art-muted);stroke-dasharray:3 5;stroke-width:.8}
.ms-dot{fill:var(--art-ink);stroke:none;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--art-ink) 24%,transparent))}
.ms-label{font-family:inherit;font-size:14px;font-weight:400;letter-spacing:0;fill:var(--art-ink)}
.ms-stage{opacity:1;transition:opacity .6s cubic-bezier(.2,0,0,1)}
.motion-story[data-ms-state="0"] .ms-stage[data-ms-stage="1"],.motion-story[data-ms-state="0"] .ms-stage[data-ms-stage="2"],.motion-story[data-ms-state="1"] .ms-stage[data-ms-stage="2"]{opacity:.14}
.ms-travel{fill:none;stroke:var(--art-ink);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 700;animation:ms-signal 4s linear infinite;opacity:.9;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--art-ink) 20%,transparent))}
.motion-story:not([data-ms-playing=true]) .ms-travel,.motion-story:not([data-ms-visible=true]) .ms-travel{animation-play-state:paused}
.ms-footer{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;padding-top:4px}
.ms-steps{list-style:none;margin:0;padding:0;display:flex;max-width:100%;gap:4px;justify-content:center}
.ms-step{position:relative;display:flex;align-items:center;gap:8px;min-height:40px;padding:10px 15px 12px;border:0;border-radius:7px;background:transparent;color:var(--art-muted);font-family:inherit;font-size:12px;font-weight:400;line-height:1.2;white-space:nowrap;transition:color .25s}
.ms-step-number{font-size:12px;font-variant-numeric:tabular-nums;opacity:.65}
.ms-step::after{content:"";position:absolute;left:15px;right:15px;bottom:2px;height:1px;background:var(--art-line);transition:background .3s,transform .3s}
.ms-step[aria-current=step]{color:var(--art-ink)}
.ms-step[aria-current=step]::after{background:var(--art-ink);transform:scaleY(2)}
.ms-note{font-size:12px;line-height:1.3;color:var(--art-muted);letter-spacing:.01em;text-align:center}
@keyframes ms-signal{from{stroke-dashoffset:0}to{stroke-dashoffset:-700}}
@media(min-width:1500px){.ms-scene>svg{max-width:510px}}
@media(max-width:1000px){.solution-visual.motion-story{height:390px;padding:16px 22px}.ms-thesis{font-size:22px}}

@media(max-width:600px){.solution-visual.motion-story{height:350px;padding:12px 13px 16px}.ms-heading{font-size:12px;gap:11px}.ms-thesis{font-size:19px;max-width:100%;padding-top:6px}.ms-scene>svg{max-height:210px}.ms-label{font-size:18px}.ms-steps{gap:0;width:100%}.ms-step{justify-content:center;gap:5px;padding:11px 8px 12px;font-size:12px;min-width:0}.ms-step::after{left:8px;right:8px}.ms-step-number{font-size:12px}.ms-note{font-size:12px}.ms-footer{gap:9px}.ms-index{font-size:12px}}
@media(max-width:360px){.ms-step-number{display:none}.ms-step{padding-left:7px;padding-right:7px;font-size:12px}.ms-thesis{font-size:18px}.ms-heading{font-size:12px}.ms-label{font-size:20px}}
@media(prefers-reduced-motion:reduce){.motion-story .ms-travel{display:none}.motion-story .ms-stage,.motion-story .ms-step,.motion-story .ms-step::after{transition:none}.motion-story .ms-stage{opacity:1!important}}
