.tabs:where(.astro-tezb7zhy){border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:var(--hs-radius);min-width:0;overflow:hidden}.list:where(.astro-tezb7zhy){border-bottom:1px solid var(--hs-line);align-items:center;display:flex;overflow-x:auto}.tablist:where(.astro-tezb7zhy){align-items:center;display:flex}:where(.astro-tezb7zhy)[role=tab]{color:var(--hs-dim);font-family:var(--hs-mono);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:14px 18px;font-size:13px}:where(.astro-tezb7zhy)[role=tab][aria-selected=true]{color:var(--hs-text);border-bottom-color:var(--hs-accent)}.copy:where(.astro-tezb7zhy){background:var(--hs-surface-2);border:1px solid var(--hs-border);color:var(--hs-muted);font:inherit;cursor:pointer;border-radius:4px;margin-left:auto;margin-right:10px;padding:5px 10px;font-size:12px}:where(.astro-tezb7zhy)[role=tabpanel] pre{margin:0;padding:20px 22px;font-size:13px;line-height:1.7;overflow-x:auto;background:0 0!important}.accent:where(.astro-lcdefpme){color:var(--hs-accent-text)}.eyebrow:where(.astro-lcdefpme){font-size:13px}.mono:where(.astro-lcdefpme){font-family:var(--hs-mono)}.dots:where(.astro-lcdefpme){background-image:radial-gradient(var(--hs-line) 1px, transparent 1px);border-bottom:1px solid var(--hs-border);background-size:22px 22px}.hero-in:where(.astro-lcdefpme){text-align:center;flex-direction:column;align-items:center;gap:26px;padding-top:88px;padding-bottom:56px;display:flex}.pill:where(.astro-lcdefpme){border:1px solid var(--hs-border);background:var(--hs-surface);color:var(--hs-text);border-radius:999px;align-items:center;gap:10px;padding:5px 14px 5px 5px;font-size:13px;text-decoration:none;display:inline-flex}.pill-badge:where(.astro-lcdefpme){background:var(--hs-accent-dim);color:var(--hs-accent-text);font-family:var(--hs-mono);border-radius:999px;padding:3px 10px;font-size:12px}h1:where(.astro-lcdefpme){letter-spacing:-.035em;margin:0;font-size:clamp(40px,6.4vw,76px);font-weight:600;line-height:1.04}.lead:where(.astro-lcdefpme){max-width:700px;color:var(--hs-muted);margin:0;font-size:19px;line-height:1.6}.ctas:where(.astro-lcdefpme){flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn:where(.astro-lcdefpme){border:1px solid var(--hs-border);background:var(--hs-surface-2);color:var(--hs-text);border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;text-decoration:none;display:inline-flex}.btn:where(.astro-lcdefpme).primary{background:var(--hs-accent);border-color:var(--hs-accent);color:var(--hs-on-accent);font-weight:600}.instruments:where(.astro-lcdefpme){flex-direction:column;align-items:center;gap:12px;margin-top:12px;display:flex}.instruments:where(.astro-lcdefpme) .eyebrow:where(.astro-lcdefpme){letter-spacing:.08em;text-transform:uppercase;color:var(--hs-dim);font-size:12px}.instruments:where(.astro-lcdefpme) div:where(.astro-lcdefpme){font-family:var(--hs-mono);color:var(--hs-muted);flex-wrap:wrap;justify-content:center;gap:12px 32px;font-size:15px;display:flex}.instruments:where(.astro-lcdefpme) div:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--hs-muted);border-bottom:1px dotted var(--hs-border);text-decoration:none}.instruments:where(.astro-lcdefpme) div:where(.astro-lcdefpme) a:where(.astro-lcdefpme):hover{color:var(--hs-text)}.frameworks:where(.astro-lcdefpme){color:var(--hs-dim);margin:0;font-size:14px}.frameworks:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--hs-muted)}.demo-links:where(.astro-lcdefpme){flex-direction:column;gap:6px;margin:-10px 0 0;display:flex}.demo-link:where(.astro-lcdefpme){color:var(--hs-accent-text);font-size:14px;text-decoration:none}.demo-link:where(.astro-lcdefpme):hover{text-decoration:underline}.compat:where(.astro-lcdefpme){color:var(--hs-dim);margin:-8px 0 0;font-size:13px}.trace-links:where(.astro-lcdefpme){color:var(--hs-dim);text-align:center;margin:12px 0 0;font-size:13px}.trace-links:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--hs-muted)}.trace:where(.astro-lcdefpme){max-width:1000px;padding-bottom:80px}.intro-video:where(.astro-lcdefpme){margin:48px 0 0}.intro-video:where(.astro-lcdefpme) .frame:where(.astro-lcdefpme){border:1px solid var(--hs-border);border-radius:var(--hs-radius);aspect-ratio:16/9;background:#121212;position:relative;overflow:hidden}.intro-video:where(.astro-lcdefpme) video:where(.astro-lcdefpme){width:100%;height:100%;display:block}.intro-video:where(.astro-lcdefpme) .play:where(.astro-lcdefpme){background:var(--hs-accent);color:var(--hs-on-accent);font:600 16px/1 var(--hs-font);white-space:nowrap;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:12px;padding:14px 22px 14px 18px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000073}.intro-video:where(.astro-lcdefpme) .play:where(.astro-lcdefpme) svg:where(.astro-lcdefpme){flex-shrink:0}.intro-video:where(.astro-lcdefpme) .play:where(.astro-lcdefpme)[hidden]{display:none}.intro-video:where(.astro-lcdefpme) .play:where(.astro-lcdefpme):hover{filter:brightness(1.06)}.intro-video:where(.astro-lcdefpme) .play:where(.astro-lcdefpme):focus-visible{outline:2px solid var(--hs-focus);outline-offset:3px}.intro-video:where(.astro-lcdefpme) figcaption:where(.astro-lcdefpme){color:var(--hs-dim);text-align:center;margin-top:12px;font-size:13px}@media (width<=600px){.intro-video:where(.astro-lcdefpme){margin-top:32px}.intro-video:where(.astro-lcdefpme) .play:where(.astro-lcdefpme){padding:10px 16px 10px 12px;font-size:14px}}.band:where(.astro-lcdefpme){border-bottom:1px solid var(--hs-border)}.band:where(.astro-lcdefpme)>.container:where(.astro-lcdefpme){padding-top:88px;padding-bottom:88px}.band:where(.astro-lcdefpme).last{border-bottom:0}.stack:where(.astro-lcdefpme){flex-direction:column;gap:40px;display:flex}.stack-sm:where(.astro-lcdefpme){flex-direction:column;gap:16px;display:flex}.intro:where(.astro-lcdefpme){flex-direction:column;gap:12px;max-width:660px;display:flex}h2:where(.astro-lcdefpme){letter-spacing:-.03em;margin:0;font-size:clamp(30px,3.6vw,40px);font-weight:600;line-height:1.1}h2:where(.astro-lcdefpme).h3{letter-spacing:-.02em;font-size:26px}h2:where(.astro-lcdefpme).big{font-size:clamp(34px,4.4vw,48px)}.intro:where(.astro-lcdefpme) p:where(.astro-lcdefpme),.stack-sm:where(.astro-lcdefpme)>p:where(.astro-lcdefpme),.compare:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--hs-muted);margin:0;font-size:17px;line-height:1.6}h3:where(.astro-lcdefpme){margin:0;font-size:18px;font-weight:600}.card:where(.astro-lcdefpme){border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:var(--hs-radius);flex-direction:column;gap:14px;min-width:0;padding:26px;display:flex}.card:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--hs-muted);margin:0;font-size:15px;line-height:1.6}.card:where(.astro-lcdefpme) code:where(.astro-lcdefpme){color:var(--hs-text);font-size:13px}.bento:where(.astro-lcdefpme){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.wide:where(.astro-lcdefpme){grid-column:span 2}.flow:where(.astro-lcdefpme){flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.flow:where(.astro-lcdefpme) li:where(.astro-lcdefpme){border:1px solid var(--hs-border);background:var(--hs-surface-2);min-width:110px;color:var(--hs-text);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.flow:where(.astro-lcdefpme) small:where(.astro-lcdefpme){color:var(--hs-dim);font-size:12px}.flow:where(.astro-lcdefpme) .send:where(.astro-lcdefpme){border-color:var(--hs-accent);color:var(--hs-accent-text)}.flow:where(.astro-lcdefpme) .pending:where(.astro-lcdefpme){color:var(--hs-dim);background:0 0;border-style:dashed}.flow:where(.astro-lcdefpme) .ok:where(.astro-lcdefpme){border-color:var(--hs-ok);background:var(--hs-ok-bg);color:var(--hs-ok)}.flow:where(.astro-lcdefpme) .ok:where(.astro-lcdefpme) small:where(.astro-lcdefpme){color:inherit}.err:where(.astro-lcdefpme){border:1px solid var(--hs-bad);background:var(--hs-bad-bg);color:var(--hs-bad);overflow-wrap:anywhere;border-radius:8px;padding:12px;font-size:13px;line-height:1.6}.small:where(.astro-lcdefpme){color:var(--hs-muted);font-size:13px}#services:where(.astro-lcdefpme) .ctas:where(.astro-lcdefpme){justify-content:flex-start}.split:where(.astro-lcdefpme){grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:48px;display:grid}.split:where(.astro-lcdefpme)>:where(.astro-lcdefpme){min-width:0}.chips:where(.astro-lcdefpme){flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.chips:where(.astro-lcdefpme) li:where(.astro-lcdefpme){border:1px solid var(--hs-border);background:var(--hs-surface-2);color:var(--hs-muted);border-radius:6px;padding:6px 12px;font-size:13px}.install:where(.astro-lcdefpme){border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-top:8px;padding:12px 14px;font-size:13px;display:flex}.install:where(.astro-lcdefpme) .cmd:where(.astro-lcdefpme){white-space:nowrap;scrollbar-width:thin;flex:1;min-width:0;overflow-x:auto}.install:where(.astro-lcdefpme) .cmd:where(.astro-lcdefpme):focus-visible{outline:2px solid var(--hs-focus);outline-offset:2px}.install:where(.astro-lcdefpme) button:where(.astro-lcdefpme){background:var(--hs-surface-2);color:var(--hs-text);border:1px solid var(--hs-border);font:inherit;cursor:pointer;border-radius:4px;flex-shrink:0;padding:6px 10px;font-size:12px}.compare:where(.astro-lcdefpme){flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.compare:where(.astro-lcdefpme)>div:where(.astro-lcdefpme){flex-direction:column;gap:8px;max-width:640px;display:flex}.band:where(.astro-lcdefpme):has(.compare)>.container:where(.astro-lcdefpme){padding-top:64px;padding-bottom:64px}.row-head:where(.astro-lcdefpme){flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.row-head:where(.astro-lcdefpme)>a:where(.astro-lcdefpme){color:var(--hs-text);font-size:15px}.grid2:where(.astro-lcdefpme){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid4:where(.astro-lcdefpme){grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.open-card:where(.astro-lcdefpme){color:var(--hs-text);text-decoration:none}.open-card:where(.astro-lcdefpme):hover{border-color:var(--hs-dim)}.open-card:where(.astro-lcdefpme) .cta:where(.astro-lcdefpme){color:var(--hs-accent-text);margin-top:auto;font-size:14px}.grid3:where(.astro-lcdefpme){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.primer:where(.astro-lcdefpme) dl:where(.astro-lcdefpme){flex-direction:column;gap:14px;margin:0;display:flex}.primer:where(.astro-lcdefpme) dt:where(.astro-lcdefpme){font-size:15px;font-weight:500}.primer:where(.astro-lcdefpme) dd:where(.astro-lcdefpme){color:var(--hs-muted);margin:4px 0 0;font-size:15px;line-height:1.6}.primer-link:where(.astro-lcdefpme){color:var(--hs-accent-text);margin-top:auto;font-size:15px}.lead-short:where(.astro-lcdefpme){display:none}@media (width<=600px){.lead-long:where(.astro-lcdefpme){display:none}.lead-short:where(.astro-lcdefpme){font-size:17px;display:block}.hero-in:where(.astro-lcdefpme){text-align:left;align-items:flex-start}.ctas:where(.astro-lcdefpme){justify-content:flex-start}.instruments:where(.astro-lcdefpme){align-items:flex-start}.instruments:where(.astro-lcdefpme) div:where(.astro-lcdefpme){justify-content:flex-start;gap:8px 18px;font-size:14px}}.links:where(.astro-lcdefpme){margin:0;padding:0;list-style:none}.links:where(.astro-lcdefpme) a:where(.astro-lcdefpme){border-top:1px solid var(--hs-line);color:var(--hs-text);justify-content:space-between;gap:12px;padding:12px 0;font-size:15px;text-decoration:none;display:flex}.links:where(.astro-lcdefpme) a:where(.astro-lcdefpme):hover span:where(.astro-lcdefpme):first-child{color:var(--hs-accent-text)}.post:where(.astro-lcdefpme){color:var(--hs-text);text-decoration:none}.post:where(.astro-lcdefpme):hover,.tile:where(.astro-lcdefpme):hover{border-color:var(--hs-dim)}.posts:where(.astro-lcdefpme){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.posts:where(.astro-lcdefpme) .post:where(.astro-lcdefpme){gap:0;padding:0;overflow:hidden}.post-body:where(.astro-lcdefpme){flex-direction:column;gap:10px;padding:22px 26px 26px;display:flex}.posts:where(.astro-lcdefpme).single{grid-template-columns:1fr}.posts:where(.astro-lcdefpme).single .post:where(.astro-lcdefpme){grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;display:grid}.posts:where(.astro-lcdefpme).single .thumb:where(.astro-lcdefpme){aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--hs-border);height:100%;min-height:220px}.posts:where(.astro-lcdefpme).single .post-body:where(.astro-lcdefpme){padding:28px 32px}.thumb:where(.astro-lcdefpme){aspect-ratio:16/9;background:var(--hs-bg);border-bottom:1px solid var(--hs-border);display:block;overflow:hidden}.thumb:where(.astro-lcdefpme) img:where(.astro-lcdefpme){object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:10px;transition:transform .25s;display:block}.post:where(.astro-lcdefpme):hover .thumb:where(.astro-lcdefpme) img:where(.astro-lcdefpme),.tile:where(.astro-lcdefpme):hover .thumb:where(.astro-lcdefpme) img:where(.astro-lcdefpme){transform:scale(1.03)}.thumb:where(.astro-lcdefpme) .light:where(.astro-lcdefpme),[data-theme=light] .thumb:where(.astro-lcdefpme) .dark:where(.astro-lcdefpme){display:none}[data-theme=light] .thumb:where(.astro-lcdefpme) .light:where(.astro-lcdefpme){display:block}.learn:where(.astro-lcdefpme){border-top:1px solid var(--hs-line);flex-direction:column;gap:18px;margin-top:28px;padding-top:32px;display:flex}.learn-title:where(.astro-lcdefpme){letter-spacing:-.01em;margin:6px 0 0;font-size:20px;font-weight:600}.strip-nav:where(.astro-lcdefpme){align-items:center;gap:8px;display:flex}.strip-nav:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--hs-text);margin-left:8px;font-size:15px}.strip-nav:where(.astro-lcdefpme) button:where(.astro-lcdefpme){border:1px solid var(--hs-border);background:var(--hs-surface);width:36px;height:36px;color:var(--hs-text);cursor:pointer;font:inherit;border-radius:999px}.strip-nav:where(.astro-lcdefpme) button:where(.astro-lcdefpme):hover{border-color:var(--hs-dim)}.strip:where(.astro-lcdefpme){scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain;grid-auto-columns:236px;grid-auto-flow:column;gap:14px;margin:0;padding:0 0 8px;list-style:none;display:grid;overflow-x:auto}.strip:where(.astro-lcdefpme):focus-visible{outline:2px solid var(--hs-focus);outline-offset:4px}.strip:where(.astro-lcdefpme) li:where(.astro-lcdefpme){scroll-snap-align:start}.tile:where(.astro-lcdefpme){height:100%;color:var(--hs-text);border:1px solid var(--hs-border);background:var(--hs-surface);border-radius:var(--hs-radius);flex-direction:column;gap:10px;text-decoration:none;display:flex;overflow:hidden}.tile-title:where(.astro-lcdefpme){padding:0 16px;font-size:15px;font-weight:600;line-height:1.35}.step:where(.astro-lcdefpme){color:var(--hs-accent-text);margin-top:auto;padding:0 16px 14px;font-size:12px}.step:where(.astro-lcdefpme) span:where(.astro-lcdefpme){color:var(--hs-dim)}@media (prefers-reduced-motion:reduce){.thumb:where(.astro-lcdefpme) img:where(.astro-lcdefpme){transition:none}.post:where(.astro-lcdefpme):hover .thumb:where(.astro-lcdefpme) img:where(.astro-lcdefpme),.tile:where(.astro-lcdefpme):hover .thumb:where(.astro-lcdefpme) img:where(.astro-lcdefpme){transform:none}}.post-title:where(.astro-lcdefpme){letter-spacing:-.01em;font-size:19px;font-weight:600;line-height:1.35}.meta:where(.astro-lcdefpme){color:var(--hs-dim);font-size:14px;line-height:1.5}.narrow:where(.astro-lcdefpme){max-width:820px}.faq:where(.astro-lcdefpme){max-width:none}.faq:where(.astro-lcdefpme) details:where(.astro-lcdefpme){border-top:1px solid var(--hs-border)}.faq:where(.astro-lcdefpme) details:where(.astro-lcdefpme):last-child{border-bottom:1px solid var(--hs-border)}.faq:where(.astro-lcdefpme) summary:where(.astro-lcdefpme){cursor:pointer;justify-content:space-between;gap:16px;padding:20px 0;font-size:17px;font-weight:500;list-style:none;display:flex}.faq:where(.astro-lcdefpme) summary:where(.astro-lcdefpme)::-webkit-details-marker{display:none}.faq:where(.astro-lcdefpme) summary:where(.astro-lcdefpme):after{content:"+";font-family:var(--hs-mono);color:var(--hs-dim)}.faq:where(.astro-lcdefpme) details:where(.astro-lcdefpme)[open] summary:where(.astro-lcdefpme):after{content:"−"}.faq:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--hs-muted);margin:0 0 20px;font-size:16px;line-height:1.65}.center:where(.astro-lcdefpme){text-align:center;align-items:center}@media (width<=560px){.grid4:where(.astro-lcdefpme){grid-template-columns:1fr}}@media (width<=900px){.bento:where(.astro-lcdefpme),.grid3:where(.astro-lcdefpme),.posts:where(.astro-lcdefpme),.posts:where(.astro-lcdefpme).single .post:where(.astro-lcdefpme){grid-template-columns:1fr}.posts:where(.astro-lcdefpme).single .thumb:where(.astro-lcdefpme){aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--hs-border);min-height:0}.strip-nav:where(.astro-lcdefpme) button:where(.astro-lcdefpme){display:none}.strip-nav:where(.astro-lcdefpme) a:where(.astro-lcdefpme){margin-left:0}.grid4:where(.astro-lcdefpme){grid-template-columns:repeat(2,minmax(0,1fr))}.wide:where(.astro-lcdefpme){grid-column:auto}.split:where(.astro-lcdefpme),.grid2:where(.astro-lcdefpme){grid-template-columns:1fr}.band:where(.astro-lcdefpme)>.container:where(.astro-lcdefpme){padding-top:64px;padding-bottom:64px}.hero-in:where(.astro-lcdefpme){padding-top:56px}}.video-text:where(.astro-lcdefpme){color:var(--hs-muted);text-align:left;margin-top:10px;font-size:14px}.video-text:where(.astro-lcdefpme) summary:where(.astro-lcdefpme){cursor:pointer;color:var(--hs-text)}.video-text:where(.astro-lcdefpme) ol:where(.astro-lcdefpme){gap:4px;margin:8px 0 0;padding-left:20px;display:grid}
