.story{isolation:isolate;position:relative}.story:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 70% 30%,#2e3aa873,#0000 70%),radial-gradient(40% 40% at 10% 80%,#f0a73a12,#0000 70%);height:120svh;position:absolute;inset:0 0 auto}.story-pin{padding:120px 0 80px;position:relative}.story-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:56px;display:grid;position:relative}.story-hero{grid-area:1/2;padding:24px 0 96px}.story-hero .hero-title{font-size:clamp(40px,4.8vw,72px)}.machine-col{grid-area:1/1/3;align-self:start;position:sticky;top:96px}.story-steps{grid-area:2/2;gap:120px;padding-bottom:40px;display:grid}.story-rail,.app-stage,.threads,.scroll-hint{display:none}.story-intro h2{margin:12px 0 14px;font-size:clamp(30px,3.6vw,48px)}.sstep{gap:22px;display:grid}.sstep-cap{border-left:2px solid var(--line-2);padding-left:20px;transition:border-color .4s;position:relative}.sstep.on .sstep-cap{border-color:var(--gold)}.sstep-no{font-family:var(--mono);letter-spacing:.14em;color:var(--gold);font-size:12px}.sstep-no span{color:var(--muted);margin-left:2px}.sstep h3{letter-spacing:-.03em;margin:8px 0 10px;font-size:clamp(24px,2.5vw,36px)}.sstep-cap>p:not(.sstep-no){color:var(--muted);max-width:540px;font-size:16px}.step-more{color:var(--gold-2);margin-top:10px;font-size:14px;font-weight:600;display:inline-block}.machine{padding-bottom:46px;position:relative}.machine-glow{z-index:-1;background:radial-gradient(closest-side,#5865f261,#5865f214 60%,#0000 75%);border-radius:50%;position:absolute;inset:6% 4% 12%}svg.loom{width:100%;height:auto;display:block;overflow:visible}.loom .lm-plate{font:600 12px var(--mono);fill:#fff}.loom .lm-pt{font:500 8px var(--mono);fill:#9aa3d6}.loom .lm-pt.small{font-size:6.5px}.loom .lm-pstat{font:700 6.5px var(--mono);fill:#0b0e2a}.loom .lm-prpm{font:700 15px var(--sans);fill:#fff;letter-spacing:-.02em}.loom .lm-takatag text{font:700 11px var(--sans);fill:#1b1200}.loom .lm-bt{font:600 9px var(--sans);fill:#1b1e35}.loom .lm-label rect{fill:#070818cc;stroke:#f0a73a99;stroke-width:1px}.loom .lm-label text{font:500 10px var(--sans);fill:#eef0ff}.loom .lm-lit,.loom .lm-glow{opacity:0;transition:opacity .45s}.loom[data-lamp=green] .lm-lit-g,.loom[data-lamp=green] .lm-glow-g,.loom[data-lamp=red] .lm-lit-r,.loom[data-lamp=red] .lm-glow-r,.loom[data-lamp=yellow] .lm-lit-y,.loom[data-lamp=yellow] .lm-glow-y{opacity:1}.loom[data-lamp=yellow] .lm-lit-y,.loom[data-lamp=yellow] .lm-glow-y{animation:1.2s ease-in-out infinite lamp-blink}@keyframes lamp-blink{0%,to{opacity:1}50%{opacity:.2}}.loom[data-mode=air] .lm-jet,.loom[data-mode=air] .lm-drops,.loom[data-mode=water] .lm-relay,.loom[data-mode=water] .lm-puffs{display:none}.loom[data-mode=water] .lm-acc{fill:url(#lm-acc-w)}.loom .lm-acc{transition:fill .4s}.mode{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0e2acc;border-radius:999px;padding:3px;display:inline-flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.mode button{font:600 13px var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 16px;transition:background .25s,color .25s}.mode button[aria-pressed=true]{background:var(--indigo-2);color:#fff;box-shadow:0 6px 20px -6px #5865f2cc}.mode button:hover{color:var(--text)}.story--pin .story-pin{height:100svh;padding:0;overflow:hidden}.story--pin .story-grid{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:stretch;column-gap:52px;height:100%;padding-top:84px;padding-bottom:22px}.story--pin .story-hero{z-index:3;grid-area:2/1/4;align-self:center;max-width:590px;padding:0 0 40px}.story--pin .hero-title{font-size:clamp(40px,4.7vw,72px)}.story--pin .machine-col{z-index:2;grid-area:2/1/4;align-self:center;position:relative;top:auto}.story--pin .machine{padding-bottom:48px}.story--pin svg.loom{max-height:calc(100svh - 230px)}.story--pin .story-rail{grid-area:1/1/auto/-1;margin-bottom:18px;display:block}.story--pin .story-steps{z-index:3;grid-area:2/2;gap:0;padding:0 0 16px;display:grid;position:relative}.story--pin .story-intro{display:none}.story--pin .sstep{grid-area:1/1;align-self:end;display:block}.story--pin .sstep .app{display:none}.story--pin .sstep-cap{border:0;padding:0}.story--pin .sstep h3{margin:6px 0 8px;font-size:clamp(24px,2.3vw,34px)}.story--pin .sstep-cap>p:not(.sstep-no){font-size:15px;line-height:1.5}.story--pin .step-more{margin-top:6px;font-size:13px}.story--pin .app-stage{z-index:3;grid-area:3/2;align-items:flex-start;min-height:0;display:flex}.story--pin .app-stage .app{flex-direction:column;height:min(100%,470px);display:flex}.story--pin .app-stage .app-body{flex:1;min-height:0;font-size:clamp(8px,1.82cqw,12.5px)}.story--pin .app-stage .app-main{min-height:0;overflow:hidden}.story--pin .threads{pointer-events:none;z-index:4;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.story--pin .scroll-hint{z-index:5;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.scroll-hint i{background:linear-gradient(var(--gold), transparent);transform-origin:top;width:1px;height:34px;animation:1.8s ease-in-out infinite hint}@keyframes hint{0%{opacity:1;transform:scaleY(0)}70%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.story-rail{position:relative}.story-rail ol{grid-template-columns:repeat(8,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.rail-line{background:var(--line-2);border-radius:2px;height:2px;position:absolute;top:5px;left:6.25%;right:6.25%}.rail-fill{background:linear-gradient(90deg, var(--gold), var(--gold-2));transform-origin:0;border-radius:2px;display:block;position:absolute;inset:0;transform:scaleX(0);box-shadow:0 0 14px #f0a73ab3}.story-rail button{cursor:pointer;width:100%;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;justify-items:center;gap:2px;padding:20px 2px 0;font-size:11.5px;transition:color .3s;display:grid;position:relative}.story-rail button:before{content:"";background:var(--ink);border:2px solid var(--line-2);border-radius:50%;width:12px;height:12px;margin-left:-6px;transition:all .3s;position:absolute;top:0;left:50%}.story-rail button b{color:inherit;opacity:.6;font-weight:500}.story-rail button:hover,.story-rail button.on{color:var(--text)}.story-rail button.on:before{background:var(--gold);border-color:var(--gold)}.story-rail button[aria-current]:before{box-shadow:0 0 0 5px #f0a73a38,0 0 18px #f0a73acc}.threads .st{fill:none;stroke-linecap:round}.threads .st-main{stroke:#f0a73a;stroke-width:2.2px}.threads .st-a{stroke:#8f9bffd9;stroke-width:1.3px}.threads .st-c{stroke:#f6efdcb3;stroke-width:1.3px}.threads .st-flow{fill:none;stroke:#fff1d2;stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 17;animation:1s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-18px}}.threads .th-end{fill:#f0a73a}.threads .th-a{fill:#f0a73a40;stroke:#f0a73a;stroke-width:2px}.threads .th-bead{fill:#fff6e2;filter:drop-shadow(0 0 4px #f0a73a)}@media (width<=899px){.story-pin{padding:64px 0 40px}.story-grid{flex-direction:column;display:flex}.machine-col{order:-1}.story-hero{padding:8px 0 26px}.story-hero .hero-mark{display:none}.story-hero .hero-title{font-size:clamp(36px,10.5vw,52px)}.story-hero .hero-cta{margin-top:24px}.machine-col{z-index:6;align-self:stretch;margin:0 -16px;padding:4px 16px 8px;transition:background-color .3s;position:sticky;top:60px}.machine-col.stuck{-webkit-backdrop-filter:blur(6px);background:linear-gradient(#070818f5 80%,#07081800)}.machine{padding-bottom:40px}svg.loom{width:auto;max-width:100%;height:min(28svh,300px);margin:0 auto}.loom .lm-labels{display:none}.mode button{padding:6px 13px;font-size:12px}.story-steps{gap:72px;padding-top:16px}.sstep{gap:16px}.sstep:before{content:"";background:repeating-linear-gradient(180deg, var(--gold) 0 4px, transparent 4px 10px);opacity:.25;width:2px;height:34px;margin-bottom:-6px;margin-left:20px;transition:opacity .4s;display:block}.sstep.on:before{opacity:1;animation:.7s linear infinite drip}@keyframes drip{to{background-position:0 10px}}.sstep.on .app{box-shadow:0 30px 80px -30px #000c,0 0 0 2px #f0a73a8c}}
