@font-face{font-family:Geologica;font-style:normal;font-weight:100 900;font-display:swap;src:url(/media/fonts/geologica-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geologica;font-style:normal;font-weight:100 900;font-display:swap;src:url(/media/fonts/geologica-cyrillic-variable.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Iva Hand;font-style:normal;font-weight:600;font-display:swap;src:url(/media/fonts/caveat-cue-latin-600.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Iva Hand;font-style:normal;font-weight:600;font-display:swap;src:url(/media/fonts/caveat-cue-cyrillic-600.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--canvas:#fbfcf8;--ink:#17251f;--muted:#536258;--panel:#f0f3eb;--line:#dce2d6;--leaf:#a4dc55;--leaf-hover:#b0e46b;--leaf-pressed:#95ce48;--leaf-tint:#e8f2db;--leaf-ink:#659f14;--blue:#368ad2;--link:#2468a8;--font:"Geologica", "Avenir Next", sans-serif;--font-hand:"Iva Hand", "Caveat", "Segoe Print", cursive;--display:clamp(44px, 4.3vw, 62px);--heading:clamp(30px, 2.8vw, 40px);--subheading:24px;--body:17px;--small:14px;--gutter:48px;--section-space:96px;font-family:var(--font);color:var(--ink);background:var(--canvas);font-synthesis:none;scroll-behavior:smooth;scrollbar-color:var(--blue) var(--panel);accent-color:var(--blue);font-size:16px;font-weight:350;line-height:1.6}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--link);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:var(--leaf);color:var(--ink)}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,ul,ol,figure{margin-top:0}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;font-weight:650}h1,h2{letter-spacing:-.03em;font-weight:700}h1{font-size:var(--display);margin-bottom:28px;line-height:1.07}h2{font-size:var(--heading);margin-bottom:24px;line-height:1.12}h3{font-size:var(--subheading);line-height:1.2}p{text-wrap:pretty;margin-bottom:24px}code,pre{font-family:Menlo,Consolas,monospace;font-size:.85em}code{overflow-wrap:anywhere}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.section{width:100%;max-width:1280px;padding:var(--section-space) var(--gutter);margin:auto;scroll-margin-top:32px;position:relative}.legacy-anchor{width:1px;height:1px;scroll-margin-top:32px;position:absolute;top:0;left:0}.text-link{font-size:var(--small);font-weight:600}.button{background:var(--leaf);min-height:56px;color:var(--ink);border:0;border-radius:10px;justify-content:center;align-items:center;padding:16px 26px;font-size:16px;font-weight:700;line-height:1.35;text-decoration:none;transition:background-color .16s,transform .16s;display:inline-flex}.button:hover{background:var(--leaf-hover);color:var(--ink);text-decoration:none}.button:active{background:var(--leaf-pressed);transform:translateY(1px)}.button.small{min-height:44px;padding:11px 18px;font-size:14px}.button.secondary{min-height:48px;color:var(--link);text-underline-offset:.24em;background:0 0;border-radius:0;padding:0;text-decoration:underline}.button.secondary:hover{color:var(--ink);background:0 0}.header{max-width:1376px;min-height:76px;padding:8px var(--gutter);justify-content:space-between;align-items:center;gap:28px;margin:auto;font-size:14px;font-weight:600;display:flex}.logo{flex:none;display:block}.logo .full-logo{width:104px;height:auto}.mobile-mark{display:none}.header nav,.header-actions{align-items:center;gap:24px;display:flex}.header a{color:var(--ink);text-decoration:none}.header a:hover{color:var(--link)}.header .github{justify-content:center;align-items:center;gap:7px;min-height:44px;display:inline-flex}.header .github svg{fill:currentColor}.mobile-toggle,.mobile-nav{display:none}.hero{--hero-phone-width:clamp(280px, calc((100svh - 176px) * 434 / 890), 388px);grid-template-columns:minmax(0, 1fr) var(--hero-phone-width);align-items:center;column-gap:88px;padding-top:20px;padding-bottom:80px;display:grid}.hero-copy{min-width:0;margin-bottom:44px}.hero-heading,.hero-intro{z-index:1;position:relative}.hero-heading{max-width:10.4em;font-size:var(--display);letter-spacing:-.035em;margin:0 0 28px;line-height:1.06}.hero-heading span{display:block}.hero-intro{max-width:560px}.hero-intro .lead{letter-spacing:-.012em;max-width:40ch;margin:0 0 28px;font-size:18px;line-height:1.5}.actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}main{overflow-x:clip}html:is([data-intro=play],[data-intro=fly]) :is(.header,.hero-heading,.hero-intro,.hero~*,.consent,.footer){opacity:0}html[data-intro=land] .hero-heading{--rise:14px;animation:.8s cubic-bezier(.22,1,.36,1) .12s both iva-intro-rise}html[data-intro=land] .hero-intro{--rise:6px;animation:.7s cubic-bezier(.22,1,.36,1) .22s both iva-intro-rise}html[data-intro=land] :is(.header,.consent){animation:.6s cubic-bezier(.22,1,.36,1) .3s both iva-intro-fade}@keyframes iva-intro-rise{0%{opacity:0;transform:translateY(var(--rise))}}@keyframes iva-intro-fade{0%{opacity:0}}.hero-visual{width:var(--hero-phone-width);justify-self:end;min-width:0}.use-cases{padding-top:40px;padding-bottom:76px}.usecase-rows{gap:84px;display:grid}.usecase-row{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:64px;scroll-margin-top:36px;display:grid}.case-copy{grid-area:1/2;min-width:0}.case-copy h2{max-width:18ch;font-size:var(--heading);margin:0 0 20px;line-height:1.13}.case-copy p{max-width:35ch;color:var(--muted);font-size:var(--body);margin:0;line-height:1.55}.case-art{mix-blend-mode:multiply;grid-area:1/1;min-width:0;display:block}.case-art img{aspect-ratio:4/3;object-fit:contain;width:100%;height:auto}.usecase-row:nth-child(2n){grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}.usecase-row:nth-child(2n) .case-copy{grid-column:1}.usecase-row:nth-child(2n) .case-art{grid-column:2}.connections{padding-top:64px;padding-bottom:88px}.connections-copy{grid-template-columns:1fr 1fr;gap:14px 64px;display:grid}.connections-copy h2{grid-area:1/1/3;max-width:20ch;margin:0}.connections-copy p{max-width:42ch;font-size:var(--body);color:var(--muted);grid-column:2;margin:0}.connections-copy .text-link{grid-column:2;justify-self:start}.connection-rows{--size:60px;gap:20px;margin:52px calc(50% - 50vw) 0;display:grid}.connection-row{height:calc(var(--size) + 16px);justify-content:center;gap:26px;padding-block:8px;display:flex;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.connection-rows[data-moving] .connection-row{mask-image:none}.connection-rows[data-moving] .connection-mark{will-change:transform, opacity;position:absolute;top:8px;left:0}.connection-mark{width:var(--size);height:var(--size);background:var(--tile);color:var(--mark);border-radius:28%;flex:none;place-items:center;display:grid;box-shadow:0 2px 9px #122c201f,0 0 0 1px #122c200f}.connection-mark svg{width:calc(var(--size) * .52);height:calc(var(--size) * .52)}.connection-mark.is-wide svg{width:calc(var(--size) * .66)}.price{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:64px;padding-top:72px;padding-bottom:88px;display:grid}.price h2{letter-spacing:-.045em;max-width:10ch;margin:0 0 26px;font-size:clamp(56px,6.2vw,88px);line-height:.98}.price-free{color:var(--leaf-ink)}.price-forever{color:var(--blue)}.price-note{max-width:46ch;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.install-band{background:var(--leaf-tint);scroll-margin-top:20px}.install{text-align:center;padding-top:72px;padding-bottom:72px}.install h2{max-width:24ch;margin:0 auto 22px}.install>p{max-width:57ch;color:var(--muted);font-size:var(--body);margin:0 auto 30px}.install-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 28px;display:flex}.faq{padding-top:40px;padding-bottom:32px}.faq-group{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:24px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq-heading{min-height:76px;align-items:center!important}.faq h2{letter-spacing:-.025em;margin:0;font-size:26px;line-height:1.25}.faq-list{max-width:840px;margin-left:auto;padding-bottom:20px}.faq-list details{padding:17px 0}.faq-question{letter-spacing:-.01em;min-height:44px;font-size:19px;font-weight:600;line-height:1.4}.faq details p{color:var(--muted);margin:10px 36px 0 0;font-size:17px;line-height:1.6}.faq-toggle{width:16px;height:16px;color:var(--blue);flex:none;position:relative}.faq-toggle:before,.faq-toggle:after{content:"";background:currentColor;position:absolute}.faq-toggle:before{width:16px;height:2px;top:7px;left:0}.faq-toggle:after{width:2px;height:16px;top:0;left:7px}.faq details[open]>summary>.faq-toggle:after{display:none}.skip{z-index:10;background:var(--canvas);padding:14px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}.testimonials{padding-top:40px;padding-bottom:72px}.reviews{columns:3 300px;background:#dfe9cf;border-radius:28px;column-gap:22px;padding:30px}.review{break-inside:avoid;align-items:flex-end;gap:10px;margin:0 0 18px;display:flex}.review-avatar{background:var(--hue);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:17px;font-weight:650;display:grid}.review-bubble{background:#fff;border-radius:18px 18px 18px 6px;min-width:0;padding:9px 14px 8px;box-shadow:0 1px 1.5px #1e321e24}.review-name{color:var(--hue);filter:brightness(.86);font-size:15px;font-weight:650;line-height:1.35}.review blockquote{color:var(--ink);text-wrap:pretty;margin:3px 0 4px;font-size:16.5px;line-height:1.45}.review-source{color:#8a9a8f;text-align:right;font-size:12.5px;text-decoration:none;display:block}.review-source:hover{color:var(--link)}@media (width<=760px){.testimonials{padding-top:16px;padding-bottom:44px}.reviews{border-radius:22px;padding:18px 14px 4px}.review{margin-bottom:14px}.review-avatar{width:34px;height:34px;font-size:15px}.review blockquote{font-size:16px}}.prose{overflow-wrap:anywhere;max-width:940px;min-height:60vh;padding-top:55px}.prose h1{font-size:48px}.prose h2{margin-top:50px;font-size:32px}.prose h3{margin-top:32px;font-size:24px}.prose pre{background:var(--panel);border-radius:10px;padding:20px;overflow:auto}.prose pre code{overflow-wrap:normal}.prose table{border-collapse:collapse;font-size:14px;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:10px}.prose img{height:auto}.prose li{margin-bottom:8px}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:30px;font-size:14px;display:flex}.prose .raw{margin-top:40px;font-size:14px;display:block}.about-links{margin:20px 0 40px}.back{font-size:15px}.consent{z-index:20;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff5;justify-content:center;align-items:center;gap:8px;font-size:13px;line-height:1.3;display:flex;position:fixed;inset:auto 0 0}.consent[hidden]{display:none}.consent p{min-width:0;margin:0 8px 0 0}.consent-button{border:1px solid var(--line);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:6px;flex:none;padding:0 12px;font-weight:600}.consent-button.is-yes{border-color:var(--ink);background:var(--ink);color:#fff}.prose{font-size:18px}@media (width<=1150px) and (width>=961px){:root{--gutter:36px;--display:clamp(52px, 4.8vw, 58px)}.header{gap:20px}.header nav{gap:18px}.header-actions{gap:16px}.header .github span{display:none}.hero{column-gap:56px}}@media (width<=960px){:root{--gutter:28px;--section-space:76px;--heading:38px}.header{gap:12px;min-height:72px}.header nav,.header-actions .language,.header .github span{display:none}.header-actions{order:2;gap:8px;margin-left:auto}.header .github{border-radius:8px;width:44px;min-height:44px;display:inline-flex}.header .github:hover{background:var(--panel)}.header .github svg{width:22px;height:22px}html.js .mobile-toggle{background:var(--panel);border:0;border-radius:8px;flex:none;order:3;place-items:center;width:44px;height:44px;padding:10px;display:grid}.mobile-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:23px;height:23px}.mobile-toggle .menu-close-icon,.mobile-toggle[aria-expanded=true] .menu-open-icon{display:none}.mobile-toggle[aria-expanded=true] .menu-close-icon{display:block}html:not(.js) .mobile-nav,.mobile-nav.is-open{margin:0 var(--gutter) 20px;background:var(--panel);padding:8px 22px 16px;display:block}.mobile-nav-links{display:grid}.mobile-nav-links a{min-height:54px;color:var(--ink);align-items:center;padding:12px 0;font-size:22px;font-weight:600;line-height:1.3;text-decoration:none;display:flex}.mobile-nav-links a:hover{color:var(--link)}.mobile-nav-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:24px;padding-top:14px;font-size:14px;display:flex}.mobile-nav-footer a{min-height:44px;color:var(--ink);align-items:center;font-weight:600;display:flex}.hero{--hero-phone-width:min(388px, calc(100vw - 44px));flex-direction:column;align-items:center;gap:24px;padding-top:24px;padding-bottom:64px;display:flex}.hero-copy{display:contents}.hero-heading{order:0;width:100%;max-width:650px;margin:0;font-size:46px}.hero .hero-visual{width:var(--hero-phone-width);order:1;justify-self:auto;max-width:calc(100vw - 44px)}.hero .hero-visual .v7-demo{width:100%;max-width:100%}.hero-intro{order:2;width:100%;max-width:650px;margin-top:8px}.hero-intro .lead{max-width:46ch}.usecase-row,.usecase-row:nth-child(2n){gap:36px}.case-copy h2{font-size:36px}.connections-copy{gap:28px 36px}}@media (width<=760px){.use-cases{padding-top:32px;padding-bottom:56px}.usecase-rows{gap:48px}.usecase-row,.usecase-row:nth-child(2n){flex-direction:column;align-items:stretch;gap:18px;display:flex}.case-copy h2{max-width:21ch;margin-bottom:16px;font-size:32px}.case-copy p{max-width:48ch;font-size:18px}.case-art{width:100%}.connections-copy{display:block}.connections-copy h2{max-width:21ch;margin-bottom:20px}.connections-copy p{max-width:48ch;margin-bottom:16px}.price{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:56px}.price h2{font-size:clamp(44px,13.5vw,64px)}}@media (width<=600px){:root{--gutter:22px;--section-space:56px;--display:clamp(29px, 8.3vw, 34px);--heading:26px;--subheading:28px;--body:18px;--small:16px}.header{gap:8px;min-height:66px;padding:7px 14px}.logo .full-logo{width:90px}.header-actions{gap:4px}.header .button.small{padding:12px 10px;font-size:12.5px}.hero{--hero-phone-width:min(360px, calc(100vw - 44px));gap:18px;padding-top:14px;padding-bottom:64px}.hero-heading{max-width:100%;font-size:min(40px, calc((100vw - 2 * var(--gutter)) / 10.3));letter-spacing:-.035em;line-height:1.04}.hero-intro{margin-top:10px}.hero-intro .lead{margin-bottom:24px;font-size:18px;line-height:1.55}.hero .actions{align-items:flex-start;gap:12px}.hero .actions .button{min-height:54px;padding-inline:24px}.case-copy h2{font-size:30px;line-height:1.15}.case-copy p{font-size:17px;line-height:1.55}.connections{padding-top:40px;padding-bottom:56px}.connection-rows{--size:50px;gap:14px;margin-top:34px}.connection-row{gap:18px}.install{text-align:left;padding-top:44px;padding-bottom:44px}.install h2{max-width:23ch;margin:0 0 20px}.install>p{margin:0 0 26px;font-size:17px}.install-actions{flex-direction:column;align-items:stretch;gap:12px}.install-actions .text-link{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.faq{padding-top:28px;padding-bottom:24px}.faq h2{font-size:23px}.faq-heading{min-height:68px}.faq-question{font-size:17px}.faq details p{margin-right:20px;font-size:16px}.prose h1{font-size:38px}.prose h2{font-size:29px}.prose{padding-top:35px}.prose pre{padding:14px;font-size:13px}.prose table{max-width:100%}.consent{font-size:12px}.consent p{flex:1}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.footer[data-astro-cid-jo6i4kqk]{--wave:150px;font-size:13px;line-height:1.45;position:relative;overflow:hidden}.footer-wave[data-astro-cid-jo6i4kqk]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.footer-inner[data-astro-cid-jo6i4kqk]{max-width:1280px;padding:48px var(--gutter) calc(var(--wave) + 12px);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:32px 64px;margin:auto;display:grid;position:relative}.footer-brand[data-astro-cid-jo6i4kqk]{justify-self:start;padding:2px 0}.footer-brand[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{width:96px;height:auto;display:block}.footer-links[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,max-content);gap:24px 56px;display:grid}.footer-title[data-astro-cid-jo6i4kqk]{color:#66746c;margin:0 0 10px;font-size:12px}.footer-group[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:7px;margin:0;padding:0;list-style:none;display:grid}.footer-group[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.footer-group[data-astro-cid-jo6i4kqk] .analytics-settings{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:none}.footer-base[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);color:#66746c;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:6px 24px;padding-top:18px;font-size:12px;display:flex}.footer-base[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}.footer-base[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink);text-decoration:none}.footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.footer-group[data-astro-cid-jo6i4kqk] .analytics-settings:hover{color:var(--link);text-decoration:none}@media (width<=760px){.footer[data-astro-cid-jo6i4kqk]{--wave:110px}.footer-inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr;gap:24px;padding-top:28px}.footer-links[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,max-content);gap:22px 40px}.footer-base[data-astro-cid-jo6i4kqk]{flex-direction:column}}
