@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-400.woff2)format("woff2")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-500.woff2)format("woff2")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-600.woff2)format("woff2")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400.woff2)format("woff2")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500.woff2)format("woff2")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-600.woff2)format("woff2")}:root{--graphite:#17181A;--graphite2:#1E2023;--graphite3:#26282C;--line-d:#2C2E33;--stone:#ECEEF0;--stone2:#E3E6EA;--paper:#F7F8FA;--line-l:#D6DADF;--copper:#C67B3C;--copper-lo:#B36E33;--copper-hi:#DB9558;--verified:#5E8C6A;--verified-hi:#7DA98A;--ink:#ECE9E3;--ink2:#B4AFA6;--ink3:#8B867E;--dk:#17181A;--dk2:#565A60;--dk3:#7E828A;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--w:1120px;--wt:64ch;--r:6px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--graphite);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}::selection{background:var(--copper);color:#1a1206}.skip{position:absolute;left:-9999px;top:0;background:var(--copper);color:#160f06;padding:10px 14px;border-radius:var(--r);z-index:100}.skip:focus{left:12px;top:12px}:focus-visible{outline:2px solid var(--copper-hi);outline-offset:3px;border-radius:3px}.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--copper)}.section{padding:96px 0}.section-h{font-family:var(--sans);font-weight:600;letter-spacing:-.02em;line-height:1.08;font-size:clamp(28px,4.4vw,44px);text-wrap:balance;margin:14px 0 0}.lede{font-size:clamp(18px,2.1vw,21px);line-height:1.55;max-width:34ch}.s-dark{background:var(--graphite);color:var(--ink)}.s-stone{background:var(--stone);color:var(--dk)}.s-stone .eyebrow{color:var(--copper-lo)}.s-stone .section-h{color:var(--dk)}.s-stone .lede{color:var(--dk2)}.nav{position:sticky;top:0;z-index:50;background:rgba(23,24,26,.72);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line-d)}.nav-in{max-width:var(--w);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:600;font-size:16px;letter-spacing:-.01em;color:var(--ink)}.brand img{width:26px;height:26px}.nav-sp{flex:1}.nav a.nlink{font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--ink2);padding:6px 2px}.nav a.nlink:hover{color:var(--ink)}.nav .chip{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--copper);border:1px solid var(--copper);border-radius:100px;padding:3px 9px;text-transform:uppercase}.nav .navcta{font-family:var(--mono);font-size:13px;color:var(--graphite);background:var(--copper);padding:7px 14px;border-radius:var(--r);font-weight:600}.nav .navcta:hover{background:var(--copper-hi)}@media(max-width:680px){.nav .nlink,.nav .chip{display:none}}.hero{position:relative;overflow:hidden;background:var(--graphite);border-bottom:1px solid var(--line-d)}#gn-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.9}.hero-grad{position:absolute;inset:0;background:radial-gradient(120% 90% at 78% 12%,rgba(198,123,60,.1),transparent 55%),linear-gradient(180deg,rgba(23,24,26,.1) 0%,rgba(23,24,26,.72) 78%,var(--graphite) 100%);pointer-events:none}.hero-in{position:relative;max-width:var(--w);margin:0 auto;padding:120px 24px 108px}.hero h1{font-weight:600;letter-spacing:-.03em;line-height:1.04;font-size:clamp(38px,6.6vw,74px);max-width:15ch;text-wrap:balance}.hero h1 .cu{color:var(--copper)}.hero .sub{margin-top:22px;font-size:clamp(18px,2.3vw,22px);line-height:1.5;color:var(--ink2);max-width:52ch}.hero .oneline{margin-top:26px;font-family:var(--mono);font-size:13.5px;color:var(--ink3);letter-spacing:.01em;border-left:2px solid var(--copper);padding:2px 0 2px 14px;max-width:60ch}.hero-cta{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:14px;font-weight:600;padding:12px 20px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;transition:.15s}.btn .ar{transition:transform .15s}.btn:hover .ar{transform:translateX(3px)}.btn-primary{background:var(--copper);color:#160f06}.btn-primary:hover{background:var(--copper-hi)}.btn-ghost{background:0 0;color:var(--ink);border-color:var(--line-d)}.btn-ghost:hover{border-color:var(--ink3);background:rgba(255,255,255,3%)}.s-stone .btn-ghost{color:var(--dk);border-color:var(--line-l)}.s-stone .btn-ghost:hover{border-color:var(--dk3);background:rgba(0,0,0,3%)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;margin-top:44px}.split .art{background:var(--paper);border:1px solid var(--line-l);border-radius:10px;padding:22px}.split .art img{margin:0 auto}.idea-p{font-size:19px;line-height:1.6;color:var(--dk2);max-width:52ch}.idea-p b{color:var(--dk);font-weight:600}.idea-p+.idea-p{margin-top:18px}@media(max-width:820px){.split{grid-template-columns:1fr;gap:30px}}.loop{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.step{background:var(--graphite2);border:1px solid var(--line-d);border-radius:10px;padding:22px 22px 24px;position:relative}.step .n{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--copper);letter-spacing:.1em}.step h3{font-size:19px;font-weight:600;letter-spacing:-.01em;margin-top:10px;color:var(--ink)}.step p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--ink2)}.step .tag{margin-top:14px;font-family:var(--mono);font-size:11.5px;color:var(--ink3)}.step.grad{border-color:#3a4a3e}.step.grad .n{color:var(--verified-hi)}.step.grad .vchip{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--mono);font-size:11.5px;color:var(--verified-hi);border:1px solid #3a4a3e;border-radius:100px;padding:3px 10px}.loop-note{margin-top:22px;font-family:var(--mono);font-size:13px;color:var(--ink3);text-align:center}.loop-note b{color:var(--copper)}@media(max-width:760px){.loop{grid-template-columns:1fr}}.princ{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-l);border:1px solid var(--line-l);border-radius:10px;overflow:hidden}.pr{background:var(--paper);padding:26px 26px 28px}.pr .k{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--copper-lo);text-transform:uppercase}.pr h3{font-size:20px;font-weight:600;letter-spacing:-.01em;margin-top:9px;color:var(--dk)}.pr p{margin-top:9px;font-size:15px;line-height:1.55;color:var(--dk2)}@media(max-width:760px){.princ{grid-template-columns:1fr}}.nots{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.not{border:1px solid var(--line-d);border-radius:10px;padding:20px}.not .x{font-family:var(--mono);font-size:18px;color:var(--copper);line-height:1}.not h3{font-size:15.5px;font-weight:600;margin-top:12px;color:var(--ink)}.not p{font-size:13.5px;line-height:1.5;color:var(--ink3);margin-top:7px}@media(max-width:860px){.nots{grid-template-columns:1fr 1fr}}@media(max-width:460px){.nots{grid-template-columns:1fr}}.contract{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;margin-top:44px}.contract .prose p{font-size:17px;line-height:1.6;color:var(--dk2);max-width:46ch}.contract .prose p+p{margin-top:16px}.stds{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}.std{font-family:var(--mono);font-size:12px;color:var(--dk2);border:1px solid var(--line-l);border-radius:100px;padding:5px 12px;background:var(--paper)}.code{background:var(--graphite);border:1px solid var(--line-d);border-radius:10px;overflow:hidden}.code-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--line-d);font-family:var(--mono);font-size:12px;color:var(--ink3)}.code-bar .d{width:9px;height:9px;border-radius:50%;background:var(--graphite3)}.code-bar .fn{margin-left:6px;color:var(--ink2)}.code pre{margin:0;padding:18px 18px 20px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--ink2)}.code .kk{color:var(--copper-hi)}.code .vs{color:var(--ink)}.code .cm{color:var(--ink3)}.code .vg{color:var(--verified-hi)}@media(max-width:820px){.contract{grid-template-columns:1fr;gap:28px}}.close{text-align:center;padding:104px 0}.close h2{font-weight:600;letter-spacing:-.025em;line-height:1.1;font-size:clamp(28px,4.6vw,46px);text-wrap:balance;max-width:20ch;margin:14px auto 0}.close .sub{margin:18px auto 0;color:var(--ink2);max-width:52ch;font-size:18px}.close .cta{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.cite{margin-top:40px;max-width:70ch;margin-left:auto;margin-right:auto;background:var(--graphite2);border:1px solid var(--line-d);border-radius:10px;padding:18px 20px;text-align:left}.cite .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--copper)}.cite p{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--ink2);margin-top:8px;word-break:break-word}.foot{background:var(--graphite);border-top:1px solid var(--line-d);padding:44px 0 56px}.foot-in{max-width:var(--w);margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;gap:24px;align-items:center}.foot .brand{font-size:15px}.foot .fsp{flex:1}.foot a.fl{font-family:var(--mono);font-size:13px;color:var(--ink3)}.foot a.fl:hover{color:var(--ink)}.foot .meta{width:100%;margin-top:22px;padding-top:22px;border-top:1px solid var(--line-d);font-family:var(--mono);font-size:12px;color:var(--ink3);display:flex;flex-wrap:wrap;gap:8px 18px}.foot .meta b{color:var(--ink2);font-weight:500}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}