<!DOCTYPE html><html lang="en" data-beasties-container><head><script>window.__cfCountry="AU"</script>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- Fonts self-hosted via @fontsource-variable — see src/index.css for
         the @font-face imports and the hand-tuned Capsize-derived fallback
         declarations that prevent FOUT layout shift. -->

    <!-- Ketch boot.js is loaded lazily (requestIdleCallback / first
         interaction) from consent-bootstrap.js so the consent SDK and its
         post-consent analytics init stay off the first-paint / hydration
         critical path on mobile. dns-prefetch only — a preconnect here would
         claim one of the few mobile connections during the FCP race for a
         script we deliberately defer. -->
    <link rel="dns-prefetch" href="https://global.ketchcdn.com">
    <!-- Other third parties only load post-consent; DNS-only is enough.
         (Hashnode hints removed 2026-06: the blog is fully local now —
         markdown in content/blog/, images under /blog/.) -->
    <link rel="dns-prefetch" href="https://www.googletagmanager.com">
    <link rel="dns-prefetch" href="https://z.flex.ai">
    <link rel="dns-prefetch" href="https://static.reo.dev">

    
    
    <meta name="author" content="FlexAI">

    
    
    
    
    
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="630">
    <meta property="og:image:alt" content="FlexAI: The platform for agent-native AI">

    
    
    
    
    
    
    

    <!-- Consent bootstrap (first-party, tiny): defines the `window.ketch`
         semaphore stub, then lazy-loads Ketch's boot.js off the critical path
         (see consent-bootstrap.js). The stub queues any consent calls until
         boot.js loads and processes them, so the document-order/ordering
         guarantee holds even though boot.js now loads at idle rather than as a
         second `<head>` script. -->
    <script defer src="/consent-bootstrap.js"></script>
    <script type="module" crossorigin src="/assets/app-CWYSEldy.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CNC7AqOf.js">
    <link rel="modulepreload" crossorigin href="/assets/react-vendor-CVuNrI14.js">
    <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DkfBeHIS.js">
    <link rel="modulepreload" crossorigin href="/assets/cta-DarUfs3H.js">
    <link rel="modulepreload" crossorigin href="/assets/servedModels-9S0wac0b.js">
    <link rel="modulepreload" crossorigin href="/assets/families-FYaAUV4F.js">
    <style>@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-divide-x-reverse:0}}}@layer theme{:root{--font-sans:"Inter Variable", "Inter Variable fallback", system-ui, sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-200:oklch(91% .096 180.426);--color-teal-700:oklch(51.1% .096 186.391);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-700:oklch(49.1% .27 292.581);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-sm:8px;--blur-xl:24px;--blur-3xl:64px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Space Grotesk Variable", "Space Grotesk Variable fallback", system-ui, sans-serif;--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-charcoal:hsl(var(--charcoal));--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out;--animate-marquee-left:marquee-left 120s linear infinite;--animate-marquee-right:marquee-right 140s linear infinite}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}code,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}ol,ul{list-style:none}img,svg{vertical-align:middle;display:block}img{max-width:100%;height:auto}button,select{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}button{appearance:button}*,:after,:before{border-color:var(--color-gray-200,currentcolor)}button:not(:disabled),[role=tab]:not([aria-disabled=true]){cursor:pointer}.spotlight-card{position:relative;overflow:hidden}.spotlight-card>*{z-index:1;position:relative}.spotlight-card:before{content:"";z-index:0;border-radius:inherit;opacity:0;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%), #ccd9f8f2, transparent 72%);pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.spotlight-card:after{content:"";z-index:0;border-radius:inherit;opacity:0;background:radial-gradient(200px circle at var(--spot-x,50%) var(--spot-y,50%), #ccd9f8e6, transparent 60%);-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1px;transition:opacity .25s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (hover:hover) and (pointer:fine){.spotlight-card:hover:before,.spotlight-card:hover:after{opacity:1}}@media (prefers-reduced-motion:reduce){.spotlight-card:before,.spotlight-card:after{transition:none}}:root{--primary:224 100% 31%;--primary-foreground:0 0% 100%;--background:0 0% 96%;--foreground:0 0% 18%;--charcoal:0 0% 18%;--card:0 0% 100%;--card-foreground:0 0% 18%;--popover:0 0% 100%;--popover-foreground:0 0% 18%;--secondary:224 73% 88%;--secondary-foreground:224 100% 31%;--muted:224 30% 92%;--muted-foreground:0 0% 32%;--accent:6 56% 93%;--accent-foreground:0 0% 18%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--border:224 20% 88%;--input:224 20% 88%;--ring:224 100% 31%;--radius:.75rem;--glow-primary:224 100% 31%;--glow-secondary:224 73% 88%;--surface-elevated:0 0% 100%;--gradient-start:224 100% 31%;--gradient-end:224 80% 45%}*{border-color:var(--color-border)}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter Variable,Inter Variable fallback,system-ui,sans-serif}h1,h2,h3{font-family:Space Grotesk Variable,Space Grotesk Variable fallback,system-ui,sans-serif}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}}@layer components;@layer utilities{.noise-overlay{position:relative}.noise-overlay:before{content:"";opacity:.02;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-4{top:calc(var(--spacing) * 4)}.top-9{top:calc(var(--spacing) * 9)}.top-full{top:100%}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.left-0{left:0}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container{margin-inline:auto;padding-inline:2rem}@media (width>=40rem){.container{max-width:none}}@media (width>=1400px){.container{max-width:1400px}}.mx-auto{margin-inline:auto}.text-gradient{color:#0000;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(135deg, hsl(var(--gradient-start)), hsl(var(--gradient-end)));margin-block:-.15em;padding-block:.15em}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-1{margin-bottom:var(--spacing)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[420px\]{height:420px}.h-full{height:100%}.h-px{height:1px}.max-h-screen{max-height:100vh}.min-h-\[760px\]{min-height:760px}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.w-\[117px\]{width:117px}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[440px\]{width:440px}.w-\[560px\]{width:560px}.w-\[700px\]{width:700px}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[160px\]{max-width:160px}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--color-border)}.border-border\/50{border-color:color-mix(in srgb, hsl(var(--border)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--color-border) 50%, transparent)}}.border-primary\/30{border-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-primary\/60{border-color:color-mix(in srgb, hsl(var(--primary)) 60%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/60{border-color:color-mix(in oklab, var(--color-primary) 60%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-background{background-color:var(--color-background)}.bg-background\/90{background-color:color-mix(in srgb, hsl(var(--background)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-background\/90{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.bg-card{background-color:var(--color-card)}.bg-card\/50{background-color:color-mix(in srgb, hsl(var(--card)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-card\/50{background-color:color-mix(in oklab, var(--color-card) 50%, transparent)}}.bg-card\/60{background-color:color-mix(in srgb, hsl(var(--card)) 60%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-card\/60{background-color:color-mix(in oklab, var(--color-card) 60%, transparent)}}.bg-charcoal{background-color:var(--color-charcoal)}.bg-primary{background-color:var(--color-primary)}.bg-secondary\/40{background-color:color-mix(in srgb, hsl(var(--secondary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/40{background-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.grid-background{background-image:linear-gradient(hsl(var(--primary) / .05) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--primary) / .05) 1px, transparent 1px);background-size:60px 60px}.bg-gradient-subtle{background-image:linear-gradient(180deg, hsl(var(--background)), #fff)}.from-border{--tw-gradient-from:var(--color-border);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-primary\/40{--tw-gradient-via:color-mix(in srgb, hsl(var(--primary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.via-primary\/40{--tw-gradient-via:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.via-primary\/40{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-border{--tw-gradient-to:var(--color-border);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pb-1{padding-bottom:var(--spacing)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/40{color:color-mix(in srgb, hsl(var(--muted-foreground)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab, var(--color-muted-foreground) 40%, transparent)}}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-primary\/80{color:color-mix(in srgb, hsl(var(--primary)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.text-primary\/80{color:color-mix(in oklab, var(--color-primary) 80%, transparent)}}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-primary\/30{--tw-shadow-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary\/30{--tw-ring-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 600px}.select-none{-webkit-user-select:none;user-select:none}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.glow-text{text-shadow:0 0 40px hsl(var(--glow-primary) / .3)}.group-focus-within\:visible:is(:where(.group):focus-within *){visibility:visible}.group-focus-within\:bg-accent:is(:where(.group):focus-within *){background-color:var(--color-accent)}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:rotate-180:is(:where(.group):hover *){rotate:180deg}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary\/30:hover{border-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.hover\:border-primary\/40:hover{border-color:color-mix(in srgb, hsl(var(--primary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-primary\/5:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 5%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary:hover{background-color:var(--color-secondary)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-primary\/40:hover{--tw-shadow-color:color-mix(in srgb, hsl(var(--primary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-primary\/40:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 40%, transparent) var(--tw-shadow-alpha), transparent)}}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-2:focus{top:calc(var(--spacing) * 2)}.focus\:left-2:focus{left:calc(var(--spacing) * 2)}.focus\:z-100:focus{z-index:100}.focus\:rounded-lg:focus{border-radius:var(--radius-lg)}.focus\:bg-primary:focus{background-color:var(--color-primary)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-primary-foreground:focus{color:var(--color-primary-foreground)}.focus-visible\:bg-accent:focus-visible{background-color:var(--color-accent)}.focus-visible\:text-accent-foreground:focus-visible{color:var(--color-accent-foreground)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-white\/40:focus-visible{outline-color:#fff6}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-white\/40:focus-visible{outline-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=closed\]\:invisible[data-state=closed]{visibility:hidden}.data-\[state\=closed\]\:h-0[data-state=closed]{height:0}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:var(--animate-accordion-up)}@media (width>=40rem){.sm\:top-auto{top:auto}.sm\:right-0{right:0}.sm\:bottom-0{bottom:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-col{flex-direction:column}.sm\:flex-row{flex-direction:row}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (width>=48rem){.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}@keyframes aurora-drift{0%,to{transform:translate(-7%,-4%)scale(1.05)}50%{transform:translate(7%,9%)scale(1.32)}}@media (prefers-reduced-motion:no-preference){.aurora-blob{will-change:transform;animation:12s ease-in-out infinite aurora-drift}}@keyframes flow-pulse{0%,22%,to{border-color:hsl(var(--border));box-shadow:none}8%{border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary)), 0 10px 30px -10px #ccd9f8e6}}@media (prefers-reduced-motion:no-preference){.flow-step{animation:5s ease-in-out infinite flow-pulse;animation-delay:calc(var(--i) * .6s)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-divide-x-reverse:0}}}@layer theme{:root{--font-sans:"Inter Variable", "Inter Variable fallback", system-ui, sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-200:oklch(91% .096 180.426);--color-teal-700:oklch(51.1% .096 186.391);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-700:oklch(49.1% .27 292.581);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-sm:8px;--blur-xl:24px;--blur-3xl:64px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Space Grotesk Variable", "Space Grotesk Variable fallback", system-ui, sans-serif;--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-charcoal:hsl(var(--charcoal));--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out;--animate-marquee-left:marquee-left 120s linear infinite;--animate-marquee-right:marquee-right 140s linear infinite}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}code,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}ol,ul{list-style:none}img,svg{vertical-align:middle;display:block}img{max-width:100%;height:auto}button,select{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}button{appearance:button}*,:after,:before{border-color:var(--color-gray-200,currentcolor)}button:not(:disabled),[role=tab]:not([aria-disabled=true]){cursor:pointer}.spotlight-card{position:relative;overflow:hidden}.spotlight-card>*{z-index:1;position:relative}.spotlight-card:before{content:"";z-index:0;border-radius:inherit;opacity:0;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%), #ccd9f8f2, transparent 72%);pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.spotlight-card:after{content:"";z-index:0;border-radius:inherit;opacity:0;background:radial-gradient(200px circle at var(--spot-x,50%) var(--spot-y,50%), #ccd9f8e6, transparent 60%);-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1px;transition:opacity .25s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (hover:hover) and (pointer:fine){.spotlight-card:hover:before,.spotlight-card:hover:after{opacity:1}}@media (prefers-reduced-motion:reduce){.spotlight-card:before,.spotlight-card:after{transition:none}}:root{--primary:224 100% 31%;--primary-foreground:0 0% 100%;--background:0 0% 96%;--foreground:0 0% 18%;--charcoal:0 0% 18%;--card:0 0% 100%;--card-foreground:0 0% 18%;--popover:0 0% 100%;--popover-foreground:0 0% 18%;--secondary:224 73% 88%;--secondary-foreground:224 100% 31%;--muted:224 30% 92%;--muted-foreground:0 0% 32%;--accent:6 56% 93%;--accent-foreground:0 0% 18%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--border:224 20% 88%;--input:224 20% 88%;--ring:224 100% 31%;--radius:.75rem;--glow-primary:224 100% 31%;--glow-secondary:224 73% 88%;--surface-elevated:0 0% 100%;--gradient-start:224 100% 31%;--gradient-end:224 80% 45%}*{border-color:var(--color-border)}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter Variable,Inter Variable fallback,system-ui,sans-serif}h1,h2,h3{font-family:Space Grotesk Variable,Space Grotesk Variable fallback,system-ui,sans-serif}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}}@layer components;@layer utilities{.noise-overlay{position:relative}.noise-overlay:before{content:"";opacity:.02;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-4{top:calc(var(--spacing) * 4)}.top-9{top:calc(var(--spacing) * 9)}.top-full{top:100%}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.left-0{left:0}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container{margin-inline:auto;padding-inline:2rem}@media (width>=40rem){.container{max-width:none}}@media (width>=1400px){.container{max-width:1400px}}.mx-auto{margin-inline:auto}.text-gradient{color:#0000;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(135deg, hsl(var(--gradient-start)), hsl(var(--gradient-end)));margin-block:-.15em;padding-block:.15em}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-1{margin-bottom:var(--spacing)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[420px\]{height:420px}.h-full{height:100%}.h-px{height:1px}.max-h-screen{max-height:100vh}.min-h-\[760px\]{min-height:760px}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.w-\[117px\]{width:117px}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[440px\]{width:440px}.w-\[560px\]{width:560px}.w-\[700px\]{width:700px}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[160px\]{max-width:160px}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--color-border)}.border-border\/50{border-color:color-mix(in srgb, hsl(var(--border)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--color-border) 50%, transparent)}}.border-primary\/30{border-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-primary\/60{border-color:color-mix(in srgb, hsl(var(--primary)) 60%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/60{border-color:color-mix(in oklab, var(--color-primary) 60%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-background{background-color:var(--color-background)}.bg-background\/90{background-color:color-mix(in srgb, hsl(var(--background)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-background\/90{background-color:color-mix(in oklab, var(--color-background) 90%, transparent)}}.bg-card{background-color:var(--color-card)}.bg-card\/50{background-color:color-mix(in srgb, hsl(var(--card)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-card\/50{background-color:color-mix(in oklab, var(--color-card) 50%, transparent)}}.bg-card\/60{background-color:color-mix(in srgb, hsl(var(--card)) 60%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-card\/60{background-color:color-mix(in oklab, var(--color-card) 60%, transparent)}}.bg-charcoal{background-color:var(--color-charcoal)}.bg-primary{background-color:var(--color-primary)}.bg-secondary\/40{background-color:color-mix(in srgb, hsl(var(--secondary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/40{background-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.grid-background{background-image:linear-gradient(hsl(var(--primary) / .05) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--primary) / .05) 1px, transparent 1px);background-size:60px 60px}.bg-gradient-subtle{background-image:linear-gradient(180deg, hsl(var(--background)), #fff)}.from-border{--tw-gradient-from:var(--color-border);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-primary\/40{--tw-gradient-via:color-mix(in srgb, hsl(var(--primary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.via-primary\/40{--tw-gradient-via:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.via-primary\/40{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-border{--tw-gradient-to:var(--color-border);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:0}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pb-1{padding-bottom:var(--spacing)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/40{color:color-mix(in srgb, hsl(var(--muted-foreground)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab, var(--color-muted-foreground) 40%, transparent)}}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-primary\/80{color:color-mix(in srgb, hsl(var(--primary)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.text-primary\/80{color:color-mix(in oklab, var(--color-primary) 80%, transparent)}}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-primary\/30{--tw-shadow-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary\/30{--tw-ring-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 600px}.select-none{-webkit-user-select:none;user-select:none}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.glow-text{text-shadow:0 0 40px hsl(var(--glow-primary) / .3)}.group-focus-within\:visible:is(:where(.group):focus-within *){visibility:visible}.group-focus-within\:bg-accent:is(:where(.group):focus-within *){background-color:var(--color-accent)}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:rotate-180:is(:where(.group):hover *){rotate:180deg}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary\/30:hover{border-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.hover\:border-primary\/40:hover{border-color:color-mix(in srgb, hsl(var(--primary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-primary\/5:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 5%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary:hover{background-color:var(--color-secondary)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-primary\/40:hover{--tw-shadow-color:color-mix(in srgb, hsl(var(--primary)) 40%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-primary\/40:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 40%, transparent) var(--tw-shadow-alpha), transparent)}}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-2:focus{top:calc(var(--spacing) * 2)}.focus\:left-2:focus{left:calc(var(--spacing) * 2)}.focus\:z-100:focus{z-index:100}.focus\:rounded-lg:focus{border-radius:var(--radius-lg)}.focus\:bg-primary:focus{background-color:var(--color-primary)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-primary-foreground:focus{color:var(--color-primary-foreground)}.focus-visible\:bg-accent:focus-visible{background-color:var(--color-accent)}.focus-visible\:text-accent-foreground:focus-visible{color:var(--color-accent-foreground)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-white\/40:focus-visible{outline-color:#fff6}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-white\/40:focus-visible{outline-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=closed\]\:invisible[data-state=closed]{visibility:hidden}.data-\[state\=closed\]\:h-0[data-state=closed]{height:0}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:var(--animate-accordion-up)}@media (width>=40rem){.sm\:top-auto{top:auto}.sm\:right-0{right:0}.sm\:bottom-0{bottom:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-col{flex-direction:column}.sm\:flex-row{flex-direction:row}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (width>=48rem){.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}@keyframes aurora-drift{0%,to{transform:translate(-7%,-4%)scale(1.05)}50%{transform:translate(7%,9%)scale(1.32)}}@media (prefers-reduced-motion:no-preference){.aurora-blob{will-change:transform;animation:12s ease-in-out infinite aurora-drift}}@keyframes flow-pulse{0%,22%,to{border-color:hsl(var(--border));box-shadow:none}8%{border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary)), 0 10px 30px -10px #ccd9f8e6}}@media (prefers-reduced-motion:no-preference){.flow-step{animation:5s ease-in-out infinite flow-pulse;animation-delay:calc(var(--i) * .6s)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}</style><link rel="preload" crossorigin href="/assets/app-Cb_YrmOK.css" as="style">
  <title>Start building on FlexAI | Startups</title><meta name="description" content="Apply to the FlexAI Startup Program for $1,000 in Token Factory credit, discounts, and $10/month in free credits for your first 3 months. Grow into dedicated GPU compute on one account as your workload scales."><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@FlexAI"><meta name="twitter:title" content="Start building on FlexAI | Startups"><meta name="twitter:description" content="Apply to the FlexAI Startup Program for $1,000 in Token Factory credit, discounts, and $10/month in free credits for your first 3 months. Grow into dedicated GPU compute on one account as your workload scales."><meta name="twitter:image" content="https://flex.ai/og-image.png"><meta property="og:title" content="Start building on FlexAI | Startups"><meta property="og:description" content="Apply to the FlexAI Startup Program for $1,000 in Token Factory credit, discounts, and $10/month in free credits for your first 3 months. Grow into dedicated GPU compute on one account as your workload scales."><meta property="og:type" content="website"><meta property="og:image" content="https://flex.ai/og-image.png"><meta property="og:url" content="https://flex.ai/startups"><link rel="canonical" href="https://flex.ai/startups"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Service","name":"FlexAI Startup Program","description":"OpenAI-compatible inference with Token Factory credit and discounts for AI-native startups, scaling into dedicated GPUs on one account.","url":"https://flex.ai/startups","serviceType":"Managed AI platform","provider":{"@type":"Organization","name":"FlexAI","url":"https://flex.ai","logo":"https://flex.ai/flexai-logo.png"},"areaServed":"Worldwide"}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What free credits do I get?","acceptedAnswer":{"@type":"Answer","text":"$10/month in free credits for your first 3 months. Accepted Startup Program startups get $1,000 in Token Factory credit on top."}},{"@type":"Question","name":"Is a credit card required?","acceptedAnswer":{"@type":"Answer","text":"Yes. A card is required to activate your account. You won't be charged while your free credits last."}},{"@type":"Question","name":"Who's eligible for the FlexAI Startup Program?","acceptedAnswer":{"@type":"Answer","text":"AI-native startups with a continuous inference or agent workload in production: typically $1M+ venture- or accelerator-backed, with at least one ML/AI engineer on the team."}},{"@type":"Question","name":"What do accepted startups get?","acceptedAnswer":{"@type":"Answer","text":"$1,000 in Token Factory credit, then 50% off your first 3 months and 30% off the next 3. As your workload grows, you qualify for 50% off dedicated GPU and fine-tuning prices for 6 months, with committed-use pricing after that."}},{"@type":"Question","name":"How do I apply?","acceptedAnswer":{"@type":"Answer","text":"Book an intro call below. We'll walk through your workload, confirm fit, and get you onboarded, usually within 10 business days."}},{"@type":"Question","name":"Is there a contract or lock-in?","acceptedAnswer":{"@type":"Answer","text":"No. FlexAI is OpenAI-compatible everywhere. You can leave with a config change."}},{"@type":"Question","name":"What does it cost after the program?","acceptedAnswer":{"@type":"Answer","text":"Competitive rates. The discount ending isn't a cliff, because your published rate is already competitive on every model."}}]}</script><link rel="preload" as="font" crossorigin="anonymous" href="/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/inter-greek-wght-normal-CkhJZR-_.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/inter-latin-wght-normal-Dx4kXJAl.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2"><link rel="preload" as="font" crossorigin="anonymous" href="/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2">    <!-- font-preload -->
    <link rel="preload" href="/assets/inter-latin-wght-normal-Dx4kXJAl.woff2" as="font" type="font/woff2" crossorigin="anonymous">
    <link rel="preload" href="/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2" as="font" type="font/woff2" crossorigin="anonymous">
    </head>

  <body>
    <div id="root" data-server-rendered="true"><div role="region" aria-label="Notifications (F8)" tabindex="-1" style="pointer-events:none"><ol tabindex="-1" class="fixed top-0 z-100 flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]"></ol></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><!--$--><div class="min-h-screen bg-background noise-overlay"><a href="#main" class="sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-100 focus:rounded-lg focus:bg-primary focus:px-4 focus:py-2 focus:text-primary-foreground">Skip to content</a><nav class="fixed top-0 left-0 right-0 z-50 bg-background/90 backdrop-blur-xl border-b border-border/50" style="padding-right:var(--removed-body-scroll-bar-size, 0px)"><div class="container mx-auto px-6"><div class="flex items-center justify-between h-16"><a class="flex items-center pr-2.5" href="/"><img src="data:image/svg+xml,%3csvg%20width='5544'%20height='1323'%20viewBox='0%200%205544%201323'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5397.52%200H5544V1297.12H5397.52V0ZM4523.88%200L3987.35%201297.1H4147.95L4298.12%20924.73H4903.09L5051.58%201297.1H5213.96L4680.95%200H4523.88ZM4602.28%20170.575L4851.69%20795.909H4350.07L4602.28%20170.575ZM2811.24%20821.786C2811.24%20541.188%202622.38%20350.585%202341.78%20350.585C2062.91%20350.585%201865.23%20558.839%201865.23%20837.657C1865.23%201127.09%202061.14%201323%202354.12%201323C2539.43%201323%202689.47%201252.41%202795.37%201098.88L2677.1%201007.11C2613.56%201135.93%202514.75%201195.93%202357.65%201195.93C2172.32%201195.93%202036.45%201090.02%202017.02%20885.321H2809.49C2811.24%20864.144%202811.24%20841.211%202811.24%20821.786ZM2018.77%20768.862C2043.48%20578.258%202175.87%20477.654%202340%20477.654C2514.75%20477.654%202652.42%20587.095%202652.42%20768.862H2018.77ZM3417.64%20940.628L3124.65%201297.1H2937.57L3329.41%20829.431L2971.11%20379.428H3156.44L3426.47%20725.317L3715.91%20379.428H3897.69L3514.7%20836.493L3883.57%201297.1H3696.51L3417.64%20940.628ZM852.045%200.715126H143.411C80.5198%200.715126%2025.5787%2041.0333%206.69032%20101.042C-12.1926%20161.045%209.78942%20225.534%2061.3542%20261.544L604.295%20640.606H161.035C82.0111%20640.606%2017.7173%20704.917%2017.7173%20783.935V1296.52H166.99V774.234C166.99%20773.868%20167.317%20773.541%20167.727%20773.541H588.14C651.053%20773.541%20705.994%20733.222%20724.877%20673.213C743.765%20613.21%20721.783%20548.7%20670.196%20512.689L127.272%20133.627H852.045V0.715126ZM1750.22%201160.81H1351.61V0H1028.57V133.627H1207.58V1152.41C1207.58%201231.84%201272.18%201296.45%201351.61%201296.45H1750.22V1160.81Z'%20fill='currentColor'/%3e%3c/svg%3e" alt="FlexAI" width="117" height="28" class="h-7 w-[117px] shrink-0"></a><div class="hidden lg:flex items-center gap-0.5"><div class="group relative"><button type="button" aria-haspopup="true" class="inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-2.5 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground group-focus-within:bg-accent focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:outline-hidden">Products<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-0.5 h-3 w-3 transition-transform group-hover:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button><div class="invisible absolute left-0 top-full pt-2 opacity-0 transition-all duration-150 group-hover:visible group-hover:opacity-100 group-focus-within:visible group-focus-within:opacity-100"><div class="rounded-xl border border-border bg-background shadow-lg w-[440px]"><div class="grid grid-cols-2 gap-4 p-4"><div><p aria-hidden="true" class="px-3 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground">Products</p><ul aria-label="Products"><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/token-factory">Token Factory</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/dedicated-endpoints">Dedicated Endpoints</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/agent-sdk">Agent SDK</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/ai-factory">AI Factory</a></li></ul></div><div><p aria-hidden="true" class="px-3 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground">Platform</p><ul aria-label="Platform"><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/platform">Platform Overview</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/inference">Inference</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/fine-tuning">Fine-Tuning</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/training">Training</a></li></ul></div></div></div></div></div><div class="group relative"><button type="button" aria-haspopup="true" class="inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-2.5 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground group-focus-within:bg-accent focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:outline-hidden">Who We Serve<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-0.5 h-3 w-3 transition-transform group-hover:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button><div class="invisible absolute left-0 top-full pt-2 opacity-0 transition-all duration-150 group-hover:visible group-hover:opacity-100 group-focus-within:visible group-focus-within:opacity-100"><div class="rounded-xl border border-border bg-background shadow-lg w-[200px]"><ul class="p-2"><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/startups">Builders &amp; Startups</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/companies">Growing AI Teams</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/enterprise">Enterprise</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/system-integrators">System Integrators</a></li></ul></div></div></div><div class="group relative"><button type="button" aria-haspopup="true" class="inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-2.5 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground group-focus-within:bg-accent focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:outline-hidden">Models<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-0.5 h-3 w-3 transition-transform group-hover:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button><div class="invisible absolute left-0 top-full pt-2 opacity-0 transition-all duration-150 group-hover:visible group-hover:opacity-100 group-focus-within:visible group-focus-within:opacity-100"><div class="rounded-xl border border-border bg-background shadow-lg w-[560px]"><div class="grid grid-cols-3 gap-4 p-4"><div><p aria-hidden="true" class="px-3 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground">Browse</p><ul aria-label="Browse"><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models">All Models</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/use-cases">Use Cases</a></li></ul></div><div><p aria-hidden="true" class="px-3 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground">By family</p><ul aria-label="By family"><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/qwen">Qwen</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/mistral">Mistral</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/deepseek">DeepSeek</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/llama">Llama</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/glm">GLM</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/nemotron">Nemotron</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/gemma">Gemma</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/models/gpt-oss">GPT-OSS</a></li></ul></div><div><p aria-hidden="true" class="px-3 pb-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground">By capability</p><ul aria-label="By capability"><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/embeddings">Embeddings</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/speech-to-text">Speech-to-Text</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/text-to-speech">Text-to-Speech</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/image-generation">Image Generation</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/video-generation">Video Generation</a></li></ul></div></div></div></div></div><a class="inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-2.5 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:outline-hidden" href="/pricing">Pricing</a><div class="group relative"><button type="button" aria-haspopup="true" class="inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-2.5 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground group-focus-within:bg-accent focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:outline-hidden">Resources<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-0.5 h-3 w-3 transition-transform group-hover:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button><div class="invisible absolute left-0 top-full pt-2 opacity-0 transition-all duration-150 group-hover:visible group-hover:opacity-100 group-focus-within:visible group-focus-within:opacity-100"><div class="rounded-xl border border-border bg-background shadow-lg w-[220px]"><ul class="p-2"><li><a href="https://docs.flex.ai" target="_blank" rel="noopener noreferrer" class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground">Docs</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/blog">Blog</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/blueprints">Blueprints</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/case-studies">Case Studies</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/migrate">Migration Guide</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/tools">Tools &amp; Calculators</a></li></ul></div></div></div><div class="group relative"><button type="button" aria-haspopup="true" class="inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-2.5 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground group-focus-within:bg-accent focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:outline-hidden">Company<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-0.5 h-3 w-3 transition-transform group-hover:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button><div class="invisible absolute left-0 top-full pt-2 opacity-0 transition-all duration-150 group-hover:visible group-hover:opacity-100 group-focus-within:visible group-focus-within:opacity-100"><div class="rounded-xl border border-border bg-background shadow-lg w-[200px]"><ul class="p-2"><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/why-us">Approach</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/engineering">Engineering</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/partnerships">Partnerships</a></li><li><a class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground" href="/careers">Careers</a></li><li><a href="https://security.flex.ai" target="_blank" rel="noopener noreferrer" class="block select-none rounded-md px-3 py-2.5 text-sm no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground">Trust Center</a></li></ul></div></div></div></div><div class="hidden lg:flex items-center gap-2"><a class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all duration-300 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover:bg-secondary hover:text-foreground h-9 rounded-md px-2.5" href="/contact">Talk to us</a><a href="https://platform.flex.ai/signup" data-cta-location="nav" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm transition-all duration-300 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-primary text-primary-foreground font-semibold shadow-lg shadow-primary/30 hover:shadow-xl hover:shadow-primary/40 hover:-translate-y-1 hover:bg-primary/90 h-9 rounded-md px-4">Sign Up</a></div><button class="lg:hidden p-2 rounded-lg hover:bg-secondary" aria-expanded="false" aria-controls="mobile-menu" aria-label="Toggle navigation menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu w-5 h-5" aria-hidden="true"><path d="M4 5h16"/><path d="M4 12h16"/><path d="M4 19h16"/></svg></button></div></div></nav><main id="main" class="relative pt-24"><section class="relative overflow-hidden mx-auto max-w-4xl px-6 py-16 text-center"><div aria-hidden="true" class="absolute inset-0 grid-background opacity-40"></div><div aria-hidden="true" class="aurora-blob absolute top-0 left-1/2 -translate-x-1/2 h-[420px] w-[700px] rounded-full bg-secondary/40 blur-[120px]"></div><div class="relative z-10" style="transform:translateY(20px)"><span class="block text-xs font-semibold uppercase tracking-widest text-primary/80 mb-4">For startups</span><h1 class="font-display text-4xl md:text-6xl font-bold tracking-tight mb-6"><span class="block">Start today. </span><span class="block text-gradient glow-text">Scale on the same account</span></h1><p class="text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto mb-6">Start with OpenAI-compatible inference, keep your agent stack portable, and move into dedicated GPUs when traffic proves out.</p><p class="text-sm text-muted-foreground max-w-2xl mx-auto mb-10">Built for AI-native startups shipping agents and multimodal products.</p><div class="flex flex-col sm:flex-row items-center justify-center gap-4"><a href="https://platform.flex.ai/signup" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-all duration-300 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-primary text-primary-foreground font-semibold shadow-lg shadow-primary/30 hover:shadow-xl hover:shadow-primary/40 hover:-translate-y-1 hover:bg-primary/90 h-14 rounded-xl px-10 text-lg">Get an API key<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg></a><a href="#apply" class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-all duration-300 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 border-2 border-primary/30 bg-transparent text-primary hover:border-primary hover:bg-primary/5 font-semibold h-14 rounded-xl px-10 text-lg">Apply to the Startup Program</a></div></div></section><section class="relative py-16"><div class="mx-auto px-6 max-w-4xl"><div class="max-w-3xl mb-12 mx-auto text-center" style="opacity:0;transform:translateY(20px)"><h2 class="font-display font-bold text-2xl md:text-3xl">Start building in minutes</h2><p class="mt-3 text-sm leading-6 text-muted-foreground sm:text-base">Point the OpenAI SDK at FlexAI, swap the model, and ship. Free credit covers your first calls.</p></div><div class="mx-auto max-w-xl"><div class="w-full overflow-hidden rounded-2xl border border-border bg-charcoal text-left shadow-xl"><div class="flex flex-wrap items-center justify-between gap-2 border-b border-white/10 px-3 py-2"><div class="flex items-center gap-1" role="tablist" aria-label="Snippet language"><button type="button" role="tab" aria-selected="true" class="rounded-md px-2.5 py-1 text-xs font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/40 bg-white/15 text-white">curl</button><button type="button" role="tab" aria-selected="false" class="rounded-md px-2.5 py-1 text-xs font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/40 text-white/55 hover:text-white">Python</button><button type="button" role="tab" aria-selected="false" class="rounded-md px-2.5 py-1 text-xs font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/40 text-white/55 hover:text-white">TypeScript</button></div><div class="flex items-center gap-2"><label class="flex items-center gap-1.5 text-xs font-medium text-white/50"><span class="sr-only">Model</span><select aria-label="Choose a model for the snippet" class="max-w-[160px] rounded-md border border-white/15 bg-white/5 px-2 py-1 text-xs text-white/80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/40"><option value="Mistral-Nemo-Instruct-2407-FP8" class="bg-charcoal text-white">Mistral Nemo</option><option value="gemma-4-26B-A4B-it" class="bg-charcoal text-white">Gemma 4 26B A4B</option><option value="Qwen3.6-27B-FP8" class="bg-charcoal text-white">Qwen3.6-27B</option><option value="Nemotron-3-Super-120B-A12B" class="bg-charcoal text-white">Nemotron 3 Super 120B A12B</option><option value="gpt-oss-20b" class="bg-charcoal text-white">GPT-OSS 20B</option><option value="Qwen3.6-35B-A3B-FP8" class="bg-charcoal text-white">Qwen3.6-35B-A3B</option><option value="Meta-Llama-3.1-8B-Instruct-FP8" class="bg-charcoal text-white" selected>Llama 3.1 8B Instruct</option><option value="Qwen3.5-9B" class="bg-charcoal text-white">Qwen3.5 9B</option><option value="gemma-4-31b-it" class="bg-charcoal text-white">Gemma 4 31B IT</option><option value="gpt-oss-120b" class="bg-charcoal text-white">GPT-OSS 120B</option><option value="Qwen3-Coder-30B-A3B-Instruct-FP8" class="bg-charcoal text-white">Qwen3 Coder 30B A3B</option><option value="Llama-3.3-70B-Instruct-FP8" class="bg-charcoal text-white">Llama 3.3 70B Instruct</option><option value="Qwen3-8B-FP8" class="bg-charcoal text-white">Qwen3 8B</option><option value="Qwen3-30B-A3B-Thinking-2507-FP8" class="bg-charcoal text-white">Qwen3 30B A3B Thinking 2507</option><option value="MiniMax-M2.7" class="bg-charcoal text-white">MiniMax M2.7</option><option value="GLM-5.2" class="bg-charcoal text-white">GLM 5.2</option><option value="laguna-s-2-1" class="bg-charcoal text-white">Laguna S 2.1</option><option value="GLM-4.5-Air-FP8" class="bg-charcoal text-white">GLM 4.5 Air</option><option value="DeepSeek-V4-Flash-0731" class="bg-charcoal text-white">DeepSeek V4 Flash 0731</option><option value="Muse-Glimmer-30B" class="bg-charcoal text-white">Muse Glimmer 30B</option></select></label><button type="button" aria-label="Copy code" class="inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-white/70 transition-colors hover:bg-white/10 hover:text-white focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/40"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy h-3.5 w-3.5" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>Copy</button></div></div><pre class="overflow-x-auto p-4 font-mono text-[12px] leading-5 text-white/80"><code>curl https://api.flex.ai/v1/chat/completions \
  -H "Authorization: Bearer $FLEXAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Meta-Llama-3.1-8B-Instruct-FP8",
    "messages": [{"role": "user", "content": "Hello from FlexAI"}]
  }'</code></pre></div></div></div></section><section class="relative py-16 overflow-hidden"><div aria-hidden="true" class="absolute inset-0 bg-gradient-subtle"></div><div class="mx-auto px-6 max-w-6xl relative z-10"><div class="grid gap-6 sm:grid-cols-3 max-w-4xl mx-auto"><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card text-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-coins w-6 h-6 text-primary mx-auto mb-3" aria-hidden="true"><path d="M13.744 17.736a6 6 0 1 1-7.48-7.48"/><path d="M15 6h1v4"/><path d="m6.134 14.768.866-.5 2 3.464"/><circle cx="16" cy="8" r="6"/></svg><span class="block font-display text-3xl md:text-4xl font-bold text-primary mb-1">50%</span><div class="text-sm text-muted-foreground">Off dedicated and fine-tuning prices for 6 months</div></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card text-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket w-6 h-6 text-primary mx-auto mb-3" aria-hidden="true"><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09"/><path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05"/></svg><span class="block font-display text-3xl md:text-4xl font-bold text-primary mb-1">$1,000</span><div class="text-sm text-muted-foreground">Token Factory credit in the program</div></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card text-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-boxes w-6 h-6 text-primary mx-auto mb-3" aria-hidden="true"><path d="M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"/><path d="m7 16.5-4.74-2.85"/><path d="m7 16.5 5-3"/><path d="M7 16.5v5.17"/><path d="M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"/><path d="m17 16.5-5-3"/><path d="m17 16.5 4.74-2.85"/><path d="M17 16.5v5.17"/><path d="M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"/><path d="M12 8 7.26 5.15"/><path d="m12 8 4.74-2.85"/><path d="M12 13.5V8"/></svg><span class="block font-display text-3xl md:text-4xl font-bold text-primary mb-1">20+</span><div class="text-sm text-muted-foreground">Open models behind one API key</div></div></div></div></section><section class="relative py-16"><div class="mx-auto px-6 max-w-6xl"><div class="max-w-3xl mb-12 mx-auto text-center" style="opacity:0;transform:translateY(20px)"><h2 class="font-display font-bold text-2xl md:text-3xl">Built for what you're shipping</h2><p class="mt-3 text-sm leading-6 text-muted-foreground sm:text-base">The agents startups ship most, each a multi-model pipeline behind one key.</p></div><div class="grid gap-6 lg:grid-cols-3 max-w-5xl mx-auto"><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card group flex h-full flex-col"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code w-7 h-7 text-primary mb-3" aria-hidden="true"><path d="m16 18 6-6-6-6"/><path d="m8 6-6 6 6 6"/></svg><h3 class="font-display text-base font-semibold mb-1">Coding agents</h3><p class="text-sm text-muted-foreground">Agents that generate, review, and repair code across your repo.</p><ul class="mt-4 flex-1 space-y-1.5" aria-label="Coding agents pipeline"><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Generate</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">Qwen3 Coder 30B A3B</span></li><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Review &amp; fast edits</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">Qwen3.6-35B-A3B</span></li></ul><p class="mt-4 text-[13px] text-muted-foreground">Start with<!-- --> <a class="font-semibold text-foreground hover:text-primary" href="/models/qwen3-coder-30b-a3b">Qwen3 Coder 30B A3B</a> from <!-- -->$0.07<!-- -->/M</p><a class="mt-2 inline-flex items-center gap-1 text-sm font-medium text-primary no-underline" href="/use-cases/coding-agents">See the pipeline<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg></a></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card group flex h-full flex-col"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-headset w-7 h-7 text-primary mb-3" aria-hidden="true"><path d="M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z"/><path d="M21 16v2a4 4 0 0 1-4 4h-5"/></svg><h3 class="font-display text-base font-semibold mb-1">Support agents</h3><p class="text-sm text-muted-foreground">Agents that triage, answer, and resolve customer conversations.</p><ul class="mt-4 flex-1 space-y-1.5" aria-label="Support agents pipeline"><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Transcribe</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">Whisper Large V3 Turbo</span></li><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Read attachments</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">PaddleOCR-VL 1.5</span></li><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Retrieve</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">BGE-M3</span></li><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Respond</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">Llama 3.1 8B Instruct</span></li><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Speak</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">Kokoro-82M</span></li></ul><p class="mt-4 text-[13px] text-muted-foreground">Start with<!-- --> <a class="font-semibold text-foreground hover:text-primary" href="/models/llama-3-1-8b-instruct">Llama 3.1 8B Instruct</a> from <!-- -->$0.02<!-- -->/M</p><a class="mt-2 inline-flex items-center gap-1 text-sm font-medium text-primary no-underline" href="/use-cases/support-agents">See the pipeline<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg></a></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card group flex h-full flex-col"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical w-7 h-7 text-primary mb-3" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"/><path d="M6.453 15h11.094"/><path d="M8.5 2h7"/></svg><h3 class="font-display text-base font-semibold mb-1">Research agents</h3><p class="text-sm text-muted-foreground">Agents that retrieve, reason over, and synthesize large source sets.</p><ul class="mt-4 flex-1 space-y-1.5" aria-label="Research agents pipeline"><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Retrieve</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">BGE-M3</span></li><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Reason</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">Qwen3 30B A3B Thinking 2507</span></li><li class="flex items-center gap-2 text-xs"><span class="w-24 shrink-0 font-medium text-muted-foreground">Summarize</span><span class="truncate rounded-full border border-border bg-card/60 px-2 py-0.5 font-medium text-foreground">DeepSeek-V4-Flash</span></li></ul><p class="mt-4 text-[13px] text-muted-foreground">Start with<!-- --> <a class="font-semibold text-foreground hover:text-primary" href="/models/qwen3-30b-a3b-thinking-2507">Qwen3 30B A3B Thinking 2507</a> from <!-- -->$0.08<!-- -->/M</p><a class="mt-2 inline-flex items-center gap-1 text-sm font-medium text-primary no-underline" href="/use-cases/research-agents">See the pipeline<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg></a></div></div><p class="mt-6 text-center"><a class="inline-flex items-center gap-1 text-sm font-medium text-primary" href="/use-cases">All use cases <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg></a></p></div></section><section class="relative py-16 overflow-hidden"><div aria-hidden="true" class="absolute inset-0 bg-gradient-subtle"></div><div class="mx-auto px-6 max-w-6xl relative z-10"><div class="max-w-3xl mb-12 mx-auto text-center" style="opacity:0;transform:translateY(20px)"><h2 class="font-display font-bold text-2xl md:text-3xl">Why startups start on FlexAI</h2><p class="mt-3 text-sm leading-6 text-muted-foreground sm:text-base">Ship on day one, on a platform that stays cheap as you scale.</p></div><div class="grid gap-6 md:grid-cols-3 max-w-5xl mx-auto"><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap w-7 h-7 text-primary mb-3" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/></svg><h3 class="font-display text-base font-semibold mb-1">Serverless, per-token</h3><p class="text-sm text-muted-foreground">Start instantly: pay only for the tokens you use, with no provisioning and no minimums.</p></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge w-7 h-7 text-primary mb-3" aria-hidden="true"><path d="m12 14 4-4"/><path d="M3.34 19a10 10 0 1 1 17.32 0"/></svg><h3 class="font-display text-base font-semibold mb-1">Performance</h3><p class="text-sm text-muted-foreground">Streaming on every model, with low-latency serving tuned per model.<!-- --> <a class="text-primary hover:underline" href="/models">See live per-model performance.</a></p></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dollar-sign w-7 h-7 text-primary mb-3" aria-hidden="true"><line x1="12" x2="12" y1="2" y2="22"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg><h3 class="font-display text-base font-semibold mb-1">Competitive cost</h3><p class="text-sm text-muted-foreground">Competitive per-token pricing on every model, tracked to the market rate.<!-- --> <a class="text-primary hover:underline" href="/pricing">See pricing.</a></p></div></div><p class="mt-6 text-center text-sm text-muted-foreground">Already shipping agents? Bring them to the<!-- --> <a class="text-primary hover:underline" href="/agent-sdk">Agent SDK</a> <!-- -->(in trial): portable skills and multi-model routing on the same key.</p></div></section><section id="apply" class="relative py-16 scroll-mt-24"><div class="mx-auto px-6 max-w-6xl"><div class="max-w-3xl mb-12 mx-auto text-center" style="opacity:0;transform:translateY(20px)"><h2 class="font-display font-bold text-2xl md:text-3xl">The FlexAI Startup Program</h2><p class="mt-3 text-sm leading-6 text-muted-foreground sm:text-base">Apply-only, one program, three stages. $1,000 in Token Factory credit to start, 50% off your first 3 months and 30% off the next 3, then up to $20K of dedicated savings as you grow. You're never asked to re-apply or migrate.</p></div><div class="grid md:grid-cols-3 gap-6 max-w-5xl mx-auto mb-8"><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-coins w-7 h-7 text-primary mb-3" aria-hidden="true"><path d="M13.744 17.736a6 6 0 1 1-7.48-7.48"/><path d="M15 6h1v4"/><path d="m6.134 14.768.866-.5 2 3.464"/><circle cx="16" cy="8" r="6"/></svg><div class="font-display text-xs font-bold text-primary mb-1">Stage 1</div><h3 class="font-display text-base font-semibold mb-3">Token Factory entry</h3><ul class="space-y-2"><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>$1,000 in Token Factory credit: our serverless per-token tier</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>Then 50% off your first 3 months, 30% off the next 3</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>Competitive pricing for the life of your account</span></li></ul></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server w-7 h-7 text-primary mb-3" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"/><rect width="20" height="8" x="2" y="14" rx="2" ry="2"/><line x1="6" x2="6.01" y1="6" y2="6"/><line x1="6" x2="6.01" y1="18" y2="18"/></svg><div class="font-display text-xs font-bold text-primary mb-1">Stage 2</div><h3 class="font-display text-base font-semibold mb-3">Dedicated compute</h3><ul class="space-y-2"><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>As your workload proves out, you qualify for dedicated GPU-hours</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>50% off published dedicated and managed fine-tuning prices for 6 months, up to $20K of savings</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>One account and API as you scale</span></li></ul></div><div class="border rounded-2xl border-border bg-card/50 p-6 transition-all hover:border-primary/30 spotlight-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock w-7 h-7 text-primary mb-3" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg><div class="font-display text-xs font-bold text-primary mb-1">Stage 3</div><h3 class="font-display text-base font-semibold mb-3">Committed use</h3><ul class="space-y-2"><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>Lock in committed-use pricing when you're ready</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>A designed continuation, not a second cliff</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>No minimum spend</span></li></ul></div></div><div class="max-w-3xl mx-auto rounded-2xl border border-border bg-card/50 p-6"><p class="text-sm font-semibold text-foreground mb-3">Apply-only. We look for AI-native teams with a real, continuous workload:</p><ul class="grid gap-2 sm:grid-cols-2 mb-6"><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>$1M+ venture- or accelerator-backed, or a validated production workload</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>AI-native product: inference is central, not a side feature</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>At least one ML/AI engineer on staff</span></li><li class="flex items-start gap-2 text-sm text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check w-4 h-4 text-primary mt-0.5 shrink-0" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><span>A continuous inference or agent workload in production, not project-based</span></li></ul><div class="relative rounded-2xl border border-border bg-card/50 backdrop-blur-xs p-6 md:p-8 min-h-[760px]"><div class="absolute inset-0 flex flex-col items-center justify-center gap-4 text-center p-8"><div class="inline-flex h-12 w-12 items-center justify-center rounded-full border border-border bg-background"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar w-5 h-5 text-primary" aria-hidden="true"><path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/></svg></div><p class="text-sm text-muted-foreground">Loading meeting scheduler…</p></div><div class="meetings-iframe-container" data-src="https://meetings.hubspot.com/adam-king/startup-program-intro?embed=true"></div></div><p class="text-center text-xs text-muted-foreground mt-4">Not there yet?<!-- --> <a class="text-primary hover:underline" href="/pricing">Explore Token Factory</a> <!-- -->and apply when your workload is ready. Reviewed within 10 business days.</p></div></div></section><section class="relative py-16"><div class="mx-auto px-6 max-w-6xl"><div class="max-w-3xl mx-auto text-center mb-8" style="opacity:0;transform:translateY(20px)"><h2 class="font-display font-bold text-2xl md:text-3xl">One account, <span class="text-primary">the whole way</span></h2><p class="mt-3 text-sm leading-6 text-muted-foreground sm:text-base">No re-platform when your workload grows.</p></div><div class="relative"><div aria-hidden="true" class="pointer-events-none absolute inset-x-0 top-9 hidden h-px bg-linear-to-r from-border via-primary/40 to-border lg:block"></div><ol class="grid gap-4 sm:grid-cols-2 lg:grid-cols-4"><li class="relative" style="opacity:0;transform:translateY(20px)"><a class="border rounded-2xl spotlight-card flow-step group relative z-10 flex h-full flex-col bg-card transition-all duration-200 hover:-translate-y-1 hover:border-primary/40 hover:shadow-md p-4 border-primary/60 ring-1 ring-primary/30 no-underline" style="--i:0" href="/token-factory"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right absolute right-4 top-4 h-4 w-4 text-muted-foreground/40 transition-all group-hover:-translate-y-0.5 group-hover:text-primary" aria-hidden="true"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg><span class="flex h-7 w-7 items-center justify-center rounded-full bg-primary text-sm font-semibold text-primary-foreground">1</span><span class="mt-3 block font-display text-base font-semibold text-foreground">Model calls</span><span class="mt-1 block text-sm font-medium text-primary">Token Factory</span><span class="mt-1 block flex-1 text-sm text-muted-foreground">20+ models · one API key</span></a></li><li class="relative" style="opacity:0;transform:translateY(20px)"><a class="border rounded-2xl border-border spotlight-card flow-step group relative z-10 flex h-full flex-col bg-card transition-all duration-200 hover:-translate-y-1 hover:border-primary/40 hover:shadow-md p-4 no-underline" style="--i:1" href="/agent-sdk"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right absolute right-4 top-4 h-4 w-4 text-muted-foreground/40 transition-all group-hover:-translate-y-0.5 group-hover:text-primary" aria-hidden="true"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg><span class="flex h-7 w-7 items-center justify-center rounded-full bg-primary text-sm font-semibold text-primary-foreground">2</span><span class="mt-3 block font-display text-base font-semibold text-foreground">Agent loops</span><span class="mt-1 block text-sm font-medium text-primary">Agent SDK</span><span class="mt-1 block flex-1 text-sm text-muted-foreground">Tools · approvals · audit</span></a></li><li class="relative" style="opacity:0;transform:translateY(20px)"><a class="border rounded-2xl border-border spotlight-card flow-step group relative z-10 flex h-full flex-col bg-card transition-all duration-200 hover:-translate-y-1 hover:border-primary/40 hover:shadow-md p-4 no-underline" style="--i:2" href="/dedicated-endpoints"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right absolute right-4 top-4 h-4 w-4 text-muted-foreground/40 transition-all group-hover:-translate-y-0.5 group-hover:text-primary" aria-hidden="true"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg><span class="flex h-7 w-7 items-center justify-center rounded-full bg-primary text-sm font-semibold text-primary-foreground">3</span><span class="mt-3 block font-display text-base font-semibold text-foreground">Dedicated scale</span><span class="mt-1 block text-sm font-medium text-primary">Dedicated Endpoints</span><span class="mt-1 block flex-1 text-sm text-muted-foreground">Reserved GPUs · same API</span></a></li><li class="relative" style="opacity:0;transform:translateY(20px)"><a class="border rounded-2xl border-border spotlight-card flow-step group relative z-10 flex h-full flex-col bg-card transition-all duration-200 hover:-translate-y-1 hover:border-primary/40 hover:shadow-md p-4 no-underline" style="--i:3" href="/ai-factory"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right absolute right-4 top-4 h-4 w-4 text-muted-foreground/40 transition-all group-hover:-translate-y-0.5 group-hover:text-primary" aria-hidden="true"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg><span class="flex h-7 w-7 items-center justify-center rounded-full bg-primary text-sm font-semibold text-primary-foreground">4</span><span class="mt-3 block font-display text-base font-semibold text-foreground">Private AI cloud</span><span class="mt-1 block text-sm font-medium text-primary">AI Factory</span><span class="mt-1 block flex-1 text-sm text-muted-foreground">VPC · on-prem · air-gapped</span></a></li></ol></div></div></section><section class="mx-auto max-w-3xl px-6 py-16 cv-auto"><h2 class="font-display text-2xl md:text-3xl font-bold text-foreground text-center mb-8">Frequently Asked Questions</h2><div class="w-full" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="border-b"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_u3h_" class="flex flex-1 items-center justify-between py-4 transition-all hover:underline [&amp;[data-state=open]>svg]:rotate-180 text-left text-foreground font-medium" data-radix-collection-item>What free credits do I get?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button></h3><div data-state="closed" id="radix-_R_4u3h_" role="region" aria-labelledby="radix-_R_u3h_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:h-0 data-[state=closed]:invisible data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"><div class="pb-4 pt-0 text-muted-foreground">$10/month in free credits for your first 3 months. Accepted Startup Program startups get $1,000 in Token Factory credit on top.</div></div></div><div data-state="closed" data-orientation="vertical" class="border-b"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_1e3h_" class="flex flex-1 items-center justify-between py-4 transition-all hover:underline [&amp;[data-state=open]>svg]:rotate-180 text-left text-foreground font-medium" data-radix-collection-item>Is a credit card required?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button></h3><div data-state="closed" id="radix-_R_5e3h_" role="region" aria-labelledby="radix-_R_1e3h_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:h-0 data-[state=closed]:invisible data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"><div class="pb-4 pt-0 text-muted-foreground">Yes. A card is required to activate your account. You won't be charged while your free credits last.</div></div></div><div data-state="closed" data-orientation="vertical" class="border-b"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_1u3h_" class="flex flex-1 items-center justify-between py-4 transition-all hover:underline [&amp;[data-state=open]>svg]:rotate-180 text-left text-foreground font-medium" data-radix-collection-item>Who's eligible for the FlexAI Startup Program?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button></h3><div data-state="closed" id="radix-_R_5u3h_" role="region" aria-labelledby="radix-_R_1u3h_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:h-0 data-[state=closed]:invisible data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"><div class="pb-4 pt-0 text-muted-foreground">AI-native startups with a continuous inference or agent workload in production: typically $1M+ venture- or accelerator-backed, with at least one ML/AI engineer on the team.</div></div></div><div data-state="closed" data-orientation="vertical" class="border-b"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_2e3h_" class="flex flex-1 items-center justify-between py-4 transition-all hover:underline [&amp;[data-state=open]>svg]:rotate-180 text-left text-foreground font-medium" data-radix-collection-item>What do accepted startups get?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button></h3><div data-state="closed" id="radix-_R_6e3h_" role="region" aria-labelledby="radix-_R_2e3h_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:h-0 data-[state=closed]:invisible data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"><div class="pb-4 pt-0 text-muted-foreground">$1,000 in Token Factory credit, then 50% off your first 3 months and 30% off the next 3. As your workload grows, you qualify for 50% off dedicated GPU and fine-tuning prices for 6 months, with committed-use pricing after that.</div></div></div><div data-state="closed" data-orientation="vertical" class="border-b"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_2u3h_" class="flex flex-1 items-center justify-between py-4 transition-all hover:underline [&amp;[data-state=open]>svg]:rotate-180 text-left text-foreground font-medium" data-radix-collection-item>How do I apply?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button></h3><div data-state="closed" id="radix-_R_6u3h_" role="region" aria-labelledby="radix-_R_2u3h_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:h-0 data-[state=closed]:invisible data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"><div class="pb-4 pt-0 text-muted-foreground">Book an intro call below. We'll walk through your workload, confirm fit, and get you onboarded, usually within 10 business days.</div></div></div><div data-state="closed" data-orientation="vertical" class="border-b"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_3e3h_" class="flex flex-1 items-center justify-between py-4 transition-all hover:underline [&amp;[data-state=open]>svg]:rotate-180 text-left text-foreground font-medium" data-radix-collection-item>Is there a contract or lock-in?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button></h3><div data-state="closed" id="radix-_R_7e3h_" role="region" aria-labelledby="radix-_R_3e3h_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:h-0 data-[state=closed]:invisible data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"><div class="pb-4 pt-0 text-muted-foreground">No. FlexAI is OpenAI-compatible everywhere. You can leave with a config change.</div></div></div><div data-state="closed" data-orientation="vertical" class="border-b"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_3u3h_" class="flex flex-1 items-center justify-between py-4 transition-all hover:underline [&amp;[data-state=open]>svg]:rotate-180 text-left text-foreground font-medium" data-radix-collection-item>What does it cost after the program?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button></h3><div data-state="closed" id="radix-_R_7u3h_" role="region" aria-labelledby="radix-_R_3u3h_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:h-0 data-[state=closed]:invisible data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"><div class="pb-4 pt-0 text-muted-foreground">Competitive rates. The discount ending isn't a cliff, because your published rate is already competitive on every model.</div></div></div></div></section><section class="relative py-16"><div class="mx-auto px-6 max-w-3xl"><div class="border rounded-3xl border-border bg-card/50 backdrop-blur-xs p-8 md:p-12 text-center" style="opacity:0;transform:translateY(20px)"><h2 class="font-display text-2xl md:text-3xl font-bold mb-4">Ready to get started?</h2><p class="text-muted-foreground mb-8">Book an intro call to join the Startup Program: $1,000 in Token Factory credit, stacked discounts, and free monthly credits.</p><div class="flex flex-col sm:flex-row items-center justify-center gap-4"><a href="#apply" class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-all duration-300 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-primary text-primary-foreground font-semibold shadow-lg shadow-primary/30 hover:shadow-xl hover:shadow-primary/40 hover:-translate-y-1 hover:bg-primary/90 h-12 rounded-lg px-8 text-base">Apply to the program<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5" aria-hidden="true"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg></a></div></div></div></section></main><footer class="border-t border-border bg-card/50 cv-auto"><div class="container mx-auto px-6 py-16"><div class="mb-12 max-w-xs"><a class="flex items-center mb-4" href="/"><img src="data:image/svg+xml,%3csvg%20width='5544'%20height='1323'%20viewBox='0%200%205544%201323'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5397.52%200H5544V1297.12H5397.52V0ZM4523.88%200L3987.35%201297.1H4147.95L4298.12%20924.73H4903.09L5051.58%201297.1H5213.96L4680.95%200H4523.88ZM4602.28%20170.575L4851.69%20795.909H4350.07L4602.28%20170.575ZM2811.24%20821.786C2811.24%20541.188%202622.38%20350.585%202341.78%20350.585C2062.91%20350.585%201865.23%20558.839%201865.23%20837.657C1865.23%201127.09%202061.14%201323%202354.12%201323C2539.43%201323%202689.47%201252.41%202795.37%201098.88L2677.1%201007.11C2613.56%201135.93%202514.75%201195.93%202357.65%201195.93C2172.32%201195.93%202036.45%201090.02%202017.02%20885.321H2809.49C2811.24%20864.144%202811.24%20841.211%202811.24%20821.786ZM2018.77%20768.862C2043.48%20578.258%202175.87%20477.654%202340%20477.654C2514.75%20477.654%202652.42%20587.095%202652.42%20768.862H2018.77ZM3417.64%20940.628L3124.65%201297.1H2937.57L3329.41%20829.431L2971.11%20379.428H3156.44L3426.47%20725.317L3715.91%20379.428H3897.69L3514.7%20836.493L3883.57%201297.1H3696.51L3417.64%20940.628ZM852.045%200.715126H143.411C80.5198%200.715126%2025.5787%2041.0333%206.69032%20101.042C-12.1926%20161.045%209.78942%20225.534%2061.3542%20261.544L604.295%20640.606H161.035C82.0111%20640.606%2017.7173%20704.917%2017.7173%20783.935V1296.52H166.99V774.234C166.99%20773.868%20167.317%20773.541%20167.727%20773.541H588.14C651.053%20773.541%20705.994%20733.222%20724.877%20673.213C743.765%20613.21%20721.783%20548.7%20670.196%20512.689L127.272%20133.627H852.045V0.715126ZM1750.22%201160.81H1351.61V0H1028.57V133.627H1207.58V1152.41C1207.58%201231.84%201272.18%201296.45%201351.61%201296.45H1750.22V1160.81Z'%20fill='currentColor'/%3e%3c/svg%3e" alt="FlexAI" width="117" height="28" class="h-7 w-[117px] shrink-0" loading="lazy" decoding="async"></a><p class="text-sm text-muted-foreground">AI infrastructure that adapts as you grow.</p></div><div class="grid grid-cols-2 lg:grid-cols-5 gap-8"><div><h2 class="font-display font-semibold text-foreground mb-4">Products</h2><ul class="space-y-3"><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/token-factory">Token Factory</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/dedicated-endpoints">Dedicated Endpoints</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/agent-sdk">Agent SDK</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/ai-factory">AI Factory</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/platform">Platform</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/pricing">Pricing</a></li></ul></div><div><h2 class="font-display font-semibold text-foreground mb-4">Who We Serve</h2><ul class="space-y-3"><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/startups">Builders &amp; Startups</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/companies">Growing AI Teams</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/enterprise">Enterprise</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/system-integrators">System Integrators</a></li></ul></div><div><h2 class="font-display font-semibold text-foreground mb-4">Models</h2><ul class="space-y-3"><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/models">All Models</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/use-cases">Use Cases</a></li></ul></div><div><h2 class="font-display font-semibold text-foreground mb-4">Resources</h2><ul class="space-y-3"><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/docs">Docs</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/blog">Blog</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/blueprints">Blueprints</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/case-studies">Case Studies</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/migrate">Migration Guide</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/tools">Tools &amp; Calculators</a></li></ul></div><div><h2 class="font-display font-semibold text-foreground mb-4">Company</h2><ul class="space-y-3"><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/why-us">Approach</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/engineering">Engineering</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/partnerships">Partnerships</a></li><li><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/careers">Careers</a></li><li><a href="https://security.flex.ai" target="_blank" rel="noopener noreferrer" class="text-sm text-muted-foreground hover:text-primary transition-colors">Trust Center</a></li></ul></div></div><div class="mt-8 pt-8 border-t border-border flex flex-col sm:flex-row justify-between items-center gap-4"><p class="text-sm text-muted-foreground">© <!-- -->2026<!-- --> FlexAI. All rights reserved.</p><div class="flex items-center gap-4"><a href="https://security.flex.ai" target="_blank" rel="noopener noreferrer" class="transition-opacity hover:opacity-80"><img src="/assets/aicpa-soc-logo--YfekRZs.webp" alt="SOC 2 Certified" class="h-10 w-10 rounded-full" width="40" height="40" loading="lazy" decoding="async"></a><a href="https://security.flex.ai" target="_blank" rel="noopener noreferrer" class="transition-opacity hover:opacity-80"><img src="/assets/gdpr-badge-CfA2UepN.svg" alt="GDPR Compliant" class="h-8" width="76" height="32" loading="lazy" decoding="async"></a></div><div class="flex items-center gap-6"><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/terms-of-service">Terms of Service</a><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/privacy-policy">Privacy Policy</a><a class="text-sm text-muted-foreground hover:text-primary transition-colors" href="/acceptable-use-policy">Acceptable Use Policy</a></div></div></div></footer></div><!--/$--><script>window.__staticRouterHydrationData = JSON.parse("{\"loaderData\":{\"0\":null},\"actionData\":null,\"errors\":null}");</script></div>
<script>window.__VITE_REACT_SSG_HASH__ = '4kz843ca8n'</script>
  

<link rel="stylesheet" crossorigin href="/assets/app-Cb_YrmOK.css" onload="this.rel='stylesheet'"><noscript><link rel="stylesheet" crossorigin href="/assets/app-Cb_YrmOK.css"></noscript></body></html>