:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f7f8fa;--paper-2:#eef0f4;--paper-3:#e4e8ee;--ink:#0b1a33;--ink-2:#48546b;--ink-3:#646f85;--rule:#dee3ea;--rule-strong:#c2c9d6;--accent:#1d4ed8;--accent-soft:#3b82f6;--accent-quiet:#e5ebfa;--night:#080d1c;--night-2:#0f1730;--night-3:#18213c;--night-ink:#eaeef7;--night-ink-2:#9aa6c0;--night-ink-3:#8590a8;--night-rule:#1e2740;--night-rule-strong:#313c5b;--night-accent:#60a5fa;--font-sans:"IBM Plex Sans Variable", "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", "Cascadia Mono", "Roboto Mono", monospace;--font-fa:"Estedad Variable", "Estedad", "Vazirmatn Variable", system-ui, Tahoma, sans-serif;--measure:64ch;--page:968px;--gutter:clamp(20px, 5vw, 56px);--label-col:128px;--gap-col:32px;--section-space:clamp(40px, 5vw, 64px);--scroll-offset:84px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--paper:#080d1c;--paper-2:#0f1730;--paper-3:#18213c;--ink:#eaeef7;--ink-2:#9aa6c0;--ink-3:#8590a8;--rule:#1e2740;--rule-strong:#313c5b;--accent:#60a5fa;--accent-soft:#93c5fd;--accent-quiet:#14203c}}:root[data-theme=dark]{--paper:#080d1c;--paper-2:#0f1730;--paper-3:#18213c;--ink:#eaeef7;--ink-2:#9aa6c0;--ink-3:#8590a8;--rule:#1e2740;--rule-strong:#313c5b;--accent:#60a5fa;--accent-soft:#93c5fd;--accent-quiet:#14203c}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--scroll-offset);-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;font-weight:400;line-height:1.62;overflow-x:clip}body[dir=rtl]{font-family:var(--font-fa);line-height:1.85}h1,h2,h3,h4{letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.2}body[dir=rtl] h1,body[dir=rtl] h2,body[dir=rtl] h3{letter-spacing:0;line-height:1.45}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit}img,svg{max-width:100%;display:block}::selection{background:var(--accent);color:var(--paper)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}:target>.sec-label:before{background:var(--accent)}.skip-link{top:0;z-index:100;clip-path:inset(50%);white-space:nowrap;background:var(--ink);width:1px;height:1px;color:var(--paper);font:500 14px/1 var(--font-sans);padding:10px 16px;position:absolute;overflow:hidden}.skip-link:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.skip-link:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.skip-link:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.skip-link:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.skip-link:focus{clip-path:none;top:12px;width:auto;height:auto;overflow:visible}.skip-link:focus:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:12px}.skip-link:focus:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:12px}.skip-link:focus:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:12px}.skip-link:focus:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:12px}.page{max-width:var(--page);padding-inline:var(--gutter);margin-inline-start:auto;margin-inline-end:auto}.row{grid-template-columns:var(--label-col) minmax(0, 1fr);column-gap:var(--gap-col);align-items:start;display:grid}@media (max-width:860px){.row{grid-template-columns:minmax(0,1fr);row-gap:12px}.sec-label{padding-top:0;align-items:baseline;gap:10px;padding-inline-start:19px;display:flex}.sec-label:before{content:"";background:var(--rule-strong);width:11px;height:2px;transition:background .25s;position:absolute;top:.62em}.sec-label:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:0}.sec-label:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:0}.sec-label:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:0}.sec-label:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:0}.sec.is-active .sec-label:before{background:var(--accent)}.sec-index{margin-bottom:0}}.measure{max-width:var(--measure)}.prose p+p{margin-top:1em}.prose{color:var(--ink-2)}.prose strong{color:var(--ink);font-weight:550}.mono{font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:slashed-zero tabular-nums;font-size:12px;line-height:1.5}.mono-up{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:11px;line-height:1.5}body[dir=rtl] .mono-up{letter-spacing:0;text-transform:none;font-family:var(--font-fa);font-size:12.5px}body[dir=rtl] .mono{font-family:var(--font-fa);letter-spacing:0;font-size:12.5px}.masthead{z-index:30;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0}.masthead-in{align-items:center;gap:16px;height:56px;display:flex}.masthead-name{min-height:32px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--ink);align-items:center;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}body[dir=rtl] .masthead-name{font-family:var(--font-fa);letter-spacing:0;text-transform:none;font-size:15px;font-weight:600}.masthead-nav{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:2px;margin-inline-start:auto;display:flex;overflow-x:auto}.masthead-nav::-webkit-scrollbar{display:none}.navlink{white-space:nowrap;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.02em;border-radius:3px;align-items:baseline;gap:6px;padding:5px 9px;font-size:12px;text-decoration:none;display:inline-flex}body[dir=rtl] .navlink{font-family:var(--font-fa);font-size:13.5px}.navlink:hover{color:var(--ink);background:var(--paper-2)}.navlink[aria-current=true]{color:var(--ink)}.navlink[aria-current=true] .navlink-i{color:var(--accent)}.navlink-i{color:var(--ink-3);font-family:var(--font-mono);font-size:11px}.masthead-tools{border-inline-start:1px solid var(--rule);flex:none;align-items:center;gap:4px;padding-inline-start:8px;display:flex}.tool{-webkit-appearance:none;appearance:none;cursor:pointer;min-width:32px;min-height:32px;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:6px 9px;font-size:11px;line-height:1.6;text-decoration:none;display:inline-flex}.tool:hover{color:var(--ink);background:var(--paper-2)}@media (max-width:720px){:root{--scroll-offset:20px}.masthead{position:static}.masthead-in{flex-wrap:wrap;gap:8px 14px;height:auto;padding-block-start:12px;padding-block-end:6px}.masthead-nav{padding-inline-end:var(--gutter);flex-basis:100%;order:3;margin-inline-start:0;margin-inline-end:calc(var(--gutter) * -1);padding-bottom:6px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000 100%)}body[dir=rtl] .masthead-nav{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 56px),#0000 100%);mask-image:linear-gradient(270deg,#000 calc(100% - 56px),#0000 100%)}.masthead-tools{margin-inline-start:auto}.navlink{padding-inline-start:0;padding-inline-end:16px}.navlink:hover{background:0 0}}.sec{padding-top:var(--section-space);scroll-margin-top:var(--scroll-offset)}.sec+.sec{border-top:1px solid var(--rule)}.sec-label{padding-top:4px;position:relative}@media (min-width:861px){.sec-label{top:calc(var(--scroll-offset) + 8px);position:sticky}.sec-label:before{content:"";background:var(--rule-strong);width:5px;height:5px;transition:background .25s,transform .25s;position:absolute;top:11px}.sec-label:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:-14px}.sec-label:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:-14px}.sec-label:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:-14px}.sec-label:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:-14px}.sec.is-active .sec-label:before{background:var(--accent);transform:scale(1.4)}}.sec-index{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);margin-bottom:4px;font-size:11px;display:block}.sec-kind{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:11px;display:block}body[dir=rtl] .sec-kind{font-family:var(--font-fa);letter-spacing:0;text-transform:none;font-size:12.5px}.sec-title{margin-bottom:18px;font-size:clamp(21px,2.6vw,27px)}.sec-intro{margin-bottom:22px}.hero{padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(20px,2.5vw,30px);position:relative}.hero>*{z-index:1;position:relative}.hero-rule{background:linear-gradient(to right, var(--accent-soft), var(--accent));border-radius:2px;width:92px;height:4px;margin-bottom:16px;display:block}body[dir=rtl] .hero-rule{background:linear-gradient(to left, var(--accent-soft), var(--accent))}.hero-role{letter-spacing:.035em;color:var(--ink-2);margin-bottom:22px;font-size:clamp(15.5px,1.8vw,17px);font-weight:450}body[dir=rtl] .hero-role{letter-spacing:0;font-size:16px}.hero-eyebrow{align-items:center;gap:10px;margin-bottom:18px;display:flex}.hero-eyebrow:after{content:"";background:var(--rule);flex:auto;max-width:220px;height:1px}.hero-name{letter-spacing:-.032em;margin-bottom:18px;font-size:clamp(38px,6.4vw,62px);font-weight:650;line-height:1.02}body[dir=rtl] .hero-name{letter-spacing:0;line-height:1.3}.hero-sub{color:var(--ink);max-width:32ch;margin-bottom:0;font-size:clamp(17px,2vw,20px);font-weight:500}body[dir=rtl] .hero-sub{max-width:34ch}.hero-lede{color:var(--ink-2);max-width:62ch;font-size:17px;line-height:1.68}body[dir=rtl] .hero-lede{font-size:16.5px;line-height:1.95}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.hero-lede{margin-top:24px}@media (max-width:460px){.hero-actions{grid-template-columns:1fr;gap:8px;display:grid}.hero-actions .btn{justify-content:center;padding-block-start:13px;padding-block-end:13px}}.hero-spec{margin-top:28px}.traces{z-index:0;pointer-events:none;width:clamp(190px,33vw,330px);height:auto;position:absolute}.trace-live path{stroke:var(--accent)}.trace-live circle{fill:var(--accent)}.trace-quiet path{stroke:var(--rule-strong)}.trace-quiet circle{fill:var(--rule-strong)}.traces-front{top:0}.traces-front:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:calc(50% - 50vw)}.traces-front:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:calc(50% - 50vw)}.traces-front:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:calc(50% - 50vw)}.traces-front:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:calc(50% - 50vw)}.traces-back{bottom:0;width:clamp(170px,28vw,290px)}.traces-back:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.traces-back:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.traces-back:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.traces-back:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}body[dir=rtl] .traces{transform:scaleX(-1)}.proof{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);margin-top:clamp(20px,2.5vw,30px);padding:18px 0 20px}.clients-label{margin-bottom:16px;display:block}.clients-row{flex-wrap:wrap;align-items:center;gap:14px 30px;display:flex}.client{color:var(--ink-2);align-items:center;gap:12px;padding:6px 0;text-decoration:none;transition:color .15s;display:flex}.client:hover{color:var(--ink)}.client:hover .tile{box-shadow:inset 0 0 0 1px var(--rule-strong)}.client-name{white-space:nowrap;font-size:14.5px;font-weight:500}@media (max-width:520px){.tile-client{border-radius:11px;width:52px;height:52px}.clients-row{gap:12px 22px}.client-name{font-size:13.5px}}.btn{border:1px solid var(--rule-strong);color:var(--ink);font:500 14px/1.2 var(--font-sans);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:inline-flex}body[dir=rtl] .btn{font-family:var(--font-fa)}body[dir=rtl] .product-link svg,body[dir=rtl] .alt-cta svg{transform:scaleX(-1)}.btn:hover{border-color:var(--ink-2);background:var(--paper-2)}.btn-primary{border-color:var(--ink);background:var(--ink);color:var(--paper)}.btn-primary:hover{border-color:var(--accent);background:var(--accent);color:#fff}.btn svg{opacity:.75;flex:none}.link{color:inherit;border-bottom:1px solid var(--rule-strong);padding-bottom:1px;text-decoration:none;transition:border-color .15s,color .15s}.link:hover{color:var(--accent);border-color:var(--accent)}.spec{border-top:1px solid var(--rule)}.spec-row{border-bottom:1px solid var(--rule);grid-template-columns:132px minmax(0,1fr);column-gap:24px;padding-block-start:9px;padding-block-end:9px;display:grid}.spec dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;line-height:1.9}body[dir=rtl] .spec dt{font-family:var(--font-fa);letter-spacing:0;text-transform:none;font-size:13px;line-height:1.65}.spec dd{color:var(--ink);margin:0;font-size:14.5px}@media (max-width:560px){.spec-row{grid-template-columns:minmax(0,1fr);row-gap:2px}}.now-list>li{border-bottom:1px solid var(--rule);color:var(--ink-2);padding-block-start:9px;padding-block-end:9px;padding-inline-start:22px;font-size:15.5px;position:relative}.now-list>li:first-child{border-top:1px solid var(--rule)}.now-list>li:before{content:"";background:var(--rule-strong);width:9px;height:1px;position:absolute;top:1.05em}.now-list>li:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:0}.now-list>li:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{left:0}.now-list>li:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:0}.now-list>li:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{right:0}.now-list>li:first-child:before{background:var(--accent);width:13px}.stamp{color:var(--ink-3);margin-top:16px;display:inline-block}.tile{background:var(--paper-2);width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--rule);border-radius:7px;flex:none;overflow:hidden}.tile img{width:100%;height:100%}.tile-mono{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-3);background:var(--paper-2);place-items:center;font-size:10px;display:grid}.tile-product{border-radius:10px;width:48px;height:48px}.tile-client{border-radius:13px;width:64px;height:64px}.product{border-top:1px solid var(--rule-strong);padding-top:22px}.product-head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.product-name{letter-spacing:-.02em;font-size:25px;font-weight:600}.product-alt{color:var(--ink-3);letter-spacing:0;margin-inline-start:8px;font-size:17px;font-weight:400}.status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);white-space:nowrap;border:1px solid;border-radius:2px;align-items:center;gap:6px;padding:2px 7px;font-size:10.5px;display:inline-flex}.status-quiet{color:var(--ink-3);border-color:var(--rule-strong)}body[dir=rtl] .status{font-family:var(--font-fa);letter-spacing:0;text-transform:none;font-size:12px}.product-summary{color:var(--ink);margin-bottom:18px;font-size:17px}.product-facts{margin-top:26px}.product-link{margin-top:24px}.product-link .mono{color:var(--ink-2)}.product-link:hover .mono{color:inherit}.quiet-list{border-top:1px solid var(--rule);margin-top:40px}.quiet-item{border-bottom:1px solid var(--rule);padding:17px 0}.quiet-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.quiet-title{font-size:16.5px;font-weight:550}.quiet-note{color:var(--ink-3);margin-top:20px;font-size:14.5px}.work-item{border-top:1px solid var(--rule);padding-block-start:22px;padding-block-end:22px}.work-item:last-child{border-bottom:1px solid var(--rule)}.work-head{align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.work-num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;font-size:11px}.work-client{letter-spacing:-.015em;font-size:19px;font-weight:600}.work-context{color:var(--ink-3);margin-bottom:14px}body[dir=rtl] .work-stack,body[dir=rtl] .work-context{font-size:13px}.work-stack{border-top:1px dotted var(--rule-strong);color:var(--ink-3);margin-top:14px;padding-top:12px}.ledger{border-top:1px solid var(--rule)}.axis{border-bottom:1px solid var(--rule);justify-content:space-between;width:210px;margin-inline-start:auto;padding-block-start:6px;padding-block-end:6px;display:flex}body[dir=rtl] .axis{margin-inline-start:auto}.axis-tick{color:var(--ink-3)}.ledger-row{border-bottom:1px solid var(--rule);grid-template-columns:34px minmax(0,1fr) 210px;align-items:start;column-gap:16px;padding-block-start:14px;padding-block-end:14px;display:grid}.span{flex-direction:column;gap:8px;padding-top:2px;display:flex}.span-track{background:var(--paper-2);height:6px;box-shadow:inset 0 0 0 1px var(--rule);border-radius:3px;display:block;position:relative}.span-bar{width:var(--width);background:var(--ink-3);border-radius:3px;position:absolute;top:0;bottom:0}.span-bar:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--from)}.span-bar:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--from)}.span-bar:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--from)}.span-bar:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--from)}.ledger-row.is-current .span-bar{background:var(--accent)}@media (max-width:620px){.axis{width:auto;margin-inline-start:50px}}.ledger-row.is-current{box-shadow:inset 3px 0 0 -1px var(--accent);margin-inline-start:-12px;padding-inline-start:12px}body[dir=rtl] .ledger-row.is-current{box-shadow:inset -3px 0 0 -1px var(--accent)}.ledger-company{letter-spacing:-.01em;font-size:16px;font-weight:600}.ledger-company a{border-bottom:1px solid #0000;text-decoration:none}.ledger-company a:hover{color:var(--accent);border-color:currentColor}.ledger-role{color:var(--ink-2);margin-top:1px;font-size:14.5px}.ledger-note{color:var(--ink-3);margin-top:6px;font-size:14px}.ledger-years{text-align:end;color:var(--ink-3);white-space:nowrap}@media (max-width:620px){.ledger-row{grid-template-columns:34px minmax(0,1fr);row-gap:8px}.span{flex-direction:row-reverse;grid-column:2;justify-content:flex-end;align-items:center;gap:12px}.span-track{flex:auto;min-width:0}.ledger-years{text-align:start;flex:none;padding-top:0}}.ledger-sub{border:1px solid var(--rule);background:var(--paper-2);color:inherit;border-radius:8px;align-items:center;gap:10px;margin-top:10px;padding:7px 12px 7px 8px;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}body[dir=rtl] .ledger-sub{padding:7px 8px 7px 12px}.ledger-sub:hover{border-color:var(--rule-strong)}.ledger-sub .tile{border-radius:7px;width:32px;height:32px}.ledger-sub-name{letter-spacing:-.01em;font-size:14px;font-weight:600;display:block}.ledger-sub:hover .ledger-sub-name{color:var(--accent)}.ledger-sub-note{color:var(--ink-3);margin-top:1px;font-size:12.5px;display:block}.education{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:22px;font-size:14.5px;display:flex}.stack{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;display:grid}.stack-group{border-bottom:1px solid var(--rule);padding-block-start:13px;padding-block-end:13px}@media (max-width:700px){.stack{grid-template-columns:minmax(0,1fr)}}.stack-items{color:var(--ink);font-size:14.5px;line-height:1.7}@media (max-width:560px){.stack-group{grid-template-columns:minmax(0,1fr);row-gap:3px}}.caveat{background:var(--paper-2);border-inline-start:2px solid var(--rule-strong);margin-top:26px;padding:16px 18px}.caveat-label{margin-bottom:6px;display:block}.caveat-body{color:var(--ink-2);font-size:14.5px}.qa{border-top:1px solid var(--rule)}.qa-item{border-bottom:1px solid var(--rule);padding-block-start:16px;padding-block-end:16px}.qa-q{margin-bottom:7px;font-size:16.5px;font-weight:600}.qa-a{color:var(--ink-2);font-size:15.5px}.card-back{--ink:var(--night-ink);--ink-2:var(--night-ink-2);--ink-3:var(--night-ink-3);--rule:var(--night-rule);--rule-strong:var(--night-rule-strong);--accent:var(--night-accent);--accent-soft:#93c5fd;--paper:var(--night);--paper-2:var(--night-2);--paper-3:var(--night-3);margin-top:var(--section-space);padding-block-start:clamp(46px,6.5vw,74px);padding-block-end:clamp(50px,7vw,78px);background-color:var(--night);color:var(--night-ink);background-image:radial-gradient(85% 62% at 2% 106%,#1c1740 0%,#1c174000 62%);border-top:0;padding-bottom:max(clamp(50px,7vw,78px),118px);position:relative;overflow:hidden}@media (min-width:861px){.card-back{padding-bottom:clamp(50px,7vw,78px)}}.card-back-in{z-index:1;position:relative}.card-back .sec-label{position:static}.contact-links{border-top:1px solid var(--rule);margin-top:26px}.contact-link{border-bottom:1px solid var(--rule);color:var(--ink);align-items:center;gap:14px;padding:12px 4px;text-decoration:none;transition:background .15s;display:flex}.contact-link:hover{background:var(--paper-2)}.contact-link:hover .contact-value{color:var(--accent)}.contact-tile{border:1px solid var(--rule-strong);background:var(--paper-2);width:38px;height:38px;color:var(--accent);border-radius:9px;flex:none;place-items:center;transition:border-color .15s,color .15s;display:grid}.contact-link:hover .contact-tile{border-color:var(--accent)}.contact-value{font-family:var(--font-mono);word-break:break-word;font-size:14.5px}body[dir=rtl] .contact-value{font-family:var(--font-mono);unicode-bidi:plaintext}.contact-note{text-align:end;color:var(--ink-3);white-space:nowrap;margin-inline-start:auto}@media (max-width:480px){.contact-note{display:none}.contact-tile{border-radius:8px;width:34px;height:34px}}.save-card{border:1px solid var(--accent);color:var(--accent);font:500 14px/1.2 var(--font-sans);border-radius:3px;align-items:center;gap:9px;margin-top:26px;padding:12px 18px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}body[dir=rtl] .save-card{font-family:var(--font-fa)}.save-card:hover{background:var(--accent);color:var(--night)}.save-card svg{flex:none}.save-note{color:var(--ink-3);margin-top:12px}@media (max-width:460px){.save-card{justify-content:center;padding-block-start:14px;padding-block-end:14px;display:flex}}.alt-row{margin-top:var(--section-space)}.alt{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:22px 24px}.alt-title{margin-bottom:10px;font-size:15px;font-weight:600}.alt-body{color:var(--ink-2);max-width:62ch;font-size:15.5px}.alt-cta{color:var(--accent);border-bottom:1px solid #0000;align-items:center;gap:7px;margin-top:14px;font-size:14.5px;text-decoration:none;display:inline-flex}.alt-cta:hover{border-color:currentColor}.foot{margin-top:var(--section-space);border-top:1px solid var(--rule);padding-block-start:26px;padding-block-end:44px}.foot-in{flex-wrap:wrap;align-items:baseline;gap:10px 24px;display:flex}.foot-links{gap:16px;margin-inline-start:auto;display:flex}.foot-links a{color:var(--ink-3);border-bottom:1px solid #0000;padding-block-start:5px;padding-block-end:5px;text-decoration:none;display:inline-block}.foot-links a:hover{color:var(--ink);border-color:var(--rule-strong)}@media (max-width:860px){.navlink{padding-block-start:13px;padding-block-end:13px}.tool,.masthead-name{min-height:44px}.contact-link{padding-block-start:15px;padding-block-end:15px}.btn,.save-card{padding-block-start:13px;padding-block-end:13px}.foot-links a{padding-block-start:14px;padding-block-end:14px}}@media (pointer:coarse){.navlink{padding-block-start:13px;padding-block-end:13px}.tool{min-width:44px;padding-block-start:13px;padding-block-end:13px}.contact-link{padding-block-start:15px;padding-block-end:15px}.btn,.save-card{padding-block-start:13px;padding-block-end:13px}.foot-links a{padding-block-start:14px;padding-block-end:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:560px){.ledger-note,.spec dd,.stack-items,.quiet-note,.caveat-body,.ledger-role{font-size:15px}.mono,.work-stack,.work-context{font-size:12.5px}}.crash{max-width:46ch;padding-inline:var(--gutter);margin:15vh auto}.crash h1{margin-bottom:12px;font-size:22px}.crash p{color:var(--ink-2);margin-bottom:18px}@media print{:root{--paper:#fff;--paper-2:#fff;--paper-3:#fff;--ink:#000;--ink-2:#1c1c1c;--ink-3:#4a4a4a;--rule:#cfcfcf;--rule-strong:#9a9a9a;--accent:#000;--page:100%;--gutter:0;--label-col:0;--gap-col:0;--section-space:20px;--measure:100%}.masthead,.hero-actions,.alt-row,.skip-link,.traces,.save-card,.save-note{display:none!important}.card-back{--ink:#000;--ink-2:#1c1c1c;--ink-3:#4a4a4a;--rule:#cfcfcf;--rule-strong:#9a9a9a;--accent:#000;--paper:#fff;--paper-2:#fff;--paper-3:#fff;padding-block-start:0;padding-block-end:0;color:#000;background-color:#fff;background-image:none;margin-top:20px;padding-bottom:0}.contact-tile{color:#000;background:#fff;border-color:#9a9a9a}body{background:#fff;font-size:10pt;line-height:1.4}.row{display:block}.sec-label{padding:0;position:static}.sec-label:before{display:none}.sec-index,.sec-kind{letter-spacing:.12em;font-size:8.5pt;display:inline}.sec-index:after{content:" · "}.sec-title{margin:2px 0 10px;font-size:14pt}.hero{padding:0 0 14px}.hero-name{font-size:26pt}.hero-rule{background:#000;width:64px;height:3px}.hero-sub{max-width:none;font-size:12pt}.hero-lede,.prose,.now-list>li,.qa-a{font-size:10pt}.work-item,.ledger-row,.qa-item,.quiet-item,.spec-row,.stack-group,.caveat,.product-head{break-inside:avoid;page-break-inside:avoid}.tile{box-shadow:none;border:1px solid #ddd}.contact-link:after,.product-link:after{content:" (" attr(href) ")";color:#4a4a4a;font-size:8pt}.contact-link[href^=tel\:]:after,.contact-link[href^=mailto\:]:after{content:none}.foot{margin-top:18px}}
