/* Slow, illustrative activity; values and labels stay still and readable. */
[data-animated-diagram]{--diagram-cycle:12s}
[data-animated-diagram] figcaption{display:flex;align-items:center;justify-content:space-between;gap:24px}
[data-animated-diagram] figcaption>span{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.diagram-motion-button{flex-shrink:0;border:1px solid #b5cdec;border-radius:6px;background:white;color:#20518d;padding:9px 15px;min-height:44px;font-size:1.05rem;line-height:1.6;cursor:pointer}
.diagram-motion-button:hover{border-color:#0966d8;background:#f1f6ff}
.diagram-motion-button:focus-visible{outline:2px solid #0966d8;outline-offset:4px}
@keyframes diagram-node-activity{0%,5%,28%,100%{border-color:#c5daf5;background-color:#fff}12%,20%{border-color:#4d8de0;background-color:#eaf3ff}}
@keyframes diagram-weight-activity{0%,8%,35%,100%{opacity:.7}15%,25%{opacity:1}}
@keyframes diagram-router-activity{0%,5%,28%,100%{background-color:#0966d8}12%,20%{background-color:#1d7deb}}
@keyframes diagram-horizontal-flow{from{background-position:0 0}to{background-position:48px 0}}
@keyframes diagram-vertical-flow{from{background-position:0 0}to{background-position:0 48px}}
@keyframes diagram-output-activity{0%,5%,28%,100%{border-color:#dfe9f5;color:#20518d}12%,20%{border-color:#4d8de0;color:#0966d8}}
[data-animated-diagram] .context-target,[data-animated-diagram] .context-sources li,[data-animated-diagram] .model-call-card,[data-animated-diagram] .specialist-agents>div,[data-animated-diagram] .training-data,[data-animated-diagram] .training-methods,[data-animated-diagram] .model-size-grid span,[data-animated-diagram] .inference-edge{animation:diagram-node-activity var(--diagram-cycle) ease-in-out infinite;animation-delay:var(--stage-delay,0s)}
.context-target{--stage-delay:0s}.context-sources li:nth-child(1){--stage-delay:.3s}.context-sources li:nth-child(2){--stage-delay:.6s}.context-sources li:nth-child(3){--stage-delay:.9s}.context-sources li:nth-child(4){--stage-delay:1.2s}
.model-call-card:nth-child(1){--stage-delay:3s}.model-call-card:nth-child(2){--stage-delay:3.8s}
.specialist-agents>div:nth-child(1){--stage-delay:5.2s}.specialist-agents>div:nth-child(2){--stage-delay:5.4s}.specialist-agents>div:nth-child(3){--stage-delay:5.6s}
[data-animated-diagram] .stem-router{animation:diagram-router-activity var(--diagram-cycle) ease-in-out 1.6s infinite}
[data-animated-diagram] .architecture-results li{animation:diagram-output-activity var(--diagram-cycle) ease-in-out 8s infinite}
.training-data{--stage-delay:0s}.training-methods{--stage-delay:2.5s}.model-size-grid span{--stage-delay:5.5s}.model-inference .inference-edge{--stage-delay:8s}
[data-animated-diagram] .dataset-visual i,[data-animated-diagram] .optimization-matrix,[data-animated-diagram] .parameter-grid,[data-animated-diagram] .parameter-layers i{animation:diagram-weight-activity var(--diagram-cycle) ease-in-out infinite}
[data-animated-diagram] .optimization-matrix{animation-delay:2.5s}[data-animated-diagram] .parameter-grid,[data-animated-diagram] .parameter-layers i{animation-delay:3s}
[data-animated-diagram] .context-stack::after,[data-animated-diagram] .result-stack::before,[data-animated-diagram] .model-call-cards::after,[data-animated-diagram] .specialist-agents::before,[data-animated-diagram] .training-data::after,[data-animated-diagram] .training-methods::after,[data-animated-diagram] .inference-path>span:not(:last-child)::after{background-image:linear-gradient(90deg,#b5cfef 0 45%,#0966d8 45% 58%,#b5cfef 58% 100%);background-size:48px 100%;animation:diagram-horizontal-flow 2.4s linear infinite}
[data-animated-diagram] .stem-router::before,[data-animated-diagram] .stem-router::after,[data-animated-diagram] .model-call-card::after,[data-animated-diagram] .specialist-agents>div::before{background-image:linear-gradient(0deg,#b5cfef 0 45%,#0966d8 45% 58%,#b5cfef 58% 100%);background-size:100% 48px;animation:diagram-vertical-flow 2.4s linear infinite}
[data-animated-diagram].motion-paused *,[data-animated-diagram].motion-paused *::before,[data-animated-diagram].motion-paused *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){[data-animated-diagram]:not(.motion-opt-in) *,[data-animated-diagram]:not(.motion-opt-in) *::before,[data-animated-diagram]:not(.motion-opt-in) *::after{animation-play-state:paused!important}}
@media(max-width:1000px){[data-animated-diagram] .result-stack::before{background-image:linear-gradient(0deg,#b5cfef 0 45%,#0966d8 45% 58%,#b5cfef 58% 100%);background-size:100% 48px;animation-name:diagram-vertical-flow}}
@media(max-width:700px){
 [data-animated-diagram] .context-stack::after,[data-animated-diagram] .training-data::after,[data-animated-diagram] .training-methods::after,[data-animated-diagram] .inference-path>span:not(:last-child)::after{background-image:linear-gradient(0deg,#b5cfef 0 45%,#0966d8 45% 58%,#b5cfef 58% 100%);background-size:100% 48px;animation-name:diagram-vertical-flow}
 [data-animated-diagram] figcaption{flex-direction:column;align-items:flex-start;gap:14px}
}
@media(max-width:420px){
 [data-animated-diagram] .specialist-agents::before{background-image:linear-gradient(0deg,#b5cfef 0 45%,#0966d8 45% 58%,#b5cfef 58% 100%);background-size:100% 48px;animation-name:diagram-vertical-flow}
 [data-animated-diagram] .specialist-agents>div::before{background-image:linear-gradient(90deg,#b5cfef 0 45%,#0966d8 45% 58%,#b5cfef 58% 100%);background-size:48px 100%;animation-name:diagram-horizontal-flow}
}
/* Content-sized marks keep equal visible gaps, including the duplicated loop seam. */
#partners .partner-set {
  gap: 48px;
  padding-inline: 24px;
}
#partners .partner-mark {
  width: max-content;
  flex: 0 0 auto;
  min-height: 110px;
  flex-direction: row;
  justify-content: flex-start;
  gap: 16px;
  padding: 12px 0;
  text-align: start;
}
#partners .partner-mark.partner-name-right img {
  width: 58px;
  max-width: 58px;
  height: 58px;
  flex-shrink: 0;
}
#partners .partner-mark .partner-name {
  max-width: none;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.65;
  color: var(--navy);
}
.partner-track{animation-duration:var(--partner-duration,180s)}
@media (max-width: 600px) {
  #partners .partner-mark .partner-name {
    font-size: 14px;
  }

  #partners .partner-set {
    gap: 32px;
    padding-inline: 16px;
  }
  #partners .partner-mark {
    gap: 14px;
    min-height: 104px;
  }
  #partners .partner-mark.partner-name-right img {
    width: 54px;
    max-width: 54px;
    height: 54px;
  }
}
