.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:General Sans;src:url(/fonts/general-sans-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Gambetta;src:url(/fonts/gambetta-300-italic.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Gambetta;src:url(/fonts/gambetta-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #0a0a0a;--paper-2: #111111;--card: #151515;--ink: #f2f0eb;--graphite: #c9c6bf;--muted: #8f8b84;--line: rgb(242 240 235 / .1);--line-strong: rgb(242 240 235 / .24);--accent: #8ed3f8;--accent-hi: #b6e5fb;--accent-text: #a3dcf9;--on-accent: #0a0a0a;--night: #111111;--night-2: #101010;--on-night: #f2f0eb;--on-night-muted: #8f8b84;--line-night: rgb(242 240 235 / .1);--f-display: "General Sans", "Helvetica Neue", Arial, sans-serif;--f-serif: "Gambetta", "Iowan Old Style", Georgia, serif;--f-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--gutter: clamp(16px, 4vw, 56px);--gap: clamp(16px, 2vw, 28px);--max: 1440px;--hdr-h: 84px;--r-lg: clamp(20px, 2.2vw, 32px);--r-md: 18px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--spring: cubic-bezier(.34, 1.36, .5, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr-h) + 12px)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-sans);font-size:clamp(1rem,.96rem + .16vw,1.0625rem);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,picture,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}p,figure,dl,dd{margin:0}h1,h2,h3,h4{margin:0;font-weight:inherit}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.on-night :focus-visible{outline-color:var(--accent-hi)}.skip{position:fixed;left:12px;top:12px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--paper);transform:translateY(-160%);transition:transform .2s var(--ease)}.skip:focus-visible{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}.section{padding-block:clamp(96px,12vw,176px)}.on-night{background:var(--night);box-shadow:inset 0 0 0 1px var(--line-night);color:var(--on-night);--line: var(--line-night);--muted: var(--on-night-muted);--accent-text: var(--accent-hi)}.display{font-family:var(--f-display);font-weight:400;letter-spacing:-.035em;line-height:1}.italic{font-family:var(--f-serif);font-style:italic;font-weight:300;letter-spacing:-.02em;color:var(--graphite)}.accent{color:var(--accent)}.on-night .accent{color:var(--accent-hi)}.accent.italic{color:var(--accent)}.h1{font-size:clamp(2.8rem,.9rem + 7vw,8.4rem);line-height:.96;letter-spacing:-.045em;font-weight:400}.h2{font-size:clamp(2.3rem,1rem + 4.6vw,6rem)}.h3{font-size:clamp(1.8rem,1.1rem + 2.1vw,3.1rem);line-height:1}.mono{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}.muted{color:var(--muted)}.lede{font-size:clamp(1.06rem,.98rem + .42vw,1.3rem);line-height:1.55;color:var(--graphite);max-width:34em}.on-night .lede{color:var(--on-night)}.kicker{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:7px 14px 7px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffff08;color:var(--graphite);font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.on-night .kicker{background:#ffffff0a;color:var(--on-night)}.btn{--btn-bg: var(--ink);--btn-fg: var(--paper);--btn-hover: var(--accent);--btn-hover-fg: var(--on-accent);position:relative;display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 8px 0 24px;border:0;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-size:.95rem;font-weight:500;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--spring)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--btn-hover);border-radius:inherit;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease)}.btn:hover:before,.btn:focus-visible:before{transform:scale(1);transform-origin:left}.btn:hover,.btn:focus-visible{color:var(--btn-hover-fg)}.btn:active{transform:scale(.97)}.btn__ico{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#00000014;overflow:hidden}.btn--dark{--btn-bg: rgb(255 255 255 / .08);--btn-fg: var(--ink);--btn-hover: var(--ink);--btn-hover-fg: var(--paper);box-shadow:inset 0 0 0 1px var(--line)}.btn--dark .btn__ico{background:#ffffff14}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--ink);--btn-hover: var(--ink);--btn-hover-fg: var(--paper);box-shadow:inset 0 0 0 1px var(--line-strong);padding-right:24px}.btn--ghost .btn__ico{display:none}.on-night .btn--ghost{--btn-fg: var(--on-night);--btn-hover: var(--on-night);--btn-hover-fg: var(--night);box-shadow:inset 0 0 0 1px var(--line-night)}.btn--light{--btn-bg: var(--on-night);--btn-fg: var(--night);--btn-hover: var(--accent);--btn-hover-fg: var(--on-accent)}.btn--light .btn__ico{background:#00000014}.btn--sm{min-height:44px;padding-left:18px;font-size:.875rem;gap:10px}.btn--sm .btn__ico{width:30px;height:30px}.btn--sm.btn--ghost{padding-right:18px}.arrow{width:1.05em;height:1.05em;flex:none;overflow:visible;transition:transform .45s var(--ease)}.btn__ico .arrow{animation:none}.btn:hover .btn__ico .arrow,.btn:focus-visible .btn__ico .arrow{animation:arrow-loop .55s var(--ease)}@keyframes arrow-loop{0%{transform:translate(0)}45%{transform:translate(140%);opacity:0}46%{transform:translate(-140%);opacity:0}to{transform:translate(0);opacity:1}}.btn__ico .arrow--ne{animation:none}.btn:hover .btn__ico .arrow--ne,.btn:focus-visible .btn__ico .arrow--ne{animation:arrow-loop-ne .55s var(--ease)}@keyframes arrow-loop-ne{0%{transform:translate(0)}45%{transform:translate(120%,-120%);opacity:0}46%{transform:translate(-120%,120%);opacity:0}to{transform:translate(0);opacity:1}}.link:hover .arrow,.link:focus-visible .arrow{transform:translate(4px)}.link:hover .arrow--ne,.link:focus-visible .arrow--ne{transform:translate(3px,-3px)}.link{display:inline-flex;align-items:center;gap:8px;padding-block:6px;font-size:.95rem;font-weight:500;background:linear-gradient(currentColor,currentColor) 0 100% / 100% 1px no-repeat;transition:background-size .45s var(--ease),color .3s}.link:hover,.link:focus-visible{color:var(--accent-text);background-size:0% 1px;background-position:100% 100%}.pill{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:.8rem;color:var(--graphite);background:var(--card)}.on-night .pill{background:transparent;color:var(--on-night)}.hdr{position:fixed;inset:0 0 auto;z-index:50;padding-top:14px;transition:transform .5s var(--ease);pointer-events:none}.hdr.is-hidden{transform:translateY(-110%)}.hdr__in{pointer-events:auto;height:58px;display:flex;align-items:center;gap:20px;padding:0 8px 0 20px;border-radius:999px;border:1px solid transparent;transition:background-color .4s,border-color .4s,box-shadow .4s,backdrop-filter .4s}.hdr.is-scrolled .hdr__in,.menu-open .hdr__in{background:#101010b8;backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-color:var(--line);box-shadow:0 10px 30px -18px #000c}.brand{display:block;margin-right:auto}.brand img{width:auto;height:52px}.hdr__nav{display:flex;gap:2px;position:absolute;left:50%;transform:translate(-50%)}.hdr__nav a{position:relative;padding:8px 14px;border-radius:999px;font-size:.9rem;color:var(--graphite);transition:color .3s,background-color .3s}.hdr__nav a:hover{color:var(--ink);background:#ffffff0f}.hdr__nav a[aria-current=true]{color:var(--ink);background:#ffffff14}.hdr__menu{display:none;align-items:center;gap:10px;height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.875rem;font-weight:500;cursor:pointer}.hdr__burger{position:relative;width:16px;height:8px}.hdr__burger:before,.hdr__burger:after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}.hdr__burger:before{top:0}.hdr__burger:after{top:6.5px}.hdr__menu[aria-expanded=true] .hdr__burger:before{top:3.25px;transform:rotate(45deg)}.hdr__menu[aria-expanded=true] .hdr__burger:after{top:3.25px;transform:rotate(-45deg)}.menu{position:fixed;inset:0;z-index:40;padding:calc(var(--hdr-h) + 24px) var(--gutter) 28px;background:var(--paper);display:flex;flex-direction:column;overflow-y:auto;visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0 round 0 0 32px 32px);transition:clip-path .6s var(--ease-in-out),opacity .3s,visibility 0s .6s}.menu.is-open{visibility:visible;opacity:1;clip-path:inset(0 0 0 0 round 0);transition:clip-path .6s var(--ease-in-out),opacity .2s,visibility 0s}.menu__list a{display:flex;align-items:baseline;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-size:clamp(2.4rem,11vw,3.6rem);font-weight:400;letter-spacing:-.04em;line-height:1}.menu__list a span{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted)}.menu__foot{margin-top:auto;padding-top:40px;display:grid;gap:20px}.menu__foot .btn{justify-content:space-between;width:100%}.menu-open{overflow:hidden}@media(max-width:960px){:root{--hdr-h: 76px}.hdr__nav,.hdr__cta{display:none}.hdr__menu{display:inline-flex}.hdr__in{padding-right:7px}}.browser{position:relative;background:#1b1b1b;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px #ffffff14,0 50px 100px -40px #000000e6,0 16px 32px -20px #0009}.browser__bar{display:flex;align-items:center;gap:12px;height:clamp(22px,2.1vw,32px);padding:0 12px;background:#1b1b1b;border-bottom:1px solid rgb(255 255 255 / .06);color:#8f8b84;font-family:var(--f-mono);font-size:clamp(.5rem,.6vw,.66rem);letter-spacing:.02em}.browser__dots{display:flex;gap:5px}.browser__dots i{width:7px;height:7px;border-radius:50%;background:#ffffff29}.browser__url{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:34px}.browser__view{overflow:hidden;aspect-ratio:16 / 10;background:#eee}.browser__view img{width:100%;height:100%;object-fit:cover;object-position:top}.phone{position:relative;padding:6px;background:#1a1a1a;border-radius:32px;box-shadow:0 0 0 1px #ffffff1f inset,0 40px 60px -30px #000c,0 14px 24px -14px #00000080}.phone__view{overflow:hidden;border-radius:26px;aspect-ratio:390 / 844;background:#222}.phone__view img{width:100%;height:100%;object-fit:cover;object-position:top}.zoom img{transition:transform 1.2s var(--ease);transform-origin:50% 0}.zoom:hover img,.zoom:focus-visible img{transform:scale(1.04)}@media(prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transform:translate3d(0,32px,0);filter:blur(6px);transition:opacity 1s var(--ease),transform 1.2s var(--ease),filter 1s var(--ease);transition-delay:calc(var(--d, 0) * 1ms)}.js [data-reveal=fade]{transform:none}.js [data-reveal=media]{transform:translate3d(0,56px,0) scale(.98);filter:none}.js [data-reveal].is-in{opacity:1;transform:none;filter:none}.js .split .w>span{display:inline-block;transform:translate3d(0,110%,0) rotate(4deg);transform-origin:0 100%;transition:transform 1.1s var(--ease);transition-delay:calc(var(--i) * 50ms + var(--d, 0) * 1ms)}.js .split.is-in .w>span{transform:none}}.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}.split .w>span{display:inline-block}.gf-root{font-family:var(--f-sans)!important}.gf-root .gf-title{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;font-size:20px}.gf-root[data-tone=dark]{--gf-ink: var(--ink)}.gf-root .gf-meta,.gf-root .gf-sheet-meta{font-family:var(--f-mono)}.gf-root .gf-sheet:focus-visible{outline-color:var(--accent)}@keyframes vt-out{to{opacity:0;transform:translateY(-16px) scale(.99)}}@keyframes vt-in{0%{opacity:0;transform:translateY(22px)}}::view-transition-old(root){animation:vt-out .35s var(--ease-in-out) both}::view-transition-new(root){animation:vt-in .65s var(--ease) .08s both}::view-transition-group(*){animation-duration:.75s;animation-timing-function:var(--ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.float{position:fixed;right:clamp(14px,2vw,28px);bottom:calc(clamp(14px,2vw,28px) + env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:12px;min-height:60px;padding:8px 22px 8px 10px;border-radius:999px;background:#25d366;color:#06230f;box-shadow:0 14px 34px -10px #25d366a6,0 2px 8px #0006;line-height:1.15;transition:transform .45s var(--spring),opacity .3s,visibility .3s}.float:hover{transform:translateY(-3px)}.float__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffff47}.float__ico svg{width:25px;height:25px}.float__text{display:grid}.float strong{font-family:var(--f-display);font-size:1.05rem;font-weight:600;letter-spacing:-.015em}.float small{font-size:.76rem;font-weight:500}.float.is-away,.menu-open .float{opacity:0;visibility:hidden;transform:translateY(12px)}@media(prefers-reduced-motion:no-preference){.float__ico{animation:float-pulse 2.6s ease-out infinite}}@keyframes float-pulse{0%{box-shadow:0 0 #ffffff8c}70%,to{box-shadow:0 0 0 13px #fff0}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.ftr.astro-sz7xmlte{margin:clamp(8px,1.2vw,16px);border-radius:var(--r-lg);overflow:hidden}.ck.astro-uz2wdcl7{position:fixed;left:16px;bottom:16px;z-index:60;display:grid;gap:14px;width:min(400px,calc(100vw - 32px));padding:18px;border:1px solid var(--line-strong);border-radius:14px;background:var(--card);color:var(--ink);font-size:14px;line-height:1.5}.ck.astro-uz2wdcl7[hidden]{display:none}.ck.astro-uz2wdcl7 p.astro-uz2wdcl7{margin:0}.ck__actions.astro-uz2wdcl7{display:flex;gap:8px;justify-content:flex-end}.ck__btn.astro-uz2wdcl7{min-height:44px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-weight:500;cursor:pointer}.ck__btn--ok.astro-uz2wdcl7{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
