/* Anchored to the original heading; desktop uses the existing inter-section gap. */
.positioning{container-type:inline-size}
.economic-process{position:relative;margin-top:16px;width:100cqw;max-width:100cqw}
.positioning .economic-flow{margin:0;color:var(--link);font-size:clamp(20px,1.85vw,27px);font-weight:600;line-height:1.25;letter-spacing:-.025em;text-align:left;padding-right:110px}
.positioning .economic-flow span{padding-inline:5px}
.process-pipeline{position:absolute;top:calc(100% + 20px);left:0;right:10px;height:126px;display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr) 120px minmax(0,1fr);gap:14px;padding-top:10px;align-items:center;color:var(--ink)}
.process-node{position:relative;height:104px;min-width:0;padding:17px 20px;background:var(--surface);border:1px solid var(--line);border-radius:4px 0 4px 4px;box-shadow:0 8px 13px #17121f0b;transition:background .4s,border-color .4s,transform .4s,box-shadow .4s;isolation:isolate}
.process-node:before{content:'';position:absolute;left:-1px;right:-1px;top:-10px;height:10px;background:color-mix(in srgb,var(--surface),#aa7ed3 18%);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);width:calc(100% + 10px);transition:background .4s}
.process-node:after{content:'';position:absolute;top:-1px;bottom:-1px;right:-10px;width:10px;background:color-mix(in srgb,var(--line),#aa7ed3 15%);transform:skewY(-45deg);transform-origin:top left;transition:background .4s}
.process-label{font-size:11px;line-height:1.3;letter-spacing:.05em;font-weight:700;color:var(--muted);margin-bottom:10px}
.process-value{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.02em;min-height:47px}
.process-node.is-active{background:color-mix(in srgb,var(--surface),#aa7ed3 35%);border-color:#aa7ed3;transform:translateY(-3px);box-shadow:0 8px 20px #aa7ed326}
.process-node.is-active:before{background:#c8a9e3}.process-node.is-active:after{background:#8b61b1}.process-node.is-active .process-label{color:var(--link)}
.process-stream{position:relative;container-type:size;height:34px;align-self:center;color:var(--link);overflow:visible}
.process-stream:before,.process-stream i{position:absolute;left:0;right:0;top:16px;height:2px;background:var(--line);content:''}
.process-stream i{background:#aa7ed3;height:4px;top:15px;opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .3s}
.process-stream.is-running i{opacity:1;animation:process-path 1.3s ease-out forwards}.process-stream.is-arrived i{opacity:1;transform:scaleX(1)}
.process-stream b{position:absolute;left:0;top:12px;width:10px;height:10px;border-radius:50%;background:#aa7ed3;box-shadow:0 0 10px #aa7ed380;opacity:0}
.process-stream b:nth-of-type(2){width:6px;height:6px;top:14px;animation-delay:.1s!important}.process-stream b:nth-of-type(3){width:4px;height:4px;top:15px;animation-delay:.2s!important}
.process-stream.is-running b{animation:process-packet 1.3s linear both}
.positioning .process-stream span{position:absolute;right:-4px;top:1px;padding:0;font-size:23px;line-height:30px}
.process-pause{position:absolute;right:0;top:-5px;min-height:36px;padding:5px 0 5px 12px;font-size:11px;font-weight:400;text-decoration:underline;text-underline-offset:3px;background:none;color:var(--muted)}
[data-process-flow][data-paused=true] *{animation-play-state:paused!important}
[data-phase=complete] .process-node:last-child{box-shadow:0 8px 22px #aa7ed33b}
@keyframes process-packet{0%{transform:translateX(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(100cqw);opacity:0}}
@keyframes process-path{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1101px){.positioning{padding-bottom:calc(64px - (clamp(20px,1.85vw,27px) * 1.25 - 20.4px))}}
@media(max-width:1100px){.economic-process{width:100%;max-width:100%;padding-bottom:0}.positioning .economic-flow{padding-right:0;font-size:22px}.process-pipeline{position:relative;top:auto;left:auto;right:auto;height:142px;margin-top:20px;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);gap:12px;padding-right:10px}.process-node{height:116px;padding:14px 12px}.process-label{font-size:10px}.process-value{font-size:16px}.process-pause{position:absolute;display:block;top:auto;bottom:-22px;right:0;padding:0;min-height:24px}.process-pause[hidden]{display:none}}
@media(max-width:600px),(min-width:901px) and (max-width:1100px){.economic-process{margin-top:20px}.positioning .economic-flow{font-size:21px;line-height:1.3}.process-pipeline{height:286px;display:grid;grid-template-columns:1fr;grid-template-rows:70px 28px 70px 28px 70px;gap:0;margin-top:18px;padding-top:10px;padding-right:10px;align-items:stretch}.process-node{height:70px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px}.process-label{margin:0;font-size:10px;line-height:1.45}.process-value{font-size:15px;min-height:0}.process-stream{width:34px;height:28px;justify-self:center;align-self:stretch}.process-stream:before,.process-stream i{left:16px;right:auto;top:0;width:2px;height:100%}.process-stream i{width:4px;left:15px;transform:scaleY(0);transform-origin:top}.process-stream.is-running i{animation-name:process-path-vertical}.process-stream.is-arrived i{transform:scaleY(1)}.process-stream b{left:12px;top:0}.process-stream b:nth-of-type(2){left:14px;top:0}.process-stream b:nth-of-type(3){left:15px;top:0}.process-stream.is-running b{animation-name:process-packet-vertical}.positioning .process-stream span{right:auto;left:9px;top:6px;transform:rotate(90deg);font-size:20px}}
@keyframes process-packet-vertical{0%{transform:translateY(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateY(100cqh);opacity:0}}
@keyframes process-path-vertical{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.process-node,.process-node:before,.process-node:after{transition:none}.process-pause{display:none}.process-stream i{opacity:1;transform:none}.process-stream b{display:none}}
@media(max-width:360px){.process-value{font-size:14px;line-height:1.25}}
@media(max-width:360px){.process-node{grid-template-columns:94px minmax(0,1fr);gap:8px}}
