@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin.Dx4kXJAl.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/jetbrains-mono-latin.6fWv1k7M.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/montserrat-wordmark.BBhP-0T2.woff2)format("woff2")}:root{--midnight:#0f1e3d;--bg:light-dark(#fff,#09090b);--bg-subtle:light-dark(#fafafa,#0e0e11);--surface:light-dark(#fff,#111114);--surface-2:light-dark(#f4f4f5,#18181b);--border:light-dark(#e4e4e7,#27272a);--border-strong:light-dark(#d4d4d8,#3f3f46);--text:light-dark(#09090b,#fafafa);--text-2:light-dark(#3f3f46,#d4d4d8);--muted:light-dark(#6b6b74,#a1a1aa);--accent:light-dark(#2b4f8e,#8ea6d6);--accent-hover:light-dark(#0f1e3d,#b6c6e6);--accent-soft:light-dark(#eef2f9,#141c2e);--primary:light-dark(#2b4f8e,#3a62a8);--primary-hover:light-dark(#0f1e3d,#4a72b8);--ring:light-dark(#2b4f8e59,#8ea6d666);--shadow-sm:0 1px 2px light-dark(#0000000a,#0000);--shadow-md:0 1px 2px light-dark(#0000000a,#0000004d), 0 12px 32px -12px light-dark(#0000002e,#00000080);--shadow-float:0 1px 2px light-dark(#0000000a,#0000), 0 30px 60px -40px light-dark(#00000059,#000c);--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius:10px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--ease:cubic-bezier(.2, .7, .2, 1);--on-primary:#fff;--status-ok:light-dark(#15803d,#4ade80);--status-ok-soft:light-dark(#f0fdf4,#052e16);--status-ok-border:light-dark(#bbf7d0,#14532d);--status-error:light-dark(#b91c1c,#f87171);--status-error-soft:light-dark(#fef3f2,#2a1520);--status-error-border:light-dark(#f5c2bd,#6b2a33);--status-warn:light-dark(#92400e,#fbbf24);--header-bg:light-dark(#fffffff7,#09090bf5);--scroll-shadows:linear-gradient(90deg, var(--surface) 30%, transparent) left center / 40px 100% no-repeat local, linear-gradient(270deg, var(--surface) 30%, transparent) right center / 40px 100% no-repeat local, linear-gradient(90deg, light-dark(#00000024,#ffffff24), transparent) left center / 12px 100% no-repeat scroll, linear-gradient(270deg, light-dark(#00000024,#ffffff24), transparent) right center / 12px 100% no-repeat scroll;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--type-micro:.6875rem;--type-label:.75rem;--type-caption:.8125rem;--type-code:.8125rem;--type-ui:.875rem;--type-compact:.9375rem;--type-body:1rem;--type-intro:1.0625rem;--type-lede:1.125rem;--type-title-sm:1.25rem;--type-title:1.5rem;--type-headline:clamp(1.75rem, 3.4vw, 2.375rem);--type-page:clamp(2.125rem, 4.4vw, 3rem);--type-hero:clamp(2.25rem, 4.6vw, 3.5rem);--type-display:clamp(2.375rem, 6.4vw, 4rem);--type-code-inline:.86em;color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:var(--type-body);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;line-height:1.6;display:flex}h1,h2,h3{text-wrap:balance;font-weight:600}:not(pre)>code{overflow-wrap:break-word}:is(td,th) :not(pre)>code,:where(p,li,dd)>a{overflow-wrap:anywhere}p{text-wrap:pretty}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}svg.icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}@media (width>=1600px){.wrap{max-width:1280px}}.eyebrow{color:var(--muted);font-family:var(--mono);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-weight:500;display:inline-block}.skip-link{z-index:20;border-radius:var(--radius);background:var(--midnight);color:#fff;padding:10px 16px;font-weight:600;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{color:#fff;transform:none}.site-header{z-index:10;background:var(--header-bg);-webkit-backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;height:68px;display:flex}.brand{color:var(--text);font-family:Montserrat,ui-sans-serif,system-ui,sans-serif;font-weight:800;font-size:var(--type-body);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;padding:8px 0;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.brand picture{display:contents}.brand source{display:none}.brand img{width:34px;height:auto;display:block}.site-nav{font-size:var(--type-ui);align-items:center;gap:2px;margin-left:28px;margin-right:auto;font-weight:500;display:flex}.nav-item{position:relative}.nav-trigger,.nav-link{border-radius:var(--radius-md);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:8px 12px;text-decoration:none;transition:color .15s,background-color .15s;display:inline-flex}.nav-trigger:hover,.nav-link:hover,.nav-item:hover .nav-trigger,.nav-item:focus-within .nav-trigger{color:var(--text);background:var(--surface-2)}.nav-link[aria-current=page],.nav-trigger[aria-current=page],.nav-item.is-active .nav-trigger{color:var(--text)}.nav-chevron{stroke-width:2.25px;opacity:.7;width:14px;height:14px;transition:transform .2s}.nav-item:hover .nav-chevron,.nav-item:focus-within .nav-chevron{transform:rotate(180deg)}.nav-menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:340px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;padding:8px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(6px)}.nav-menu:before{content:"";height:12px;position:absolute;top:-12px;left:0;right:0}.nav-menu.wide{width:520px}.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{opacity:1;visibility:visible;transform:none}.menu-grid{gap:2px;display:grid}.nav-menu.wide .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-link{border-radius:var(--radius);color:var(--text);grid-template-columns:36px 1fr;align-items:start;gap:12px;padding:10px;text-decoration:none;display:grid}.menu-link:hover,.menu-link:focus-visible{color:var(--text);background:var(--surface-2)}.menu-icon{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:36px;height:36px;color:var(--text-2);place-items:center;display:grid}.menu-icon svg.icon{width:18px;height:18px}.menu-title{font-size:var(--type-ui);font-weight:600;line-height:1.3;display:block}.menu-desc{color:var(--muted);font-size:var(--type-caption);margin-top:2px;line-height:1.35;display:block}.menu-foot{border-top:1px solid var(--border);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--bg-subtle);font-size:var(--type-caption);flex-wrap:wrap;gap:6px 20px;margin:6px -8px -8px;padding:12px 18px;font-weight:600;display:flex}.menu-foot a{white-space:nowrap;text-decoration:none}.header-actions{align-items:center;gap:8px;display:flex}.mobile-nav{display:none}.mobile-nav summary{border:1px solid var(--border-strong);border-radius:var(--radius);width:40px;height:40px;color:var(--text);cursor:pointer;place-items:center;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav .close,.mobile-nav[open] .open{display:none}.mobile-nav[open] .close{display:block}.mobile-panel{max-height:var(--panel-max,calc(100dvh - 68px));overscroll-behavior:contain;border-bottom:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-md);gap:20px;padding:20px 24px 28px;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto}html:has(.mobile-nav[open]){overflow:hidden}.mobile-group p{color:var(--muted);font-size:var(--type-label);letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px;font-weight:700}.mobile-group ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin:0;padding:0;list-style:none;display:grid}.mobile-group a{color:var(--text);padding:8px 0;font-weight:500;text-decoration:none;display:block}.mobile-cta{justify-self:start}@media (width<=1040px){.site-nav{display:none}.mobile-nav{display:block}}@media (width>=481px){.mobile-cta{display:none}}@media (width<=480px){.header-actions>.button{display:none}}@media (width<=360px){.site-header .wrap{gap:8px;padding:0 16px}.header-actions{gap:6px}}.icon-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;place-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-grid}.icon-button:hover{background:var(--surface-2);color:var(--text)}.icon-button svg.icon{width:16px;height:16px}.theme-toggle svg.icon{opacity:0;grid-area:1/1;transform:rotate(-90deg)scale(.4)}.theme-toggle svg.icon[data-for=light]{transform:rotate(90deg)scale(.4)}.theme-toggle svg.icon[data-for=system]{transform:scale(.4)}.theme-toggle[data-choice=system] svg.icon[data-for=system],.theme-toggle[data-choice=light] svg.icon[data-for=light],.theme-toggle[data-choice=dark] svg.icon[data-for=dark]{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.theme-toggle svg.icon{transition:opacity .2s,transform .4s cubic-bezier(.2,.7,.2,1)}.theme-toggle:active svg.icon[data-for]{transition-duration:.1s}}.site-live{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (pointer:coarse){.icon-button:after{content:"";position:absolute;inset:-6px}.icon-button{position:relative}}.search-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);height:34px;color:var(--muted);font:inherit;font-size:var(--type-caption);cursor:pointer;align-items:center;gap:8px;padding:0 6px 0 10px;display:inline-flex}.search-button:hover{border-color:var(--border-strong);color:var(--text)}.search-button svg.icon{width:15px;height:15px}.search-button span{text-align:left;min-width:72px}kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:var(--muted);font-family:var(--mono);font-size:var(--type-micro);padding:1px 5px}.palette{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(640px,100vw - 32px);max-height:min(560px,100dvh - 96px);color:var(--text);box-shadow:var(--shadow-md);margin:12vh auto auto;padding:0;overflow:hidden}.palette[open]{flex-direction:column;display:flex}.palette::backdrop{backdrop-filter:blur(2px);background:#0006}.palette-field{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:12px 16px;display:flex}.palette-input{min-width:0;color:var(--text);font:inherit;font-size:var(--type-body);background:0 0;border:0;outline:0;flex:1}.palette-input::-webkit-search-cancel-button{display:none}.palette-results{overscroll-behavior:contain;flex:1;margin:0;padding:6px;overflow-y:auto}.palette-group+.palette-group{margin-top:6px}.palette-heading{color:var(--muted);font-size:var(--type-micro);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:8px 12px 4px;font-weight:600}.palette-option{border-radius:var(--radius-md);min-height:40px;color:inherit;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px;padding:9px 12px;text-decoration:none;display:grid}.palette-option[aria-selected=true]{background:var(--surface-2);box-shadow:inset 2px 0 var(--accent)}.palette-title{min-width:0;font-size:var(--type-ui);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.palette-mark{color:var(--accent);background:0 0;font-weight:700}.palette-crumb{max-width:22em;color:var(--muted);font-size:var(--type-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-detail{color:var(--muted);font-size:var(--type-caption);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;overflow:hidden}.palette-foot{border-top:1px solid var(--border);color:var(--muted);font-size:var(--type-label);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.palette-status{flex:1;min-width:0;margin:0;padding:9px 0}.palette-hints{white-space:nowrap;gap:12px;display:flex}.palette-clear{border-radius:var(--radius-sm);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 8px}.palette-clear:hover{color:var(--text)}.palette-clear[hidden]{display:none}@media (width<=640px){.palette{max-height:calc(100dvh - 20px);margin-top:10px}.palette-hints{display:none}}@media (width<=520px){.palette-option{grid-template-columns:minmax(0,1fr)}.palette-crumb{max-width:none}}@media (pointer:coarse){.palette-option{min-height:44px}.palette-hints{display:none}}.shortcuts{width:min(520px,100vw - 32px);max-height:min(680px,100dvh - 96px)}.shortcuts-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.shortcuts-head h2{font-size:var(--type-compact);margin:0;font-weight:600}.shortcuts-body{flex:1;min-height:0;padding:4px 16px 14px;overflow-y:auto}.shortcuts-body h3{color:var(--muted);font-size:var(--type-micro);letter-spacing:.06em;text-transform:uppercase;margin:16px 0 4px;font-weight:600}.shortcuts-body dl{margin:0}.shortcuts-row{font-size:var(--type-ui);justify-content:space-between;align-items:center;gap:16px;padding:7px 0;display:flex}.shortcuts-row+.shortcuts-row{border-top:1px solid var(--border)}.shortcuts-row dt{min-width:0}.shortcuts-row dd{color:var(--muted);font-size:var(--type-label);flex:none;align-items:center;gap:4px;margin:0;display:flex}.shortcuts kbd{text-align:center;min-width:22px;font-size:var(--type-label);padding:2px 6px}@media (prefers-reduced-motion:no-preference){@keyframes theme-reveal{0%{clip-path:circle(0 at var(--reveal-x) var(--reveal-y))}to{clip-path:circle(var(--reveal-r) at var(--reveal-x) var(--reveal-y))}}html[data-theme-reveal] .site-header{view-transition-name:none}html[data-theme-reveal]::view-transition-group(root){animation-duration:.5s}html[data-theme-reveal]::view-transition-old(root),html[data-theme-reveal]::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-theme-reveal]::view-transition-new(root){animation:theme-reveal .5s var(--ease)}}.code-wrap{position:relative}.copy-button{opacity:0;width:30px;height:30px;position:absolute;top:10px;right:10px}.code-wrap:hover .copy-button,.copy-button:focus-visible,.copy-button.is-done{opacity:1}.copy-button.is-done{color:var(--status-ok)}@media (hover:none){.copy-button{opacity:1}.code-wrap>pre{padding-top:48px}}.announce{--announce-fg:#fafafa;--announce-muted:#a1a1aa;color:var(--announce-fg);font-size:var(--type-caption);text-align:center;background:light-dark(#09090b,#18181b);padding:8px 48px;position:relative}:root[data-dismissed] .announce{display:none}.announce p{text-wrap:balance;margin:0}.announce a{color:inherit;text-decoration-color:color-mix(in srgb, var(--announce-fg) 40%, transparent)}.announce a:hover{color:var(--announce-fg);text-decoration-color:currentColor}.announce-tag{border-radius:var(--radius-pill);background:var(--primary);font-size:var(--type-label);margin-right:8px;padding:1px 7px;font-weight:500}.announce .icon-button{width:26px;height:26px;color:var(--announce-muted);background:0 0;border:0;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.announce .icon-button:hover{color:var(--announce-fg);background:#ffffff1a}@media (pointer:coarse){.announce .icon-button{width:36px;height:36px;right:4px}}@media (width<=1100px){.search-button{justify-content:center;width:34px;padding:0}.search-button span,.search-button kbd{display:none}}@media (width<=640px){.announce{text-align:left;padding:8px 40px 8px 16px}}.button{white-space:nowrap;cursor:pointer;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-weight:500;font-size:var(--type-compact);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:10px 18px;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}@media (pointer:coarse){.button:not(.small){min-height:44px}}.button:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.button.primary{background:var(--primary);color:var(--on-primary);border-color:#0000;box-shadow:inset 0 -2px #0000002e}.button.primary:hover{background:var(--primary-hover);color:var(--on-primary)}.button.small{font-size:var(--type-ui);padding:7px 13px}main{flex:1}.band{isolation:isolate;border-bottom:1px solid var(--border);position:relative}.band.hero:before,.band.page-head:before{content:"";z-index:-1;background-image:radial-gradient(var(--border-strong) 1px, transparent 1px);opacity:.6;background-size:22px 22px;height:320px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.band.cta{border-top:1px solid var(--border);border-bottom:0}.hero{padding:88px 0 96px}.hero .wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:56px;display:grid}.pill{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--type-caption);align-items:center;gap:8px;margin-bottom:22px;padding:4px 12px 4px 4px;font-weight:500;display:inline-flex}.pill .dot{border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-size:var(--type-label);padding:1px 8px;font-weight:500}@media (width<=480px){.pill{font-size:var(--type-label);white-space:nowrap}}@media (width<=380px){.pill{white-space:normal;border-radius:18px}.pill .dot{white-space:nowrap}}.hero h1{font-size:var(--type-hero);letter-spacing:-.045em;margin:0 0 20px;line-height:1.05}.hero .lede{max-width:540px;color:var(--muted);font-size:var(--type-lede);margin:0}.actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}@media (width<=520px){.actions>.button{flex:auto;justify-content:center}}.hero-meta{color:var(--muted);font-size:var(--type-caption);flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:0;list-style:none;display:flex}.hero-meta li{align-items:center;gap:6px;display:inline-flex}.hero-meta svg.icon{width:16px;height:16px}.window{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-float);position:relative;overflow:hidden}.window-bar{border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--muted);font-family:var(--mono);font-size:var(--type-label);align-items:center;gap:8px;padding:10px 16px;display:flex}.window-bar i{background:var(--border-strong);border-radius:50%;width:6px;height:6px}.window-bar span{margin-left:2px}pre{font-family:var(--mono);font-size:var(--type-code);color:var(--text);background:var(--scroll-shadows);margin:0;padding:20px 22px;line-height:1.7;overflow-x:auto}.window pre+pre,.window .code-wrap+.code-wrap{border-top:1px solid var(--border)}.tok-keyword{color:light-dark(#cf222e,#ff7b72)}.tok-string,.tok-string-expression{color:light-dark(#0a3069,#a5d6ff)}.tok-comment{color:light-dark(#6e7781,#8b949e)}.tok-function{color:light-dark(#8250df,#d2a8ff)}.tok-constant{color:light-dark(#0550ae,#79c0ff)}.tok-parameter{color:light-dark(#953800,#ffa657)}.tok-link{color:light-dark(#0a3069,#a5d6ff);text-decoration:underline}.section{padding:96px 0}.section.alt{background:var(--bg-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section:not(.alt)+.section:not(.alt){border-top:1px solid var(--border)}.section-head{max-width:680px;margin:0 0 48px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font-size:var(--type-headline);letter-spacing:-.035em;margin:0 0 14px;line-height:1.12}.section-head p{color:var(--muted);font-size:var(--type-intro);margin:0}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:24px;transition:border-color .15s;position:relative}.card:hover{border-color:var(--border-strong)}.card h3{font-size:var(--type-body);letter-spacing:-.01em;margin:14px 0 6px}.card p{color:var(--muted);font-size:var(--type-compact);margin:0}.card.wide{grid-column:span 2}.icon-tile{color:var(--text-2);place-items:center;display:inline-grid}.icon-tile svg.icon{stroke-width:1.6px;width:20px;height:20px}.hero.home-hero{text-align:center;padding:64px 0 96px}.home-hero .wrap{display:block}.home-hero h1{max-width:800px;font-size:var(--type-display);margin:0 auto 20px;line-height:1.02}.home-hero .lede{max-width:600px;margin:0 auto}.home-hero .actions{justify-content:center}.demo{--demo-pane-h:clamp(320px, calc(100svh - 260px), 440px);text-align:left;border:0;min-width:0;margin-top:48px}.demo-radio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.demo-tabs{border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--scroll-shadows), var(--surface);scrollbar-width:none;border-bottom:0;display:flex;overflow-x:auto}.demo-tabs label{color:var(--muted);font-size:var(--type-ui);white-space:nowrap;cursor:pointer;flex:none;padding:12px 18px;font-weight:500}.demo-tabs label:hover{color:var(--text)}#demo-connect:checked~.demo-tabs [for=demo-connect],#demo-send:checked~.demo-tabs [for=demo-send],#demo-receive:checked~.demo-tabs [for=demo-receive],#demo-meetings:checked~.demo-tabs [for=demo-meetings],#demo-gov:checked~.demo-tabs [for=demo-gov],#demo-book:checked~.demo-tabs [for=demo-book]{color:var(--text);box-shadow:inset 0 -2px 0 var(--primary)}#demo-connect:focus-visible~.demo-tabs [for=demo-connect],#demo-send:focus-visible~.demo-tabs [for=demo-send],#demo-receive:focus-visible~.demo-tabs [for=demo-receive],#demo-meetings:focus-visible~.demo-tabs [for=demo-meetings],#demo-gov:focus-visible~.demo-tabs [for=demo-gov],#demo-book:focus-visible~.demo-tabs [for=demo-book]{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}@media (width<=640px){.demo-tabs{background:var(--surface);flex-wrap:wrap;overflow-x:visible}.demo-tabs label{text-align:center;flex:auto;padding:12px 14px}}.demo-panel{border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-float);display:none;overflow:hidden}#demo-connect:checked~.demo-connect,#demo-send:checked~.demo-send,#demo-receive:checked~.demo-receive,#demo-meetings:checked~.demo-meetings,#demo-gov:checked~.demo-gov,#demo-book:checked~.demo-book{display:block}.demo-caption{border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--muted);font-size:var(--type-caption);text-align:center;margin:0;padding:10px 18px}.demo-panes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.demo-pane{height:var(--demo-pane-h);flex-direction:column;display:flex}.demo-pane>.window-bar{flex:none}.demo-pane>pre,.demo-pane>.demo-view{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:auto;min-height:0;overflow:auto}.demo-pane+.demo-pane{border-left:1px solid var(--border)}.demo-pane .window-bar{background:0 0}.works-with{border-bottom:1px solid var(--border)}.works-with dl{margin:0}.works-row{grid-template-columns:140px minmax(0,1fr);align-items:baseline;gap:24px;padding:18px 0;display:grid}.works-row+.works-row{border-top:1px solid var(--border)}.works-with dt{color:var(--muted);font-family:var(--mono);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase}.works-with dd{margin:0}.works-with ul{color:var(--text-2);font-size:var(--type-ui);flex-wrap:wrap;gap:6px 28px;margin:0;padding:0;font-weight:500;list-style:none;display:flex}.works-with a{color:inherit;text-decoration:underline;text-decoration-color:var(--border-strong)}.works-with a:hover{color:var(--text);text-decoration-color:currentColor}.section-head.split{justify-content:space-between;align-items:flex-end;gap:24px;max-width:none;display:flex}.split-copy{max-width:640px}.section-more{font-size:var(--type-ui);margin:20px 0 0;font-weight:500}.section-more a{text-decoration:none}.cells{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cells.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=961px){.cells:not(.two):has(>.cell:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.cells:not(.two)>.cell:last-child:nth-child(3n+1):not(:nth-child(4)){grid-column:1/-1}.cells:not(.two)>.cell:last-child:nth-child(3n+2){grid-column:span 2}}@media (width>=641px){.cells.two>.cell:last-child:nth-child(odd){grid-column:1/-1}}.cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:inherit;padding:24px;text-decoration:none;transition:background-color .15s}a.cell:hover{background:var(--bg-subtle);color:inherit}a.cell h3:after{content:"→";color:var(--muted);margin-left:6px;font-weight:400;display:inline-block}a.cell[href^=\#] h3:after{content:"↓"}a.cell:hover h3:after,a.cell:focus-visible h3:after{color:var(--accent)}.cell h3{font-size:var(--type-compact);letter-spacing:-.01em;margin:0 0 6px}.cell h3 svg.icon{stroke-width:1.6px;width:18px;height:18px;color:var(--text-2);margin-bottom:14px;display:block}.cell p{color:var(--muted);font-size:var(--type-compact);margin:0}.mark{align-items:center;gap:8px;display:inline-flex}.mark:before{content:"";border-radius:50%;width:8px;height:8px}.mark-yes:before{background:var(--status-ok)}.mark-partial:before{background:var(--status-warn)}.mark-no:before{background:var(--status-error)}.mark-nd{color:var(--muted)}.mark-nd:before{box-shadow:inset 0 0 0 1px var(--border-strong)}@media (width<=960px){.cells{grid-template-columns:repeat(2,minmax(0,1fr))}.cells:not(.two)>.cell:last-child:nth-child(odd){grid-column:1/-1}.demo-panes{grid-template-columns:minmax(0,1fr)}.demo{--demo-pane-h:clamp(260px, 60svh, 440px)}.demo-pane{height:auto;max-height:var(--demo-pane-h)}.demo-pane+.demo-pane{height:var(--demo-pane-h);border-top:1px solid var(--border);border-left:0}}@media (width<=640px){.hero.home-hero{padding:48px 0 64px}.cells,.cells.two{grid-template-columns:minmax(0,1fr)}.works-row{grid-template-columns:minmax(0,1fr);gap:8px}.section-head.split{flex-direction:column;align-items:flex-start}}.steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);padding:24px}.steps li:before{content:counter(step, decimal-leading-zero);color:var(--muted);font-family:var(--mono);font-size:var(--type-label);margin-bottom:14px;display:block}.steps h3{font-size:var(--type-intro);margin:0 0 8px}.steps p{color:var(--muted);font-size:var(--type-compact);margin:0}.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;margin:0;padding:0;list-style:none;display:grid}.checks li{grid-template-columns:auto 1fr;align-content:start;gap:4px 12px;display:grid}.checks .icon-tile{grid-row:span 2;align-self:start;margin-top:3px}.checks h3{font-size:var(--type-body);margin:2px 0 0}.checks p{color:var(--muted);font-size:var(--type-compact);margin:0}.cta{text-align:center;padding:96px 0}.cta h2{max-width:760px;font-size:var(--type-headline);letter-spacing:-.035em;margin:0 auto 14px;line-height:1.12}.cta p{max-width:520px;color:var(--muted);text-wrap:balance;margin:0 auto}.cta .actions{justify-content:center}.page-head{padding:72px 0 64px}.page-head h1{font-size:var(--type-page);letter-spacing:-.04em;margin:0 0 12px;line-height:1.08}.page-head p{max-width:620px;color:var(--muted);font-size:var(--type-intro);margin:0}.page-head .meta{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--muted);font-family:var(--mono);font-size:var(--type-label);margin-top:20px;padding:4px 10px;display:inline-flex}.signup{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:48px;padding-top:56px;padding-bottom:96px;display:grid}.form{gap:20px;padding:32px;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.field{font-size:var(--type-ui);color:var(--text);gap:8px;font-weight:600;display:grid}.field em{color:var(--muted);margin-left:6px;font-style:normal;font-weight:500}.field input,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;font-weight:500;font-size:var(--type-compact);padding:11px 14px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:132px}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring);outline:none}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:var(--status-error)}.field input:user-invalid:focus,.field select:user-invalid:focus,.field textarea:user-invalid:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--status-error) 25%, transparent)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form .button{justify-self:start}@media (width<=480px){.form .button{justify-self:stretch}}.form-note{color:var(--muted);font-size:var(--type-caption);margin:0}.signup-aside h2{font-size:var(--type-title-sm);letter-spacing:-.01em;margin:4px 0 20px}.aside-note{color:var(--muted);font-size:var(--type-compact)}.mini-steps{counter-reset:step;gap:18px;margin:0 0 24px;padding:0;list-style:none;display:grid}.mini-steps li{counter-increment:step;color:var(--muted);font-size:var(--type-compact);grid-template-columns:32px 1fr;gap:14px;display:grid}.mini-steps li:before{content:counter(step);background:var(--accent-soft);width:32px;height:32px;color:var(--accent);font-weight:700;font-size:var(--type-ui);border-radius:50%;place-items:center;display:grid}.mini-steps strong{color:var(--text);display:block}.doc{grid-template-columns:240px minmax(0,1fr);gap:64px;padding-top:56px;padding-bottom:96px;display:grid}.toc{max-height:calc(100vh - 120px);font-size:var(--type-ui);align-self:start;position:sticky;top:96px;overflow-y:auto}.toc summary{color:var(--muted);font-size:var(--type-label);letter-spacing:.2em;text-transform:uppercase;cursor:default;margin:0 0 12px;font-weight:700;list-style:none;display:block}.toc summary::-webkit-details-marker{display:none}@media (width>=961px){.toc-details::details-content{content-visibility:visible}}.toc ol{border-left:1px solid var(--border);margin:0;padding:0;list-style:none}.toc a{color:var(--muted);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 14px;line-height:1.4;text-decoration:none;display:block}.toc a:hover,.toc a[aria-current]{border-left-color:var(--accent);color:var(--text)}.prose{max-width:740px;color:var(--text-2)}.prose>:first-child{margin-top:0}.prose h2{border-top:1px solid var(--border);color:var(--text);font-size:var(--type-title);letter-spacing:-.015em;margin:56px 0 16px;padding-top:28px;font-weight:700;line-height:1.25}.prose>h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose h3{color:var(--text);font-size:var(--type-intro);margin:32px 0 10px;font-weight:700}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{padding-left:22px}.prose li+li{margin-top:8px}.prose li::marker{color:var(--accent)}.prose code,.migrate code,.feature-list li code,.matrix-notes li code,.uc-code,.pricing-code,.changelog-code,.ea-code{font-family:var(--mono);font-size:var(--type-code-inline);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:1px 5px}.callout{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--text);margin:24px 0;padding:18px 22px}.callout p{margin:0}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--scroll-shadows), var(--surface);margin:16px 0 24px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--type-ui)}th,td{text-align:left;vertical-align:top;padding:12px 16px}thead th{background:var(--surface-2);color:var(--text);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;font-weight:700}tr+tr td,tr+tr th{border-top:1px solid var(--border)}.mini-compare table{min-width:680px}.mini-compare tbody th{width:34%;color:var(--text-2);font-weight:500}:is(.mini-compare,.compare-table) thead th:nth-child(2),:is(.mini-compare,.compare-table) tbody td:first-of-type{background:var(--accent-soft)}@media (width<=640px){.mini-compare table{border-collapse:separate;border-spacing:0;min-width:560px}.mini-compare tbody th{background:var(--surface);width:150px;font-size:var(--type-ui)}.mini-compare th:first-child{z-index:1;box-shadow:1px 0 0 var(--border);position:sticky;left:0}}.subprocessors-table table{min-width:680px}.subprocessors-table tbody th{width:24%}.subprocessors-table td:last-child{width:20%}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 24px;display:grid}.contact-grid .card{padding:22px}.contact-grid .card h3{font-size:var(--type-compact);margin:14px 0 4px}.contact-grid .card p{font-size:var(--type-compact)}.contact-grid a{font-weight:600}.pricing-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:56px;display:grid}.pricing-ask h2{font-size:var(--type-lede);letter-spacing:-.01em;margin:0 0 12px}.pricing-ask ul{color:var(--text-2);font-size:var(--type-compact);gap:10px;margin:0;padding-left:20px;display:grid}.pricing-ask li::marker{color:var(--accent)}@media (width<=960px){.pricing-head{grid-template-columns:minmax(0,1fr);gap:32px}}.faq{border-top:1px solid var(--border);max-width:820px}.faq.wide{max-width:none}.faq.wide+.faq{border-top:0;max-width:none}.faq details{border-bottom:1px solid var(--border)}.faq summary{font-weight:600;font-size:var(--type-intro);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:var(--type-title-sm);color:var(--accent);flex:none;font-weight:400;line-height:1}.faq details[open] summary:after{content:"−"}.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-xs)}.faq-answer{color:var(--muted);margin:0 0 20px;line-height:1.65}.faq details>:last-child{margin-bottom:20px}.changelog{padding-top:48px;padding-bottom:88px}.changelog>*{max-width:860px}.changelog-month h2{font-size:var(--type-title);color:var(--text);margin:40px 0 8px}.changelog-week{border-left:2px solid var(--border);margin-top:28px;padding-left:28px;position:relative}.changelog-week:before{content:"";background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:4px;left:-7px}.changelog-week-title{font-size:var(--type-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:600}.changelog-week ul{margin:0;padding-left:18px}.changelog-item{color:var(--text);margin:8px 0;line-height:1.6}@media (width<=640px){.changelog-week{padding-left:20px}.changelog-week ul{padding-left:16px}}.migrate .window code{font-size:inherit;color:inherit;overflow-wrap:normal;background:0 0;border:0;padding:0}.migrate .table-scroll{margin:0 0 28px}.migrate tbody th{width:34%;font-weight:600}.migrate td{color:var(--muted)}.migrate .table-scroll th code{white-space:nowrap;overflow-wrap:normal}.migrate .table-scroll+.checks{margin-top:56px}.migrate-list{color:var(--muted);font-size:var(--type-compact);margin:14px 0 0;padding-left:20px}.migrate-list li+li{margin-top:6px}.migrate-list li::marker{color:var(--accent)}.migrate .card h3:first-child{margin-top:0}.uc-hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}.uc-hero h1{font-size:var(--type-page)}.uc-hero .window pre{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;max-height:560px;overflow:auto}.product-nav{z-index:9;background:var(--header-bg);-webkit-backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--border);position:sticky;top:68px}.product-nav ul{scrollbar-width:none;gap:4px;margin:0;padding:10px 0;list-style:none;display:flex;overflow-x:auto}.product-nav a{border-radius:var(--radius-pill);color:var(--muted);font-size:var(--type-caption);white-space:nowrap;padding:6px 12px;font-weight:600;text-decoration:none;display:block}.product-nav a:hover,.product-nav a[aria-current]{color:var(--text);background:var(--surface-2)}.product-section{scroll-margin-top:54px}.feature{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:56px;display:grid}.feature.reverse{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.feature.reverse .feature-copy{order:2}.feature-copy h2{font-size:var(--type-headline);letter-spacing:-.035em;margin:0 0 14px;line-height:1.12}.feature-lede{color:var(--muted);font-size:var(--type-intro);margin:0 0 28px}.feature-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.feature-list>*{min-width:0;color:var(--text-2);font-size:var(--type-compact);padding-left:28px;position:relative}.feature-list>:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:11px;height:6px;position:absolute;top:.55em;left:2px;transform:rotate(-45deg)}.feature-list strong{color:var(--text);font-weight:600}.feature-more{font-size:var(--type-compact);flex-wrap:wrap;gap:4px 10px;margin:28px 0 0;font-weight:600;display:flex}.explore-link{margin-right:14px;text-decoration:none}.explore-link:hover{text-decoration:underline}@media (pointer:coarse){.explore-link{padding:9px 0;display:inline-block}}.feature-code{position:sticky;top:144px}.provider-matrix{position:relative}.provider-matrix table{min-width:900px}.provider-matrix tbody th{min-width:170px;color:var(--text);font-weight:700}.provider-matrix td{color:var(--text-2)}.provider-matrix .matrix-na{color:var(--muted)}.matrix-notes{color:var(--muted);font-size:var(--type-compact);gap:8px;margin:0;padding-left:22px;display:grid}.matrix-notes li::marker{color:var(--accent)}.product-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ea-select{display:block;position:relative}.ea-select:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:16px;transform:translateY(-70%)rotate(45deg)}.ea-select select{appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;font-weight:500;font-size:var(--type-compact);padding:11px 40px 11px 14px;transition:border-color .15s,box-shadow .15s}.ea-select select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring);outline:none}.field-row>.field{align-content:start}.choices{border:0;min-width:0;margin:0;padding:0}.choices legend{color:var(--text);font-size:var(--type-ui);margin-bottom:8px;padding:0;font-weight:600}.choices legend em{color:var(--muted);margin-left:6px;font-style:normal;font-weight:500}.choice-grid{flex-wrap:wrap;gap:10px;display:flex}.choice{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-2);font-size:var(--type-compact);cursor:pointer;user-select:none;align-items:center;gap:8px;padding:9px 16px;font-weight:600;line-height:1.2;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex;position:relative}.choice:hover{border-color:var(--accent);color:var(--text)}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice .choice-check{stroke-width:2.5px;opacity:0;width:0;height:16px;margin-right:-8px;transition:width .15s,margin .15s,opacity .15s}.choice:has(input:checked){border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.choice:has(input:checked) .choice-check{opacity:1;width:16px;margin-right:0}.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.form-errors{border:1px solid var(--status-error-border);border-left:3px solid var(--status-error);border-radius:var(--radius-lg);background:var(--status-error-soft);color:var(--text);padding:16px 18px}.form-errors h2{font-size:var(--type-body);letter-spacing:-.01em;margin:0 0 8px}.form-errors ul{font-size:var(--type-compact);margin:0;padding-left:20px}.form-errors li+li{margin-top:4px}.form-errors a{color:var(--status-error);font-weight:600}.field-error{color:var(--status-error);font-size:var(--type-caption);font-weight:600}.choices .field-error{margin-top:8px;display:block}.field.invalid input,.field.invalid textarea,.field.invalid select,.choices.invalid .choice{border-color:var(--status-error)}.ea-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.ea-step{padding-top:40px;position:relative}.ea-step:before{content:"";border:2px solid var(--accent);background:var(--bg);width:16px;height:16px;box-shadow:0 0 0 5px var(--accent-soft);border-radius:50%;position:absolute;top:4px;left:0}.ea-step:first-child:before{background:var(--accent)}.ea-step:not(:last-child):after{content:"";background:var(--border-strong);height:2px;position:absolute;top:11px;left:30px;right:-16px}.ea-when{color:var(--accent);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-weight:700;display:block}.ea-timeline .ea-step h3{font-size:var(--type-intro);margin:0 0 8px}.ea-timeline .ea-step p{color:var(--muted);font-size:var(--type-compact);margin:0}.ea-split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:56px;display:grid}.ea-split .section-head{margin-bottom:32px}.ea-checks{grid-template-columns:minmax(0,1fr);gap:20px}.ea-note{color:var(--muted);font-size:var(--type-compact);margin:32px 0 0}.crumbs{color:var(--muted);font-size:var(--type-caption);flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;font-weight:500;list-style:none;display:flex}.crumbs li+li:before{content:"/";opacity:.6;margin-right:8px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text)}.spec-table th code.uc-code{overflow-wrap:normal}.table-scroll.spec-table+.checks{margin-top:48px}.spec-wide table{min-width:760px}.ref-table td .uc-code{overflow-wrap:normal}.ref-table td .uc-code.keep{white-space:nowrap}.ref-table .table-group th{border-top:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--type-caption);font-weight:700}.compare-table{position:relative}.compare-table table{min-width:1080px}.compare-table tbody th[scope=row]{width:190px;color:var(--text)}.compare-table td{width:20%}.compare-table .mark,.mini-compare .mark{margin-bottom:2px;font-weight:500;display:flex}.cite{font-size:var(--type-label);white-space:nowrap;line-height:0}@media (pointer:coarse){.cite a{margin:-6px -4px;padding:6px 4px}}.compare-source-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.compare-vendor{font-size:var(--type-intro);margin:0 0 12px}.compare-sources{font-size:var(--type-compact);gap:8px;margin:0;padding:0;list-style:none;display:grid}.compare-source{text-indent:-38px;padding-left:38px;scroll-margin-top:96px}.compare-ref{text-indent:0;min-width:34px;color:var(--muted);font-weight:700;display:inline-block}@media (width<=860px){.compare-source-grid{grid-template-columns:minmax(0,1fr)}.compare-table table{min-width:900px}.compare-table tbody th[scope=row]{width:130px}}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:var(--type-ui)}.footer-grid{grid-template-columns:minmax(0,1.3fr) repeat(5,minmax(0,1fr));gap:40px;padding-top:56px;padding-bottom:40px;display:grid}.site-footer .tagline{color:var(--muted);font-family:var(--mono);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;margin:14px 0 0}.site-footer address{margin-top:18px;font-style:normal;line-height:1.6}.footer-title{color:var(--text);font-size:var(--type-caption);margin:4px 0 14px;font-weight:600}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:10px}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text)}@media (pointer:coarse){.site-footer a{padding:5px 0;display:inline-block}.site-footer li+li{margin-top:2px}}.footer-bottom{border-top:1px solid var(--border)}.footer-bottom .wrap{font-size:var(--type-caption);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:20px;padding-bottom:24px;display:flex}.footer-release{font-size:var(--type-caption);flex-wrap:wrap;gap:2px 8px;margin:14px 0 0;display:flex}.footer-release span{color:var(--text);font-weight:500}.footer-action{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.footer-action:hover{color:var(--text)}.footer-action[hidden]{display:none}@media (hover:none) and (pointer:coarse){.footer-action{display:none}}@media (width<=960px){.hero .wrap{grid-template-columns:minmax(0,1fr);gap:48px}.grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.doc,.signup{grid-template-columns:minmax(0,1fr);gap:32px}.toc{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);max-height:none;position:static}.toc summary{border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;margin:0;padding:0 20px;display:flex}.toc summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:8px;height:8px;transform:translateY(-2px)rotate(45deg)}.toc details[open] summary:after{transform:translateY(2px)rotate(-135deg)}.toc ol{margin:0 20px 20px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid>:first-child{grid-column:span 3}.feature,.feature.reverse{grid-template-columns:minmax(0,1fr);gap:40px}.feature.reverse .feature-copy{order:0}.feature-code{position:static}.ea-split{grid-template-columns:minmax(0,1fr);gap:40px}.ea-timeline{grid-template-columns:minmax(0,1fr)}.ea-step{padding:0 0 0 40px}.ea-step:before{top:2px}.ea-step:not(:last-child):after{width:2px;height:auto;inset:30px auto -20px 7px}}@media (width<=640px){.hero{padding:56px 0 64px}.section{padding:64px 0}.grid,.grid.two,.steps,.checks,.contact-grid,.field-row{grid-template-columns:minmax(0,1fr)}.form{padding:22px}.card.wide{grid-column:auto}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>:first-child{grid-column:span 2}.migrate .table-scroll thead{display:none}.migrate .table-scroll tr,.migrate .table-scroll tbody th,.migrate .table-scroll td{width:auto;display:block}.migrate .table-scroll tbody th{padding-bottom:4px}.migrate .table-scroll td{padding-top:0}.migrate .table-scroll tr+tr td{border-top:0}}@media (prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes fade{0%{opacity:0}}@keyframes drift{to{transform:translate(6%,10%)scale(1.08)}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-group(root){animation-duration:.2s}.hero .wrap>*,.page-head .wrap>*{animation:rise .7s var(--ease) backwards}.hero .wrap>:nth-child(2),.page-head .wrap>:nth-child(2){animation-delay:70ms}.hero .wrap>:nth-child(3),.page-head .wrap>:nth-child(3){animation-delay:.14s}.hero .wrap>:nth-child(4),.page-head .wrap>:nth-child(4){animation-delay:.21s}.hero .wrap>:nth-child(n+5),.page-head .wrap>:nth-child(n+5){animation-delay:.28s}.home-hero .demo{animation:rise .9s var(--ease) .3s backwards}.home-hero:after{content:"";z-index:-1;filter:blur(24px);pointer-events:none;background:radial-gradient(closest-side,light-dark(#2b4f8e24,#3a62a842),#0000);border-radius:50%;height:420px;animation:16s ease-in-out infinite alternate drift;position:absolute;inset:-80px 18% auto}.reveal{opacity:0}.reveal.reveal-in{opacity:1;animation:rise .65s var(--ease) var(--reveal-delay,0s) backwards}#demo-connect:checked~.demo-connect,#demo-send:checked~.demo-send,#demo-receive:checked~.demo-receive,#demo-meetings:checked~.demo-meetings,#demo-gov:checked~.demo-gov,#demo-book:checked~.demo-book{animation:.35s fade}.demo-tabs label{transition:color .15s}.button{transition:background-color .15s,border-color .15s,transform .15s,box-shadow .2s}.button.primary:hover{box-shadow:inset 0 -2px 0 #0000002e, 0 8px 18px -8px var(--ring);transform:translateY(-1px)}.button:active{transform:none}.button [aria-hidden=true],.pill [aria-hidden=true]{transition:transform .2s var(--ease);display:inline-block}.button:hover [aria-hidden=true],.pill:hover [aria-hidden=true]{transform:translate(3px)}.cell{isolation:isolate;position:relative}.cell:before{content:"";z-index:-1;background:radial-gradient(280px circle at var(--mx,50%) var(--my,0%), light-dark(#2b4f8e12,#8ea6d617), transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}@media (hover:hover){.cell:hover:before{opacity:1}}.cell h3 svg.icon{transition:transform .25s var(--ease), color .2s}.cell:hover h3 svg.icon{color:var(--accent);transform:translateY(-2px)}a.cell h3:after{transition:transform .25s var(--ease), color .2s}a.cell:hover h3:after{transform:translate(3px)}a.cell[href^=\#]:hover h3:after{transform:translateY(2px)}.site-header{transition:box-shadow .25s}:root[data-scrolled] .site-header{box-shadow:0 10px 28px -20px #00000080}.mobile-nav[open] .mobile-panel{animation:.2s fade}.mobile-nav[open] .mobile-group{animation:rise .35s var(--ease) backwards}.mobile-nav[open] .mobile-group:nth-child(2){animation-delay:50ms}.mobile-nav[open] .mobile-group:nth-child(3){animation-delay:.1s}@supports (animation-timeline:scroll()){.site-header:after{content:"";background:var(--primary);transform-origin:0;height:2px;animation:linear both grow;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}:root .site-header:after{animation-timeline:scroll(root)}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.cell,.button{transition:none}}
