@property --i{syntax:"<number>";inherits:true;initial-value:0}.pipeline[data-astro-cid-iz62twpy]{--step:1.1s;--node:2.75rem;padding:var(--space-m);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr);display:grid}.pipeline__lane[data-astro-cid-iz62twpy]{display:none}.pipeline__list[data-astro-cid-iz62twpy]{gap:var(--space-m);grid-auto-rows:1fr;margin:0;padding:0;list-style:none;display:grid;position:relative}.pipeline__list[data-astro-cid-iz62twpy]:before,.pipeline__list[data-astro-cid-iz62twpy]:after{content:"";left:calc(var(--node) / 2 - 1px);top:calc(100% / var(--n) / 2);border-radius:2px;width:2px;position:absolute}.pipeline__list[data-astro-cid-iz62twpy]:before{height:calc(100% - 100% / var(--n));background:var(--line)}.pipeline__list[data-astro-cid-iz62twpy]:after{background:linear-gradient(180deg, var(--brand), var(--brand-2));height:0}.station[data-astro-cid-iz62twpy]{align-items:center;gap:var(--space-s);display:flex;position:relative}.station__node[data-astro-cid-iz62twpy]{z-index:1;width:var(--node);height:var(--node);border:2px solid var(--brand);background:var(--brand-soft);color:var(--brand-text);font-family:var(--font-mono);font-weight:500;font-size:var(--step--1);border-radius:50%;flex:none;place-items:center;display:grid}.station__name[data-astro-cid-iz62twpy]{letter-spacing:-.01em;font-weight:700}@media (width>=40rem){.pipeline[data-astro-cid-iz62twpy]{padding:var(--space-m) var(--space-m) var(--space-l)}.pipeline__list[data-astro-cid-iz62twpy]{grid-auto-rows:auto;grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:0}.pipeline__list[data-astro-cid-iz62twpy]:before,.pipeline__list[data-astro-cid-iz62twpy]:after{left:calc(100% / var(--n) / 2);top:calc(var(--node) / 2 - 1px);width:auto;height:2px}.pipeline__list[data-astro-cid-iz62twpy]:before{width:calc(100% - 100% / var(--n))}.pipeline__list[data-astro-cid-iz62twpy]:after{background:linear-gradient(90deg, var(--brand), var(--brand-2));width:0;height:2px}.station[data-astro-cid-iz62twpy]{text-align:center;flex-direction:column;gap:.75rem}}@media (prefers-reduced-motion:no-preference){html.js .pipeline[data-astro-cid-iz62twpy]{--i:0;column-gap:var(--space-s);grid-template-columns:2.2rem minmax(0,1fr)}html.js .pipeline__lane[data-astro-cid-iz62twpy]{display:block;position:relative}html.js .pipeline__card[data-astro-cid-iz62twpy]{left:50%;top:calc((var(--i) + .5) / var(--n) * 100%);background:linear-gradient(var(--ink-soft), var(--ink-soft)) .25rem .35rem / .7rem 2px no-repeat, linear-gradient(var(--line), var(--line)) .25rem .6rem / 1.1rem 2px no-repeat, var(--surface);width:1.7rem;height:1.25rem;box-shadow:0 6px 14px -4px #4f46e58c, 0 0 0 1.5px var(--brand);opacity:0;border-radius:5px;position:absolute;translate:-50% -50%}html.js .pipeline[data-astro-cid-iz62twpy].is-visible{animation:travel calc(var(--last) * var(--step)) linear .5s forwards}html.js .pipeline[data-astro-cid-iz62twpy].is-visible .pipeline__card[data-astro-cid-iz62twpy]{animation:.4s .3s forwards card-in}html.js .pipeline[data-astro-cid-iz62twpy]:not(.is-visible) .station__node[data-astro-cid-iz62twpy]{border-color:var(--line);background:var(--surface);color:var(--ink-soft)}html.js .pipeline[data-astro-cid-iz62twpy].is-visible .station__node[data-astro-cid-iz62twpy]{animation:reach .45s ease calc(.5s + var(--k) * var(--step)) backwards}html.js .pipeline[data-astro-cid-iz62twpy].is-visible .pipeline__list[data-astro-cid-iz62twpy]:after{animation:fill calc(var(--last) * var(--step)) linear .5s forwards}@media (width>=40rem){html.js .pipeline[data-astro-cid-iz62twpy]{grid-template-columns:minmax(0,1fr)}html.js .pipeline__lane[data-astro-cid-iz62twpy]{height:2.4rem}html.js .pipeline__card[data-astro-cid-iz62twpy]{top:50%;left:calc((var(--i) + .5) / var(--n) * 100%)}html.js .pipeline[data-astro-cid-iz62twpy].is-visible .pipeline__list[data-astro-cid-iz62twpy]:after{animation-name:fill-x}}}@keyframes travel{to{--i:var(--last)}}@keyframes card-in{to{opacity:1}}@keyframes reach{0%{border-color:var(--line);background:var(--surface);color:var(--ink-soft)}}@keyframes fill{0%{height:0}to{height:calc(100% - 100% / var(--n))}}@keyframes fill-x{0%{width:0;height:2px}to{width:calc(100% - 100% / var(--n));height:2px}}
