/* One connected training workflow; all diagrams share the site's contour palette. */
.learning-flow{padding:28px 28px 34px;border:1px solid var(--robot-line);border-radius:18px;background:#0d121b}
.learning-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0}
.learning-stage{position:relative;min-width:0}
.learning-visual{height:190px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.learning-art{display:block;width:100%;max-width:240px;height:160px;overflow:visible;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.25}
.learning-art :is(path,rect,circle),.learning-wire,.learning-signal{vector-effect:non-scaling-stroke}
.learning-outline{stroke:#9fb2d4;stroke-opacity:.7}
.learning-faint{stroke:#7e92b2;stroke-opacity:.27}
.learning-blue,.learning-model-curve{stroke:#2563eb;stroke-width:1.65}
.learning-blue-fill{fill:#2563eb}
.learning-dim-fill{fill:#7e92b2;fill-opacity:.65}
.learning-node{fill:#0d121b;stroke:#2563eb;stroke-width:1.65}
.learning-seal{fill:#0d121b;stroke:#2563eb;stroke-opacity:.45}
.learning-data{display:block;font-size:10px;line-height:1.5;color:#7e92b2;text-align:center;margin-top:0}
.learning-copy h3{font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0 0 14px;color:#f4f8ff}
.learning-copy p{font-size:14px;line-height:1.7;color:#a8bad6;margin:0;max-width:250px}
.learning-transfer{position:absolute;left:calc(100% - 13px);top:67px;width:58px;height:24px;pointer-events:none}
.learning-transfer>svg{width:100%;height:100%;overflow:visible;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.1}
.learning-wire{stroke:#2563eb;stroke-opacity:.48}
.learning-signal{stroke:#2563eb;stroke-width:1.7;stroke-dasharray:.22 1;stroke-dashoffset:1;opacity:0}
.learning-transfer-label{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);font-size:10px;font-weight:500;line-height:1;color:#9fb2d4;letter-spacing:.04em}
.learning-flow.is-revealed .learning-signal{animation:learning-signal 1.45s cubic-bezier(.3,0,.2,1) both;animation-delay:.2s}
.learning-flow.is-revealed .learning-stage:nth-child(2) .learning-signal{animation-delay:.75s}
.learning-flow.is-revealed .learning-stage:nth-child(2) .learning-signal-return{animation-delay:1.5s}
.learning-flow.is-revealed .learning-stage:nth-child(3) .learning-signal{animation-delay:2.2s}
.learning-flow.is-revealed .learning-model-curve{animation:learning-model 1.8s cubic-bezier(.3,0,.2,1) both;animation-delay:1.3s}
.learning-flow.is-revealed .learning-stage:last-child .learning-model-curve{animation-delay:2.3s}
@keyframes learning-signal{0%{stroke-dashoffset:1;opacity:0}15%{opacity:1}80%{opacity:1}100%{stroke-dashoffset:-1;opacity:0}}
@keyframes learning-model{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@media(max-width:980px){
  .learning-flow{padding:28px 32px}
  .learning-steps{grid-template-columns:1fr;gap:0}
  .learning-stage{display:grid;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:40px}
  .learning-stage:not(:last-child){padding-bottom:48px}
  .learning-visual{height:160px}
  .learning-art{height:134px}
  .learning-copy p{max-width:380px}
  .learning-transfer{left:88px;top:auto;bottom:7px;width:24px;height:36px}
  .learning-transfer>svg{position:absolute;width:36px;height:24px;left:-6px;top:6px;transform:rotate(90deg)}
  .learning-transfer-label{left:34px;bottom:auto;top:50%;transform:translateY(-50%)}
}
@media(max-width:560px){
  .learning-flow{padding:20px 16px 24px}
  .learning-stage{grid-template-columns:112px minmax(0,1fr);gap:18px}
  .learning-stage:not(:last-child){padding-bottom:38px}
  .learning-visual{height:112px;justify-content:center}
  .learning-art{height:80px}
  .learning-data{font-size:9px;line-height:1.4;max-width:110px;margin-top:3px}
  .learning-copy h3{font-size:17px;margin-bottom:9px}
  .learning-copy p{font-size:12px;line-height:1.65}
  .learning-transfer{left:44px;bottom:1px}
  .learning-transfer-label{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.learning-flow.is-revealed .learning-signal,.learning-flow.is-revealed .learning-model-curve{animation:none!important}}
