@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:700 900;src:url(/_astro/fraunces-yarn.DqFNHii-.woff2)format("woff2-variations")}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/caveat-yarn.D3-8cAfT.woff2)format("woff2")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/mono-yarn.CClYwy3I.woff2)format("woff2")}:root{color-scheme:light;--linen:#f5ede3;--linen-2:#ece0d2;--linen-3:#dfcfbc;--mist:#e4e1e8;--mist-2:#c8c8d2;--ink:#2a0e0b;--ink-2:#5a3730;--ink-3:#85665e;--yarn:#d92331;--yarn-2:#a20912;--yarn-3:#70090b;--yarn-4:#3d0806;--brass:#c6904f;--brass-2:#e7c58f;--brass-3:#7f5132;--steel:#b9bcc6;--steel-2:#7d7f88;--tongue:#f29bb0;--night:#1c0b0a;--night-2:#2c1110;--font-display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-body:"Figtree Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-hand:"Caveat Variable", "Bradley Hand", "Segoe Print", cursive;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--wrap:1240px;--gutter:clamp(16px, 4vw, 48px);--header-h:72px;--radius:22px;--radius-sm:14px;--line:2px;--border:var(--line) solid var(--ink);--lift:0 5px 0 var(--ink);--lift-sm:0 3px 0 var(--ink);--shadow-paper:0 16px 30px -16px #2a0e0b80, 0 2px 5px #2a0e0b1f;--shadow-paper-lg:0 28px 54px -24px #2a0e0b99, 0 3px 8px #2a0e0b29;--dur-xs:.12s;--dur-s:.24s;--dur-m:.48s;--dur-l:.9s;--ease-wool:cubic-bezier(.34, 1.56, .64, 1);--ease-settle:cubic-bezier(.16, 1, .3, 1);--knit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='26' viewBox='0 0 22 26'%3E%3Cg stroke='rgba(40,0,0,.28)' stroke-width='1.1' fill='rgba(255,255,255,.07)'%3E%3Cpath d='M11 24C7 20 2.5 13 3.5 3.5 8 5.5 11 14 11 24Z'/%3E%3Cpath d='M11 24c4-4 8.5-11 7.5-20.5C14 5.5 11 14 11 24Z'/%3E%3C/g%3E%3C/svg%3E");--ply:repeating-linear-gradient(-58deg, #ffffff1c 0 3px, transparent 3px 8px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px)}html:not(.motion-ok){scroll-behavior:smooth}html.calm,html.calm *,html.calm :before,html.calm :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){html,*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--linen);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(1rem,.96rem + .2vw,1.0875rem);line-height:1.6;overflow-x:clip}body:before{content:"";z-index:0;pointer-events:none;background:url(/textures/grain.png);position:fixed;inset:0}img,picture,svg,canvas{max-width:100%;display:block}img{height:auto}[hidden]{display:none!important}h1,h2,h3{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;letter-spacing:-.02em;text-wrap:balance;margin:0 0 .45em;font-weight:800;line-height:.98}h2{font-size:clamp(2.5rem,1.6rem + 4.2vw,5.25rem)}h3{letter-spacing:-.01em;font-size:clamp(1.4rem,1.15rem + 1vw,1.9rem);line-height:1.05}p{text-wrap:pretty;margin:0 0 1em}p:last-child{margin-bottom:0}a{color:var(--yarn-2);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--yarn)}:focus-visible{outline:2.5px dashed var(--yarn);outline-offset:4px;border-radius:6px}[tabindex="-1"]:focus{outline:none}main,.site-footer{z-index:1;position:relative}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}section{padding-block:clamp(64px,9vw,128px);position:relative}.eyebrow{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--yarn-2);align-items:center;gap:.6em;margin:0 0 1.1rem;font-size:.78rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--yarn) var(--ply);border-radius:50%;width:.9em;height:.9em;box-shadow:inset -2px -2px #00000040}.lede{color:var(--ink-2);max-width:34ch;font-size:clamp(1.1rem,1rem + .45vw,1.32rem);line-height:1.5}.section-lede{color:var(--ink-2);max-width:60ch;font-size:clamp(1.08rem,1rem + .35vw,1.25rem)}.hand{font-family:var(--font-hand);font-weight:600;line-height:1.05}.mono{font-family:var(--font-mono)}.btn{--btn-bg:var(--linen);--btn-fg:var(--ink);border:var(--border);background:var(--btn-bg);min-height:52px;color:var(--btn-fg);box-shadow:var(--lift);font:800 1rem/1 var(--font-body);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:translate var(--dur-xs) ease, box-shadow var(--dur-xs) ease, background-color var(--dur-s) ease;border-radius:999px;justify-content:center;align-items:center;gap:.6em;padding:.85em 1.5em;text-decoration:none;display:inline-flex;position:relative}.btn:hover{color:var(--btn-fg);box-shadow:0 7px 0 var(--ink);translate:0 -2px}.btn:active{box-shadow:0 1px 0 var(--ink);translate:0 4px}.btn-yarn{--btn-bg:var(--yarn);--btn-fg:var(--linen);background-image:var(--ply)}.btn-yarn:hover{--btn-bg:#e6303e}.btn-sm{min-height:42px;padding:.65em 1.15em;font-size:.92rem}.btn[aria-disabled=true]{cursor:default;box-shadow:none;opacity:.85;border-style:dashed}.btn[aria-disabled=true]:hover,.btn[aria-disabled=true]:active{box-shadow:none;translate:none}.cta-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.stitched{outline:2px dashed color-mix(in srgb, var(--ink) 28%, transparent);outline-offset:-11px}.skip-link{z-index:300;border:var(--border);background:var(--yarn);color:var(--linen);border-radius:999px;padding:10px 16px;font-weight:800;text-decoration:none;position:absolute;top:-80px;left:12px}.skip-link:focus{top:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.js.motion-ok:not(.motion-ready) [data-reveal],html.js.motion-ok:not(.motion-ready) [data-drop] .c{opacity:0;animation:0s linear 3s forwards failsafe-show}@keyframes failsafe-show{to{opacity:1}}.toast{z-index:400;border:var(--border);background:var(--ink);color:var(--linen);box-shadow:0 4px 0 var(--yarn-3);opacity:0;transition:transform var(--dur-m) var(--ease-wool), opacity var(--dur-s) ease;pointer-events:none;border-radius:999px;padding:12px 20px;font-weight:700;position:fixed;bottom:24px;left:50%;transform:translate(-50%,140%)}.toast.is-visible{opacity:1;transform:translate(-50%)}.one-thread{z-index:2;pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round;position:absolute;top:0;left:0;overflow:visible}.one-thread .ot-shadow{stroke:#2a0e0b33;stroke-width:7px;transform:translate(1px,3px)}.one-thread .ot-strand{stroke:var(--yarn-2);stroke-width:5px}.ot-ball{transition:opacity var(--dur-s) ease}.ot-ball circle,.tc-ball circle{fill:var(--yarn);stroke:var(--ink);stroke-width:2px}.ot-ball path,.tc-ball path{fill:none;stroke:var(--yarn-3);stroke-width:1.4px;stroke-linecap:round}.toy-cursor{z-index:700;pointer-events:none;opacity:0;width:100vw;height:100vh;transition:opacity var(--dur-s) ease;position:fixed;inset:0;overflow:visible}.toy-cursor.is-on{opacity:1}.tc-string{fill:none;stroke:var(--yarn-2);stroke-width:2px;stroke-linecap:round}.tc-ball circle{stroke-width:1.5px}.tc-ball path{stroke-width:1px}.rw{overflow-clip-margin:.1em;vertical-align:top;margin-bottom:-.1em;padding-bottom:.1em;display:inline-block;overflow:clip}.rw-i{display:inline-block}
