@font-face{font-family:Onest;font-weight:400 600;font-display:swap;src:url(/fonts/onest.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}:root{--paper:#efffe1;--ink:#1b322d;--black:#000;--white:#fff;--pond:#cbe25b;--lime:#cef058;--orange:#ff9f67;--brown:#632b0f;--purple:#cba6f7;--purple-dark:#2e0f52;--purple-ink:#3f1d68;--purple-deep:#250847;--pink:#ff9faf;--night:#292b30;--slate:#9ba7b5;--slate-light:#cbd0d5;--slate-line:#47515d;--ink-soft:#686e97;--loader-blue:#c5cdea;--surface:var(--paper);--text:var(--ink);--text-muted:var(--ink-soft);--line:var(--ink-soft);--rule:var(--ink-soft);--hover:var(--purple-deep);--focus:#4458a0;--font-display:"Instrument Serif", Georgia, serif;--font-sans:"Onest", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--cell:40px;--gutter:clamp(16px, 5vw, 80px);--hl-hero:clamp(58px, 10.5vw, 150px);--hl-night:clamp(52px, 8.4vw, 120px);--dur-ui:.15s;--dur-step:95ms;--ease-ui:cubic-bezier(.4, 0, .2, 1)}.night{--surface:var(--night);--text:var(--slate-light);--text-muted:var(--slate);--line:var(--slate);--rule:var(--slate-line);--hover:var(--purple);--focus:var(--purple);background:var(--night);color:var(--slate-light)}*,:before,:after{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;font-weight:400;overflow-x:clip}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,dl,dd,pre,figure{margin:0}.wrap{width:100%;max-width:1440px;padding-inline:var(--gutter);margin:0 auto}.sec{flex-direction:column;gap:80px;padding-block:120px 96px;display:flex}.sec.is-hero{gap:40px;padding-block:120px}.sec.is-last{padding-bottom:120px}.split{flex-wrap:wrap;align-items:flex-start;gap:80px;display:flex}.split.is-end{justify-content:space-between;align-items:flex-end}.split.is-center{justify-content:space-between;align-items:center}.side{flex:360px;min-width:0}.main{flex:999 560px;min-width:0}.stack{gap:var(--gap,24px);flex-direction:column;display:flex}.stack.is-40{--gap:40px}.stack.is-16{--gap:16px}.row{flex-wrap:wrap;display:flex}.grid{flex-wrap:wrap;gap:40px;display:flex}.grid>*{flex:1 1 var(--basis,300px);min-width:0}.eyebrow{font-family:var(--font-display);letter-spacing:-.84px;color:var(--text);font-size:28px;font-style:italic;line-height:1.1}.night .eyebrow{color:var(--text-muted)}.lead{letter-spacing:-.2px;max-width:640px;font-size:20px;line-height:28px}.body{letter-spacing:.17px;font-size:17px;line-height:24px}.muted{color:var(--text-muted)}.note{color:var(--text-muted);font-size:13px;font-weight:500;line-height:19px}.display{font-family:var(--font-display);font-style:italic;font-weight:400;line-height:1}.display.is-40{letter-spacing:-1.2px;font-size:40px}.display.is-48{letter-spacing:-1.44px;font-size:48px}.display.is-64{letter-spacing:-1.92px;font-size:clamp(44px,6vw,64px)}.hl{font-family:var(--font-display);color:var(--black);flex-direction:column;align-items:flex-start;font-style:italic;font-weight:400;display:flex}.hl>span{background:var(--purple);width:fit-content;font-size:var(--hl-size,var(--hl-hero));letter-spacing:-.03em;line-height:1.0769;display:block;position:relative}.hl.is-pond>span{background:var(--pond)}.hl.is-night>span{--hl-size:var(--hl-night)}.hl .stay{pointer-events:none;width:14px;height:14px;position:absolute}.hl .cover{pointer-events:none;display:grid;position:absolute;inset:0}.tile{height:var(--cell);background:var(--slate);color:var(--black);font-family:var(--font-sans);letter-spacing:-.2px;white-space:nowrap;text-align:center;flex:none;justify-content:center;align-items:center;padding:0 10px;font-size:20px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.tile>span{text-box:trim-both cap alphabetic}.tile.is-lime{background:var(--lime)}.tile.is-pond{background:var(--pond)}.tile.is-purple{background:var(--purple);color:var(--purple-ink)}.tile.is-orange{background:var(--orange);color:var(--brown)}.tile.is-pink{background:var(--pink);color:var(--purple-ink)}.tile.is-status{background:var(--purple-dark);color:var(--purple);letter-spacing:-.4px;font-weight:500}.tile.is-outline{color:var(--text);outline:1px solid var(--line);outline-offset:-.5px;background:0 0}.tile.is-wide{flex:auto;justify-content:flex-start}.w1{width:40px;padding:0}.w2{width:80px}.w3{width:120px}.w4{width:160px}.w5{width:200px}.w6{width:240px}.w7{width:280px}a.tile{transition:background-color var(--dur-ui) var(--ease-ui), color var(--dur-ui) var(--ease-ui), outline-color var(--dur-ui) var(--ease-ui)}a.tile.is-lime:hover{background:var(--ink);color:var(--lime)}a.tile.is-orange:hover{background:var(--brown);color:var(--orange)}a.tile.is-purple:hover{background:var(--purple-ink);color:var(--purple)}a.tile.is-outline:hover{color:var(--hover);outline-color:var(--hover)}a.tile:focus-visible,a.tile.is-outline:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.callout{letter-spacing:.17px;font-size:17px;font-weight:500;line-height:24px}.night .callout{color:var(--lime)}.specs{flex-direction:column;display:flex}.spec{grid-template-columns:var(--term,240px) minmax(0, 1fr);column-gap:10px;padding:15px 0 14px;display:grid}.spec+.spec{border-top:1px solid color-mix(in srgb, var(--line) 22%, transparent)}.spec dt{font-family:var(--font-display);letter-spacing:-.72px;font-size:24px;line-height:1}.spec dd{letter-spacing:.17px;opacity:.7;font-size:17px;line-height:24px}.spec dt,.spec dd{text-box:trim-both cap alphabetic}.spec a{text-underline-offset:3px;overflow-wrap:anywhere;text-decoration-thickness:1px}.card{color:inherit;flex-direction:column;align-items:flex-start;gap:20px;text-decoration:none;display:flex}.card .grow{flex-grow:1}.card .go{width:160px}a.card .go{transition:background-color var(--dur-ui) var(--ease-ui), color var(--dur-ui) var(--ease-ui)}a.card:hover .go{background:var(--purple-deep);color:var(--lime);outline-color:var(--purple-deep)}.night a.card:hover .go{background:var(--lime);color:var(--black);outline-color:var(--lime)}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:40px;display:flex}.mark{background:var(--pond);width:80px;height:80px;color:var(--black);grid-template-columns:1fr 1fr;text-decoration:none;display:grid;position:relative}.mark>span{font-family:var(--font-display);justify-content:center;align-items:center;font-size:18.4px;font-style:italic;line-height:1;display:flex}.outro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;padding-block:80px;display:flex}.outro-line{font-family:var(--font-display);letter-spacing:-1.44px;color:var(--slate-light);font-size:clamp(36px,5vw,48px);font-style:italic;line-height:1}.foot{border-top:1px solid var(--slate-line);color:var(--slate);flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:40px;font-size:13px;font-weight:500;line-height:19px;display:flex}.hero-art{max-width:480px;margin-right:calc(var(--gutter) * -1);flex-direction:column;flex:320px;display:flex;position:relative}.pixels{aspect-ratio:10/12;outline:1px solid var(--line);outline-offset:-.5px;grid-template-columns:repeat(10,1fr);width:100%;display:grid}.pixels>i{display:block}.hero-art>.tile{align-self:flex-start}.scroll{letter-spacing:-.4px;width:max-content;color:var(--purple-dark);font-size:20px;font-weight:500;line-height:28px;text-decoration:none}.scroll:hover{text-underline-offset:4px;text-decoration:underline}.studybar{outline:1px solid var(--slate);outline-offset:-.5px;width:400px;max-width:100%;height:40px;display:flex}.studybar>div{background:var(--lime);width:45%;color:var(--black);justify-content:flex-end;align-items:center;padding:0 10px;font-size:20px;font-weight:600;display:flex}.tree{grid-template-rows:auto 56px auto 56px auto;grid-template-columns:repeat(8,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tree>li{grid-area:var(--at);text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.tree>li .tile{max-width:100%}.tree>li.edge{display:block}.tree svg{width:100%;height:100%;display:block;overflow:visible}.tree path{fill:none;stroke:var(--slate);stroke-width:1px;vector-effect:non-scaling-stroke}.mono{font-family:var(--font-mono);font-weight:400}.sec.is-loose{padding-block:200px 160px}.sec.is-tight{padding-block:96px 120px}.sec-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:40px;display:grid}.sec-grid>.label{grid-column:1/3}.sec-grid>.hl{grid-column:3/13}.sec-grid>.prose-col{grid-column:3/12}.label{font-family:var(--font-mono);color:var(--text-muted);font-size:14px;line-height:20px}.prose{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(30px,3.8vw,52px);line-height:1.3}.prose .tile{vertical-align:middle;margin-inline:2px;font-size:18px}.contact-line{font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(36px,5.2vw,76px);font-style:italic;font-weight:400;line-height:1.1}.contact-line a{color:var(--lime);text-underline-offset:8px;text-decoration-thickness:2px}.contact-line a:hover{color:var(--purple)}.work-feature{color:inherit;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:24px 40px;text-decoration:none;display:grid}.work-feature>.shot{grid-column:1/9}.work-feature>.stack{grid-column:9/13;align-items:flex-start}.work-feature .go{width:160px;transition:background-color var(--dur-ui) var(--ease-ui), color var(--dur-ui) var(--ease-ui)}.work-feature:hover .go{background:var(--purple-deep);color:var(--lime);outline-color:var(--purple-deep)}.work-list{flex-direction:column;display:flex}.work-row{border-top:1px solid var(--line);color:inherit;grid-template-columns:40px minmax(0,5fr) minmax(0,5fr) 200px;align-items:baseline;column-gap:40px;padding:28px 0;text-decoration:none;display:grid}.work-row:last-child{border-bottom:1px solid var(--line)}.work-row .tile{justify-self:end}.work-row .display{transition:color var(--dur-ui) var(--ease-ui)}.work-row:hover .display{color:var(--hover)}.work-row:focus-visible{outline-offset:-2px}.beats{flex:280px;justify-content:flex-end;align-items:flex-end;height:200px;display:flex}.beat{background:var(--lime);transform-origin:bottom;width:40px;height:160px;animation:1.2s steps(4,end) infinite pd-beat}.beat:nth-child(2){background:var(--purple);animation-delay:.15s}.beat:nth-child(3){background:var(--orange);animation-delay:.3s}.beat:nth-child(4){background:var(--pond);animation-delay:.45s}.beat:nth-child(5){background:var(--pink);animation-delay:.6s}.app-icon{flex:200px;justify-content:flex-end;display:flex}.app-icon img{image-rendering:auto;width:200px;height:200px}.shot{flex-direction:column;display:flex}.shot img{outline:1px solid var(--line);outline-offset:-.5px;background:var(--white);width:100%}.night .shot img{background:var(--night)}.ext{--basis:340px}.ext img{aspect-ratio:16/10;object-fit:cover;object-position:top center;outline:1px solid var(--slate-line);outline-offset:-.5px;width:100%}.ext .meta{color:var(--text-muted);font-size:13px;font-weight:500;line-height:19px}.plans{flex-direction:column;display:flex}.plan{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:20px 40px;padding:24px 0;display:flex}.plan .display{flex:280px}.plan .body{flex:2 360px}.menu-art{flex-direction:column;align-items:flex-end;display:flex}.menu-art .bar{border:1px solid var(--slate);justify-content:flex-end;align-items:center;width:100%;height:40px;display:flex;position:relative}.menu-art .bar>.note{position:absolute;left:12px}.menu-art .press{border-left:1px solid var(--slate);justify-content:center;align-items:center;width:40px;height:38px;animation:5s step-end infinite pd-press;display:flex;position:relative}.menu-art .press:after{content:"";border:1px solid var(--line);border-radius:50%;width:12px;height:12px}.menu-art .popup{border:1px solid var(--slate);flex-direction:column;gap:10px;width:320px;max-width:100%;margin-top:10px;padding:20px;animation:5s steps(8,end) infinite pd-open;display:flex;position:relative}.menu-art .tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-art .tiles>i{border:1px solid var(--slate);height:80px}.menu-art .tiles>i:nth-child(2){background:var(--lime);border-color:var(--lime)}.menu-art .tiles>i:nth-child(3){background:var(--purple);border-color:var(--purple)}.menu-art .settings{border:1px solid var(--slate);justify-content:space-between;align-items:center;height:40px;padding:0 12px;font-size:13px;font-weight:500;display:flex;position:relative}.menu-art .fold{flex-direction:column;gap:10px;animation:5s steps(6,end) infinite pd-fold;display:flex;overflow:hidden}.menu-art .fold>i{border-bottom:1px solid var(--slate-line);height:30px}.menu-art .file{background:var(--ink);width:320px;max-width:100%;color:var(--lime);font-family:var(--font-mono);margin-top:40px;padding:16px 20px;font-size:14px;line-height:20px;position:relative}.morphs{flex:360px;grid-template-columns:repeat(3,minmax(0,120px));justify-content:end;display:grid}.morph{aspect-ratio:1;animation:3.2s steps(4,end) infinite pd-morph}.morph:nth-child(3n+2){animation-delay:.4s}.morph:nth-child(3n){animation-delay:.8s}.lineage{flex-wrap:wrap;gap:40px;display:flex}.lineage>.card{flex:220px;min-width:0}.lineage .flow{background:var(--lime);align-self:stretch;height:4px;display:block}.shapes{gap:10px;display:flex}.shapes>i{background:var(--lime);border-radius:50%;width:40px;height:40px}.shapes>i:nth-child(2){background:var(--purple);border-radius:12px}.shapes>i:nth-child(3){background:var(--orange)}.shapes.is-flat>i{border-radius:0}.knot-logo{background:var(--black);flex:360px;max-width:520px;padding:48px 40px}.knot-logo svg{width:100%;height:auto;display:block}.swatches{flex-wrap:wrap;display:flex}.swatch{height:240px;font-family:var(--font-mono);flex:140px;align-items:flex-end;padding:20px;font-size:16px;display:flex}.team{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.team>li{flex-direction:column;justify-content:space-between;gap:20px;min-height:240px;padding:24px;display:flex}.team .role{font-family:var(--font-mono);font-size:16px}.progress{flex-direction:column;gap:10px;max-width:800px;display:flex}.progress .ends{justify-content:space-between;font-size:17px;font-weight:500;line-height:24px;display:flex}.progress .ends.note{font-size:13px;line-height:19px}.progress .track{outline:1px solid var(--line);outline-offset:-.5px;height:80px;display:flex}.progress .fill{background:var(--lime);width:45%;color:var(--black);font-family:var(--font-display);justify-content:flex-end;align-items:center;padding:0 20px;font-size:48px;font-style:italic;display:flex}.stations{flex-direction:column;display:flex}.station{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:20px 40px;padding:40px 0;display:flex;position:relative}.station .when{flex-direction:column;flex:220px;align-items:flex-start;gap:10px;display:flex}.station .what{flex-direction:column;flex:3 420px;gap:12px;display:flex}.code{background:var(--ink);min-width:0;color:var(--slate-light);font-family:var(--font-mono);flex:320px;padding:24px;font-size:16px;line-height:24px;overflow-x:auto}.code .c1{color:var(--lime)}.code .c2{color:var(--purple)}.code .c3{color:var(--orange)}.code .c4{color:var(--slate)}.cursor{background:var(--lime);vertical-align:middle;width:10px;height:20px;animation:.5s step-end infinite pd-blink;display:inline-block}.bytes{grid-template-columns:repeat(12,minmax(0,1fr));max-width:480px;display:grid}.bytes>span{height:40px;font-family:var(--font-mono);color:var(--black);outline:1px solid var(--slate);outline-offset:-.5px;justify-content:center;align-items:center;font-size:16px;display:flex}.bytes .a{background:var(--lime)}.bytes .b{background:var(--purple)}.bytes .c{background:var(--orange)}.bytes .pad{color:var(--slate)}@keyframes pd-blink{50%{opacity:0}}@keyframes pd-fill{0%{width:0}}@keyframes pd-pop{0%,49.9%{opacity:0}50%,to{opacity:1}}@keyframes pd-gone{0%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes pd-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pd-beat{0%,to{transform:scaleY(.2)}50%{transform:scaleY(1)}}@keyframes pd-morph{0%,20%{border-radius:0}30%,70%{border-radius:50%}80%,to{border-radius:0}}@keyframes pd-press{0%,8%{background:0 0}10%,85%{background:var(--lime)}to{background:0 0}}@keyframes pd-open{0%,10%{clip-path:inset(0 0 100%)}40%,85%{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}@keyframes pd-fold{0%,40%{height:0}60%,85%{height:120px}to{height:0}}.motion .hl.is-in .cover>i{animation:.19s linear both pd-gone;animation-delay:calc(var(--delay,0s) + var(--wait,0s))}.motion [data-progress]:not(.is-in)>*{width:0}.motion [data-progress].is-in>*{animation:1.2s steps(9,end) .2s both pd-fill}.motion .tree path{stroke-dasharray:1}.motion .tree:not(.is-in) path{stroke-dashoffset:1px}.motion .tree.is-in path{animation:.6s steps(4,end) .2s both pd-draw}.motion .tree.is-in .edge+li+li+.edge path{animation-delay:.8s}.motion .bytes:not(.is-in)>span{opacity:0}.motion .bytes.is-in>span{animation:.19s linear both pd-pop;animation-delay:calc(var(--i) * .12s + .2s)}.motion [data-knot]:not(.is-in) .strand{opacity:0}.motion [data-knot].is-in .strand{animation:.19s linear both pd-pop;animation-delay:calc(var(--i) * .18s + .15s)}.motion .pixels>i.is-new{animation:.19s linear both pd-pop;animation-delay:var(--delay,0s)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.menu-art .fold{height:120px}}.dock{display:none}@media (width<=640px){.sec{gap:56px;padding-block:96px 80px}.sec.is-hero{padding-block:72px}.sec.is-loose,.sec.is-tight{padding-block:96px 80px}.sec-grid,.work-feature{grid-template-columns:minmax(0,1fr)}.sec-grid>.label,.sec-grid>.hl,.sec-grid>.prose-col,.work-feature>.shot,.work-feature>.stack{grid-column:1/-1}.work-row{grid-template-columns:1fr;row-gap:12px}.work-row .tile{justify-self:start}.hero-art{margin-right:0}.split{gap:56px}.spec{--term:130px!important}.display.is-40{font-size:34px}.display.is-48{font-size:38px}.tile{font-size:18px}.w6,.w7{width:auto}.top-nav{display:none}body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.dock{z-index:10;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--night);outline:1px solid var(--slate-line);max-width:calc(100% - 32px);display:flex;position:fixed;transform:translate(-50%)}.dock>a{height:48px;color:var(--slate-light);letter-spacing:-.2px;flex:auto;justify-content:center;align-items:center;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.dock>a.step{width:40px;color:var(--lime);flex:none;padding:0;font-size:22px}.dock>a.is-on{background:var(--lime);color:var(--black)}.dock>a:focus-visible{outline:2px solid var(--purple);outline-offset:-2px}.tree{grid-template-rows:auto 40px auto 40px auto}.tree>li .tile{white-space:normal;height:auto;min-height:40px;padding:8px;font-size:15px;line-height:1.1}.tree>li .note{font-size:12px;line-height:16px}.team>li{min-height:160px}}@media (width>=641px) and (width<=900px){.sec-grid,.work-feature{grid-template-columns:minmax(0,1fr)}.sec-grid>.label,.sec-grid>.hl,.sec-grid>.prose-col,.work-feature>.shot,.work-feature>.stack{grid-column:1/-1}.work-row{grid-template-columns:40px minmax(0,1fr);row-gap:12px}.work-row .body,.work-row .tile{grid-column:2;justify-self:start}}
