/* A continuous system: five physical forms, one operational foundation. */
.home-progression{--pg-line:#86afa7;--pg-muted:#b2c2bc;--pg-bright:#c7e2d7;--pg-accent:#ee9a78;position:relative;isolation:isolate;background:#111c1f;color:var(--paper);padding-block:clamp(76px,8vw,130px) clamp(65px,6vw,100px);overflow:hidden}
.home-progression:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 49% 54%,#33534828,transparent 68%)}
.progression-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:clamp(56px,6vw,96px)}
.home-progression .progression-heading h2{font-size:clamp(48px,6.4vw,104px);letter-spacing:-.055em;line-height:1.03;font-weight:400;margin:0;max-width:1050px}
.progression-heading h2 span{color:#b5cfc3}
.progression-definitions{position:absolute;overflow:hidden;pointer-events:none}
.progression-system{position:relative}
.progression-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}
.progression-stage{min-width:0;position:relative}
.progression-stage h3{display:flex;align-items:center;justify-content:center;text-align:center;gap:14px;margin:0;height:48px;padding-inline:12px;font-size:clamp(12px,1.25vw,20px);font-weight:400;line-height:1.3;letter-spacing:.045em;white-space:nowrap}
.progression-stage:last-child h3{color:#efb198}
.progression-machine{display:block;position:relative;z-index:1;width:100%;aspect-ratio:1;overflow:visible;fill:none;stroke:var(--pg-line);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.pg-face{fill:url(#progression-face)}
.pg-warm-face{fill:url(#progression-warm-face);stroke:var(--pg-accent)}
.pg-strong{stroke:var(--pg-bright);stroke-width:1.25}
.pg-ground{stroke:#6a918739;stroke-width:.6}
.pg-faint{stroke:#729a8f77;stroke-width:.8}
.pg-orbit{stroke:#658e816b;stroke-width:.7;stroke-dasharray:3 5}
.pg-live{stroke:var(--pg-accent);stroke-width:1.3}
circle.pg-live{fill:var(--pg-accent);stroke:none}
.pg-signal{stroke:#a3c4b7;stroke-width:.9}
.pg-chip{fill:#92bbae17;stroke:#c1dacc}
.pg-rack-slots{stroke:#88a99b;stroke-width:.7}
.pg-twin-ghost{stroke:#6f9c8b65;stroke-dasharray:3 4;stroke-width:.8}
.pg-twin-orbits{stroke:#76a89486;stroke-width:.7}
.pg-decision-network{stroke:#658d7f8c;stroke-width:.9}
.pg-decision-route{stroke:var(--pg-accent);stroke-width:1.6;stroke-dasharray:22 170}
.pg-joint{fill:#172a2a;stroke:#b6cabe;stroke-width:1.2}
.progression-current{position:absolute;z-index:2;pointer-events:none;top:48px;left:0;width:100%;height:auto;overflow:visible;stroke-linecap:round}
.pg-current-bed{stroke:#729e8d55;stroke-width:.7}
.pg-current-motion{stroke:var(--pg-bright);stroke-width:1.25}
.pg-current-a{stroke-dasharray:28 192;animation:pg-flow 4.4s linear infinite}
.pg-current-b{stroke:var(--pg-accent);stroke-dasharray:10 265;animation:pg-flow 5.5s linear infinite;animation-delay:-1.5s}
.pg-current-c{stroke:#80b7a4;stroke-dasharray:48 172;animation:pg-flow 6.6s linear infinite;animation-delay:-3s}
.progression-stage>p{position:relative;z-index:2;padding:16px 26px 22px 12px;margin:0;font-size:clamp(13px,1.11vw,17px);line-height:1.85;color:#c2cdc6;min-height:118px}
.progression-stage>p>span,.progression-stage>p>a{white-space:nowrap}
.home-progression i{font-style:normal;font-size:.66em;color:#72998a;padding-inline:3px}
.home-progression a{color:inherit;text-decoration:none;text-underline-offset:5px;text-decoration-color:#95afa35e}
.home-progression a:hover{text-decoration:underline;text-decoration-color:var(--pg-accent);color:#f0b293}
.home-progression a:focus-visible{outline:2px solid var(--pg-accent);outline-offset:5px}
.progression-foundation{position:relative;padding-top:40px}
.progression-foundation-branches{position:absolute;inset:0 0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:40px;border-bottom:1px solid #6f998d75}
.progression-foundation-branches>span{justify-self:center;height:100%;width:1px;background:linear-gradient(#7aa18e00,#8eb7a891);position:relative}
.progression-foundation-branches>span:after{content:"";position:absolute;bottom:-2px;left:-2px;width:5px;height:5px;background:#8cac9c;box-shadow:0 0 12px #8cac9c28}
.progression-foundation>p{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,48px);margin:0;padding:26px 15px 0;font:clamp(10px,1.04vw,14px)/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#c4d6c9}
.progression-foundation-label{display:flex;align-items:center;gap:clamp(16px,3vw,48px);white-space:nowrap}.progression-foundation-label>i{font-size:9px;padding:0;color:var(--pg-accent)}
.pg-signal path{animation:pg-radio 2.8s ease-out infinite;transform-origin:110px 56px}
.pg-signal path:nth-child(1){animation-delay:-.6s}.pg-signal path:nth-child(2){animation-delay:-.3s}
.pg-server-lights{animation:pg-server 2.4s ease-in-out infinite}
.pg-compute-trace{stroke-dasharray:14 48;animation:pg-compute 1.8s linear infinite}
.pg-twin-scan{animation:pg-scan 3.6s ease-in-out infinite}
.pg-decision-route{animation:pg-route 3.6s linear infinite}
.pg-selected-decision{animation:pg-server 3.6s ease-in-out infinite;animation-delay:-1.8s}
.pg-gripper{animation:pg-grip 4s ease-in-out infinite;transform-origin:157px 72px}
.pg-action-scan{animation:pg-server 2s ease-in-out infinite}
.home-progression[data-motion="off"] *,.home-progression[data-motion="off"]:before,.home-progression[data-motion="off"]:after,.home-progression[data-motion="off"] :before,.home-progression[data-motion="off"] :after{animation-play-state:paused!important}
@keyframes pg-flow{to{stroke-dashoffset:-1100}}
@keyframes pg-radio{0%,100%{opacity:.18}40%,65%{opacity:1}}
@keyframes pg-server{0%,100%{opacity:.35}45%,65%{opacity:1}}
@keyframes pg-compute{to{stroke-dashoffset:-62}}
@keyframes pg-scan{0%,100%{transform:translateY(-9px);opacity:.3}50%{transform:translateY(22px);opacity:1}}
@keyframes pg-route{to{stroke-dashoffset:-192}}
@keyframes pg-grip{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}
@media(min-width:1500px){.progression-stage h3{padding-inline:22px}.progression-stage>p{padding-left:22px;padding-right:36px;max-width:320px}}
@media(max-width:1100px) and (min-width:761px){.progression-stage h3{font-size:12px;gap:9px;padding-inline:5px}.progression-stage>p{font-size:13px;padding-inline:5px 16px;min-height:125px}}
@media(max-width:760px){
  .home-progression{padding-block:66px 58px;padding-inline:22px}
  .progression-heading{margin-bottom:40px;align-items:start;gap:15px}
  .home-progression .progression-heading h2{font-size:clamp(39px,8.7vw,65px);line-height:1.07;letter-spacing:-.05em}
  .progression-current{display:none}
  .progression-stages:before{content:"";position:absolute;top:54px;bottom:-16px;left:2px;width:1px;background:#7ea08c75}
  .progression-stages:after{content:"";position:absolute;top:54px;bottom:-16px;left:2px;width:1px;background:repeating-linear-gradient(180deg,transparent 0 86px,#d7b494 92px,#d7b494 115px,transparent 122px 210px);background-size:100% 210px;animation:pg-flow-down 3.2s linear infinite}
  .progression-stages{display:block;padding-left:15px;position:relative}
  .progression-stage{display:grid;grid-template-columns:minmax(120px,.88fr) minmax(0,1.12fr);grid-template-rows:auto auto;align-items:center;align-content:center;min-height:211px;padding-block:15px;gap:6px 10px}
  .progression-stage:before{content:"";position:absolute;left:-13px;top:105px;width:26px;border-top:1px solid #779c8670}
  .progression-stage:after{content:"";position:absolute;left:-15px;top:103px;width:5px;height:5px;background:#a9c4ad}
  .progression-stage h3{grid-column:1;grid-row:1;height:auto;font-size:clamp(15px,3.2vw,21px);letter-spacing:.03em;line-height:1.5;padding:0}
  .progression-stage>p{grid-column:2;grid-row:1/3;align-self:center;min-height:0;padding:10px 0 20px;font-size:clamp(12px,2.7vw,16px);line-height:1.9}
  .progression-machine{grid-column:1;grid-row:2;width:100%;max-width:210px;justify-self:center}
  .progression-foundation{padding:28px 0 0 15px;margin-top:16px}
  .progression-foundation-branches{display:none}
  .progression-foundation:before{content:"";position:absolute;left:2px;top:0;right:0;border-top:1px solid #7ea08c75}
  .progression-foundation>p{justify-content:space-between;flex-wrap:wrap;gap:7px;padding:0;font-size:12px;letter-spacing:.03em;line-height:1.8}
  .progression-foundation-label{gap:7px}.progression-foundation-label>i{font-size:7px}
  @keyframes pg-flow-down{to{background-position:0 210px}}
}
@media(min-width:520px) and (max-width:760px){.progression-stage{min-height:245px;grid-template-columns:minmax(180px,1fr) minmax(0,1fr);column-gap:30px}.progression-stage h3{font-size:21px}.progression-stage>p{font-size:16px;max-width:250px}.progression-stage:before{top:130px}.progression-stage:after{top:128px}}
@media(prefers-reduced-motion:reduce){.home-progression *,.home-progression :before,.home-progression :after{animation:none!important}.pg-current-motion{opacity:.6}.pg-decision-route{stroke-dasharray:none}}
