body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100dvh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}a{color:inherit;-webkit-tap-highlight-color:transparent}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--color-white: #ffffff;--color-off-white: #f6f6f8;--color-ink: #0a0a14;--color-line: #e4e4ea;--color-muted: #6e6e7a;--color-dark: #08080f;--color-off-dark: #11111b;--color-blue: #251fb6;--color-blue-hsl: hsl(242, 71%, 42%);--color-off-blue: #eeedf8;--glass: rgba(255, 255, 255, .7);--color-light-gray: #b6b6bc;--color-gray: #737378;--header: var(--glass);--font-headline: "Stack Sans Headline", -apple-system, BlinkMacSystemFont, sans-serif;--font-text: "Stack Sans Text", -apple-system, BlinkMacSystemFont, sans-serif;--font-accent: "JetBrains Mono", ui-monospace, monospace;--max-w: 1440px;--pad: 3rem;--border-radius: 1.5rem;--rounded: 9999px;--color-error: hsl(6, 63%, 46%);--color-warning: hsl(41, 87%, 37%);--color-info: var(--color-blue-hsl);--color-success: hsl(120, 50%, 40%);--color-error-muted: hsl(6, 63%, 94%);--color-warning-muted: hsl(41, 87%, 94%);--color-info-muted: hsl(242, 71%, 94%);--color-success-muted: hsl(120, 50%, 94%);--primary-bg: var(--color-off-white);--secondary-bg: var(--color-white);--primary-content: var(--color-ink);--secondary-content: var(--color-muted);--accent: var(--color-blue);--light-accent: #5b52ff;--accent-content: var(--color-white);--logo-text: var(--color-ink);--logo-mark: var(--accent);--input-label: var(--color-muted);--input-bg: var(--color-white);--input-placeholder: var(--color-light-gray);--card-spotlight-color: color-mix(in srgb, var(--accent) 5%, transparent);--card-border-hover: color-mix(in srgb, var(--accent) 20%, transparent);--transition: .2s ease-in-out;color-scheme:light;interpolate-size:allow-keywords}[data-theme=dark]{--color-line: #2f2f38;--color-muted: rgba(244, 244, 247, .5);--color-blue: #5b52ff;--glass: rgba(15, 15, 25, .55);--secondary-bg: var(--color-off-dark);--primary-bg: var(--color-dark);--primary-content: var(--color-off-white);--secondary-content: var(--color-muted);--accent: var(--color-blue);--light-accent: var(--accent);--accent-content: var(--color-white);--logo-text: var(--color-off-white);--logo-mark: var(--color-blue);--input-label: var(--color-muted);--input-bg: var(--color-white);--input-placeholder: var(--color-gray);--card-spotlight-color: color-mix(in srgb, var(--accent) 12%, transparent);--card-border-hover: color-mix(in srgb, var(--accent) 35%, transparent);--color-error: hsl(6, 63%, 94%);--color-warning: hsl(41, 87%, 87%);--color-info: hsl(242, 71%, 84%);--color-success: hsl(120, 50%, 40%);--color-error-muted: hsl(6, 63%, 14%);--color-warning-muted: hsl(41, 87%, 14%);--color-info-muted: hsl(242, 71%, 14%);--color-success-muted: hsl(120, 50%, 14%);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-text);color:var(--primary-content);font-size:15px;line-height:1.65;background:var(--primary-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s,color .3s}body{position:relative;&:after{content:"";position:absolute;top:0;left:0;right:0;height:10rem;z-index:1;background:var(--primary-bg)}}a{color:inherit;text-decoration:none}button{font-family:inherit}em{font-style:normal;color:var(--accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline)}p{margin:0 0 1.5rem}::-moz-selection{background:var(--color-blue-hsl);color:var(--color-white);text-shadow:none}::selection{background:var(--color-blue-hsl);color:var(--color-white);text-shadow:none}.tag{color:var(--color-muted);display:inline-block;font-family:var(--font-accent);font-size:.75rem;letter-spacing:.06em;margin-bottom:1.5rem;text-transform:uppercase;line-height:1}.title{font-family:var(--font-headline);font-size:clamp(2.25rem,6vw,7rem);font-weight:500;letter-spacing:-.035em;line-height:.95;margin:0 0 1.5rem;text-wrap:balance;em{color:var(--accent)}}h3.title{font-size:clamp(2.5rem,4vw,5rem)}.title--hero{font-size:clamp(3rem,10vw,9rem);margin-bottom:2rem;text-shadow:0 0 2px var(--secondary-bg)}.sub{font-size:1.125rem;line-height:1.65;letter-spacing:-.01em;color:var(--primary-content);max-width:600px;margin:0}.sub--hero{font-size:clamp(1rem,1.45vw,1.45rem);line-height:1.5;margin:0 0 3rem}@supports (font-size: if(style(--x: a): 1px; else: 2px)){.title--hero{--title-size: hero}.title{font-size:if(style(--title-size: hero): clamp(2.5rem,10vw,9rem) ; else: clamp(2.25rem,6vw,7rem));margin:0 0 if(style(--title-size: hero): 2rem; else: 1.5rem)}.sub--hero{--sub-size: hero}.sub{font-size:if(style(--sub-size: hero): clamp(1rem,1.45vw,1.45rem) ; else: 1.125rem);line-height:if(style(--sub-size: hero): 1.5; else: 1.65);margin:if(style(--sub-size: hero): 0 0 3rem; else: 0)}}.section{padding:calc(var(--pad) * 3) var(--pad)}.section__header{margin-bottom:1.5rem}.section__info{display:flex;justify-content:space-between;align-items:last baseline;gap:2rem}.list{border-top:1px solid var(--color-line);font-family:var(--font-accent);font-size:.75rem;list-style:none;margin:2rem 0 0;padding:1.5rem 0 0;text-transform:uppercase}.list li{align-items:center;display:flex;gap:1rem;padding:.25rem 0}.arrow-link{font-family:var(--font-accent);font-size:.8725rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink);padding-bottom:.25rem;transition:color .2s,gap .2s;position:relative;display:flex;align-items:center;gap:.25rem;&:after{content:"→";transition:transform .2s cubic-bezier(.23,1,.32,1)}&:before{content:"";position:absolute;bottom:-1px;right:0;width:100%;height:1px;background:var(--color-ink);transform:scaleX(1);transition:width .2s cubic-bezier(.23,1,.32,1),background .2s}&:hover{color:var(--accent);&:after{transform:translate(2px)}&:before{width:0;background:var(--accent)}}}.dot{display:inline-block;width:8px;height:8px;border-radius:var(--rounded);background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 18%,transparent)}}.bg--primary{background:var(--primary-bg)}.bg--secondary{background:var(--secondary-bg)}.bg--primary.inverted,.bg--secondary.inverted{background:var(--primary-content)}.text--3\/4{font-size:.75rem}.text--l{font-size:1.5rem}.text--medium{font-weight:500}.text--muted{color:var(--color-muted)}.text--content{color:var(--primary-content)}.text--accent{color:var(--accent)}.font--accent{font-family:var(--font-accent)}.uppercase{text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.align-right{text-align:right}.content{position:relative;z-index:2;background:var(--primary-bg);padding-top:1rem;margin-bottom:var(--footer-h, 0)}.border{border:1px solid var(--color-line)}.border-top{border-top:1px solid var(--color-line)}.border-bottom{border-bottom:1px solid var(--color-line)}@media(max-width:900px){:root{--pad: 1rem}}.container{width:100%;max-width:var(--max-w);margin-left:auto;margin-right:auto}.btn{background:var(--accent);color:var(--accent-content);border:1px solid var(--accent);transition:background .2s,color .2s,border-color .2s,transform .16s cubic-bezier(.23,1,.32,1);font-size:14px;border-radius:var(--rounded);line-height:1.5;padding:1rem 1.5rem;display:inline-flex;align-items:center;gap:.5rem;&:active{transform:scale(.97)}& span:not(.dot){transition:transform .2s cubic-bezier(.23,1,.32,1);line-height:1.5}@media(hover:hover)and (pointer:fine){&:hover span:not(.dot){transform:translate(.25rem)}}&:hover,&.active{background:var(--primary-content);color:var(--primary-bg);border:1px solid var(--primary-content)}}.btn--secondary{background:var(--primary-content);color:var(--primary-bg);border-color:var(--primary-content);&:hover{background:var(--accent);border-color:var(--accent)}}.btn--compact{padding:.5rem 1rem}.btn--ghost{background:var(--glass);border-color:var(--color-line);color:var(--primary-content);backdrop-filter:blur(10px);&:hover{background:var(--glass);border-color:var(--primary-content);color:var(--primary-content)}}.grid{display:grid}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.column{flex-direction:column}.columns-2{grid-template-columns:repeat(2,1fr);@media(max-width:768px){grid-template-columns:1fr}}.columns-3{grid-template-columns:repeat(3,1fr);@media(max-width:768px){grid-template-columns:1fr}}.columns-4{grid-template-columns:repeat(4,1fr);@media(max-width:900px){grid-template-columns:repeat(2,1fr)}@media(max-width:600px){grid-template-columns:1fr}}.columns-12{grid-template-columns:repeat(12,1fr);@media(max-width:900px){grid-template-columns:repeat(6,1fr)}@media(max-width:600px){grid-template-columns:1fr}}.gap-1{gap:1rem}.gap-2{gap:2rem}.gap-1\/2{gap:.5rem}.gap-1\/4{gap:.25rem}.gap-3\/4{gap:.75rem}.p-0{padding:0}.p-1\/4{padding:.25rem}.p-1\/2{padding:.5rem}.p-3\/4{padding:.75rem}.py-3\/4{padding-top:.75rem;padding-bottom:.75rem}.px-3\/4{padding-left:.75rem;padding-right:.75rem}.p-1{padding:1rem}.px-1{padding-left:1rem;padding-right:1rem}.py-1{padding-top:1rem;padding-bottom:1rem}.p-3\/2{padding:1.5rem}.py-3\/2{padding-top:1.5rem;padding-bottom:1.5rem}.px-3\/2{padding-left:1.5rem;padding-right:1.5rem}.py-1\/2{padding-top:.5rem;padding-bottom:.5rem}.px-1\/2{padding-left:.5rem;padding-right:.5rem}.p-2{padding:2rem}.px-2{padding-left:2rem;padding-right:2rem}.py-2{padding-top:2rem;padding-bottom:2rem}.px-3{padding-left:3rem;padding-right:3rem}.py-3{padding-top:3rem;padding-bottom:3rem}.pb-0{padding-bottom:0}.rounded{border-radius:var(--rounded)}.curved{border-radius:var(--border-radius)}.icon-sun{color:var(--primary-content);display:none;opacity:1;transition:opacity .25s,display .25s allow-discrete;@starting-style{opacity:0}}[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon{display:none}.clients{position:relative;z-index:1;transform-origin:center top}code{background:var(--primary-bg);border:1px solid var(--color-line);border-radius:.25rem;padding:0 .25rem}@supports (animation-timeline: scroll()){.clients{animation:clients-reveal linear both;animation-timeline:scroll(root);animation-range:0 calc(100dvh - 8rem)}@keyframes clients-reveal{0%{transform:scale(.9) translateY(-640px);filter:blur(3px)}to{transform:scale(.95) translateY(0);filter:blur(0)}}}.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}.lang[data-astro-cid-5uekbmp7]{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-accent);font-size:12px;letter-spacing:.06em;padding:4px;border-radius:100px;background:var(--secondary-bg);transition:background .25s,border-color .25s}.lang-btn[data-astro-cid-5uekbmp7]{background:transparent;border:0;color:var(--color-muted);font:inherit;letter-spacing:inherit;padding:5px 10px;border-radius:100px;cursor:pointer;transition:color .2s,background .2s;&:hover{color:var(--primary-content)}&[aria-pressed=true]{background:var(--primary-content);color:var(--primary-bg);transition:color .2s,background .2s;@starting-style{background:transparent;color:var(--color-muted)}}}.sep[data-astro-cid-5uekbmp7]{width:1px;height:.75rem;background:var(--color-line);margin:0 .125rem}.navigation[data-astro-cid-tdwvtaf7]{color:var(--primary-content);font-size:14px;.menu[data-astro-cid-tdwvtaf7]{display:flex;gap:2rem;justify-content:center;list-style:none;margin:0;padding:0;.item[data-astro-cid-tdwvtaf7]{position:relative}& a[data-astro-cid-tdwvtaf7]{padding:.5rem 0;position:relative;transition:color .2s;&:hover{color:var(--accent)}}.item--active[data-astro-cid-tdwvtaf7]:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);height:.25rem;width:.25rem;border-radius:var(--rounded);background:var(--accent)}.item--active[data-astro-cid-tdwvtaf7] a[data-astro-cid-tdwvtaf7]{color:var(--accent)}}}.theme-toggle[data-astro-cid-5wtxqvs4]{background:var(--secondary-bg);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--rounded);color:var(--primary-content);cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .3s;@media(max-width:900px){width:2.5rem;height:2.5rem}}.theme-toggle[data-astro-cid-5wtxqvs4]:hover{border-color:var(--primary-content);color:var(--primary-content)}.theme-toggle[data-astro-cid-5wtxqvs4] svg[data-astro-cid-5wtxqvs4]{width:1rem;height:1rem;@media(max-width:900px){width:1.5rem;height:1.5rem}}.brand[data-astro-cid-gora4mgs]{display:inline-flex;align-items:center}.brand__logo[data-astro-cid-gora4mgs]{width:auto;display:block}.brand__mark{fill:var(--logo-mark)}.brand__text{fill:var(--logo-text)}.header[data-astro-cid-2w66rqv5]{backdrop-filter:saturate(140%) blur(14px);background:var(--header);left:0;padding:16px var(--pad);position:sticky;right:0;top:0;transition:padding .3s,backdrop-filter .3s,background .3s;z-index:50;@media(min-width:901px){margin-top:1rem}&.scrolled{border-bottom:1px solid var(--color-line)}.inner[data-astro-cid-2w66rqv5]{align-items:center;grid-template-columns:auto 1fr auto}}@supports (animation-timeline: scroll()){.header[data-astro-cid-2w66rqv5]:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--color-line);opacity:0;animation:header-border linear both;animation-timeline:scroll(root);animation-range:0px 16px}@keyframes header-border{to{opacity:1}}}.right[data-astro-cid-2w66rqv5]{align-items:center;display:flex;gap:1rem}.mobile-toggle[data-astro-cid-2w66rqv5]{display:none;position:relative;width:24px;height:24px;background:none;border:none;cursor:pointer;padding:0;z-index:110}.mobile-toggle[data-astro-cid-2w66rqv5] .line[data-astro-cid-2w66rqv5]{position:absolute;left:3px;width:18px;height:2px;background-color:var(--primary-content);border-radius:1px;transition:transform .22s cubic-bezier(.23,1,.32,1),width .22s cubic-bezier(.23,1,.32,1),top .22s cubic-bezier(.23,1,.32,1)}.mobile-toggle[data-astro-cid-2w66rqv5] .line-1[data-astro-cid-2w66rqv5]{top:6px}.mobile-toggle[data-astro-cid-2w66rqv5] .line-2[data-astro-cid-2w66rqv5]{top:11px}.mobile-toggle[data-astro-cid-2w66rqv5] .line-3[data-astro-cid-2w66rqv5]{top:16px}.mobile-toggle[data-astro-cid-2w66rqv5][aria-expanded=true] .line-1[data-astro-cid-2w66rqv5]{top:11px;width:10px;transform:rotate(-45deg);transform-origin:left center}.mobile-toggle[data-astro-cid-2w66rqv5][aria-expanded=true] .line-2[data-astro-cid-2w66rqv5]{top:11px;width:18px;transform:translate(1px)}.mobile-toggle[data-astro-cid-2w66rqv5][aria-expanded=true] .line-3[data-astro-cid-2w66rqv5]{top:11px;width:10px;transform:rotate(45deg);transform-origin:left center}.mobile-overlay[data-astro-cid-2w66rqv5]{position:fixed;inset:0;height:100dvh;background:color-mix(in srgb,var(--primary-bg) 87%,transparent);backdrop-filter:blur(5px);z-index:40;display:flex;flex-direction:column;justify-content:space-between;padding:8rem var(--pad) 4rem;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s cubic-bezier(.23,1,.32,1),visibility .25s allow-discrete}.mobile-overlay[data-astro-cid-2w66rqv5][aria-hidden=false]{opacity:1;pointer-events:auto;visibility:visible}.mobile-overlay__top[data-astro-cid-2w66rqv5]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-line);padding-bottom:1.5rem;transform:translateY(-1rem);transition:transform .35s cubic-bezier(.23,1,.32,1)}.mobile-overlay[data-astro-cid-2w66rqv5][aria-hidden=false] .mobile-overlay__top[data-astro-cid-2w66rqv5]{transform:translateY(0)}.mobile-overlay__bottom[data-astro-cid-2w66rqv5]{margin-top:auto;margin-bottom:auto;transform:translateY(2rem);transition:transform .35s cubic-bezier(.23,1,.32,1)}.mobile-overlay[data-astro-cid-2w66rqv5][aria-hidden=false] .mobile-overlay__bottom[data-astro-cid-2w66rqv5]{transform:translateY(0)}.mobile-menu[data-astro-cid-2w66rqv5]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.5rem}.mobile-item[data-astro-cid-2w66rqv5]{font-family:var(--font-headline);font-size:2.25rem;font-weight:500;letter-spacing:-.02em;line-height:1.1;text-align:center}.mobile-item[data-astro-cid-2w66rqv5] a[data-astro-cid-2w66rqv5]{display:block;color:var(--primary-content);transition:color .2s}.mobile-item--active[data-astro-cid-2w66rqv5] a[data-astro-cid-2w66rqv5]{color:var(--accent)}@media(max-width:900px){.mobile-toggle[data-astro-cid-2w66rqv5]{display:block}.header[data-astro-cid-2w66rqv5] .navigation,.header[data-astro-cid-2w66rqv5] .right[data-astro-cid-2w66rqv5]{display:none}.header[data-astro-cid-2w66rqv5] .inner[data-astro-cid-2w66rqv5]{grid-template-columns:auto auto;justify-content:space-between}.header[data-astro-cid-2w66rqv5] .brand{position:relative;z-index:110}}@media(min-width:901px){.mobile-overlay[data-astro-cid-2w66rqv5]{display:none}}.column[data-astro-cid-wojse5rf]{display:flex;flex-direction:column;align-items:flex-start;a{font-size:1rem;color:#ffffffd9;transition:color .2s;&:hover{color:var(--accent)}}}.column__header[data-astro-cid-wojse5rf]{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffff73;margin-bottom:.5rem}.grid[data-astro-cid-5lsswmwc]{gap:5rem;@media(max-width:900px){gap:1rem}}.columns__right[data-astro-cid-5lsswmwc]{margin-top:2.25rem;display:flex;flex-direction:column;align-items:flex-start;@media(max-width:900px){margin-top:1rem}}.columns__left[data-astro-cid-5lsswmwc]{display:flex;flex-direction:column;align-items:flex-start}.form-item[data-astro-cid-srhkwymm]{background:var(--secondary-bg);display:flex;flex-direction:column;gap:.5rem;width:100%;border-radius:calc(var(--border-radius) / 2);padding:1rem;transition:border-color .2s,background .2s;&:has(:focus){outline:none;border-color:var(--accent);background:#5b52ff0f}}.form-item__label{color:var(--color-muted);font-family:var(--font-accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.form-item__input[data-astro-cid-srhkwymm]{font-family:inherit;font-size:1rem;background:none;border:0;color:var(--primary-content);font-size:.875rem;transition:border-color .2s,background .2s;&::placeholder{color:var(--input-placeholder)}&:focus{outline:none}}.form-item--textarea[data-astro-cid-srhkwymm]{resize:vertical;min-height:3rem}.form-item--dark[data-astro-cid-srhkwymm]{background:#ffffff08;.form-item__label{color:#ffffff6b}.form-item__input{color:var(--color-white);&::placeholder{color:var(--color-gray)}}}.contact-form[data-astro-cid-svshx33u]{background:#ffffff08;border:1px solid rgba(255,255,255,.08);align-items:flex-start;transition:border-color .2s;width:100%;&:has(:focus){border-color:#5b52ff4d}}.footer[data-astro-cid-ak3upacl]{background:var(--color-ink);color:var(--color-white);position:fixed;overflow:hidden;z-index:1;bottom:0;width:100%;.title{font-size:clamp(2.5rem,5vw,5rem)}@media(max-width:900px){position:relative;z-index:auto}}.grid[data-astro-cid-ak3upacl].columns-2{grid-template-columns:1fr .75fr;@media(max-width:900px){grid-template-columns:1fr}}.btn--ghost[data-astro-cid-ak3upacl]{background:transparent;color:var(--color-white);border-color:var(--color-muted);&:hover{background:#5b52ff2e;border-color:var(--light-accent)}}.footer__links[data-astro-cid-ak3upacl]{padding:2.5rem var(--pad) 3rem;border-top:1px solid rgba(255,255,255,.1)}.footer__copyright[data-astro-cid-ak3upacl]{padding:2rem var(--pad);border-top:1px solid rgba(255,255,255,.1);>div{display:flex;justify-content:space-between;font-size:.75rem;text-transform:uppercase;color:#ffffff73;@media(max-width:600px){flex-direction:column;gap:.5rem;align-items:center;text-align:center}}}@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}}
