:root{--canvas: #EBEBE7;--artboard: #FFFFFF;--ink: #0F1216;--slate: #616B78;--rule: #DCDCD6;--rule-strong: #C4C4BC;--node: #1F5EFF;--node-hover: #1A4FDB;--node-ghost: rgba(31, 94, 255, .08);--trace: #C6F24E;--font-display: "Bricolage Grotesque Variable", "Bricolage Fallback", "Inter Tight", system-ui, sans-serif;--font-body: "Inter Tight Variable", "Inter Fallback", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Mono Fallback", ui-monospace, Menlo, monospace;--s1: 8px;--s2: 16px;--s3: 24px;--s4: 32px;--s5: 48px;--s6: 64px;--s7: 96px;--s8: 128px;--max: 1700px;--gutter: 24px;--radius: 4px;--hair: 1px solid var(--rule);--shadow-artboard: 0 1px 2px rgba(15,18,22,.04), 0 8px 24px rgba(15,18,22,.06);--ease: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--dur-fast: .18s;--dur: .32s;--dur-slow: .6s}@font-face{font-family:Bricolage Grotesque Variable;src:url(/fonts/bricolage-var.woff2) format("woff2-variations");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+2013-2014,U+2018-201D,U+2026}@font-face{font-family:Inter Tight Variable;src:url(/fonts/inter-tight-var.woff2) format("woff2-variations");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+2013-2014,U+2018-201D,U+2026,U+2192}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2013-2014,U+00D7,U+2192}@font-face{font-family:Bricolage Fallback;src:local("Arial Bold"),local("Arial");size-adjust:98%;ascent-override:94%;descent-override:24%;line-gap-override:0%}@font-face{font-family:Inter Fallback;src:local("Arial");size-adjust:97%;ascent-override:97%;descent-override:24%;line-gap-override:0%}@font-face{font-family:Mono Fallback;src:local("Menlo"),local("Courier New");size-adjust:96%;ascent-override:92%;descent-override:24%;line-gap-override:0%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--node);outline-offset:2px;border-radius:2px}h1,h2{font-family:var(--font-display);font-weight:750;font-stretch:95%;text-wrap:balance}h1{font-size:clamp(44px,5.2vw,96px);line-height:.96;letter-spacing:-.035em}h2{font-size:clamp(32px,3.2vw,60px);line-height:1.02;letter-spacing:-.028em}h3{font-size:clamp(19px,1.35vw,24px);line-height:1.3;letter-spacing:-.01em;font-weight:600}.body-l{font-size:clamp(17px,1.2vw,21px);line-height:1.55;letter-spacing:-.005em}body{font-size:clamp(15px,1vw,17px)}.mono{font-family:var(--font-mono);font-size:12px;font-weight:500;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}@media(max-width:767px){.mono{font-size:11px}}::selection{background:var(--node);color:#fff}.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--s3)}.kicker:before{content:"";width:5px;height:5px;background:var(--node);flex:none}.kicker b{color:var(--node);font-weight:500}.wrap{max-width:var(--max);margin-inline:auto;padding:0 40px}@media(max-width:767px){.wrap{padding:0 20px}}main>*+*{margin-top:clamp(72px,8.5vw,152px)}.artboard{position:relative;background:var(--artboard);border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:var(--shadow-artboard)}.artboard-label{display:none}.pad{padding:clamp(48px,6vw,112px) clamp(24px,5vw,96px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:var(--radius);font-weight:600;font-size:clamp(15px,1vw,16px);letter-spacing:-.005em;text-decoration:none;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.btn-primary{background:var(--node);color:#fff}.btn-primary:hover{background:var(--node-hover);transform:translateY(-2px);box-shadow:0 8px 20px #1f5eff47}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-ghost{border:1px solid var(--rule-strong);background:var(--artboard);color:var(--ink)}.btn-ghost:hover{border-color:var(--node);color:var(--node);transform:translateY(-2px)}.btn .arr{display:inline-block;transition:transform var(--dur-fast) var(--ease)}.btn:hover .arr{transform:translate(4px)}.link{position:relative;text-decoration:none;color:var(--node)}.link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--node);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}.link:hover:after{transform:scaleX(1)}.hr{border:0;border-top:var(--hair)}.card{position:relative;border:1px solid var(--rule);border-radius:var(--radius);background:var(--artboard);transition:border-color var(--dur-fast) var(--ease),transform var(--dur) var(--ease),background var(--dur-fast) var(--ease);text-decoration:none;display:block}.card:hover{border-color:var(--node);transform:translateY(-4px);background:#fdfdff}.card .h{position:absolute;width:7px;height:7px;background:var(--artboard);border:1px solid var(--node);opacity:0;transform:scale(.4);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);pointer-events:none;z-index:2}.card .h:nth-of-type(1){top:-4px;left:-4px}.card .h:nth-of-type(2){top:-4px;right:-4px}.card .h:nth-of-type(3){bottom:-4px;left:-4px}.card .h:nth-of-type(4){bottom:-4px;right:-4px}.card:hover .h{opacity:1;transform:scale(1)}.reveal:not(.in){transform:translateY(22px)}.reveal.in{transform:none;transition:transform .75s var(--ease)}.no-js .reveal,.rm .reveal{transform:none}.reveal [data-r]{opacity:0;transform:translateY(18px)}.reveal.in [data-r]{opacity:1;transform:none;transition:opacity .55s var(--ease),transform .55s var(--ease)}.no-js .reveal [data-r],.rm .reveal [data-r]{opacity:1;transform:none}@keyframes ants{to{stroke-dashoffset:-14}}.ants rect{fill:none;stroke:var(--node);stroke-width:1.5;stroke-dasharray:5 4}.ants.on rect{animation:ants .5s linear infinite}.selbox{position:absolute;inset:0;pointer-events:none;z-index:3}.selbox rect.frame{fill:none;stroke:var(--node);stroke-width:1}.selbox rect.knob{fill:var(--artboard);stroke:var(--node);stroke-width:1}#hud{position:fixed;left:14px;bottom:12px;z-index:40;color:var(--slate);opacity:0;transition:opacity var(--dur) var(--ease)}#hud.on{opacity:1}@media(max-width:1023px){#hud{display:none}}#spine{position:absolute;top:0;left:0;width:40px;height:100%;pointer-events:none;z-index:0}@media(max-width:1023px){#spine{display:none}}#spine .anchor{opacity:0;transform:scale(0);transform-origin:center}#spine .anchor.on{opacity:1;transform:scale(1);transition:transform .24s var(--ease),opacity .24s var(--ease)}#spine .handles{opacity:0;transition:opacity .24s var(--ease)}#spine .handles.on{opacity:1}#spine .slabel{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;fill:var(--slate);opacity:0;transition:opacity .32s var(--ease)}#spine .slabel.on{opacity:1}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal [data-r]{opacity:1!important;transform:none!important}}
