@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,::backdrop{--kw-o:initial;--kw-x:initial;--kw-y:initial;--kw-s:initial;--kw-blur:initial;--kw-dur:initial;--kw-delay:initial;--kw-r:initial;--kw-i:initial}}}.kaktusweb-site,.kaktusweb-site .light{--background:#fafaf8;--foreground:#101613;--card:#fff;--card-foreground:#101613;--popover:#fff;--popover-foreground:#101613;--primary:#039740;--primary-foreground:#fff;--secondary:#004519;--secondary-foreground:#fff;--muted:#f0f2ef;--muted-foreground:#5b655f;--accent:#e7f6ec;--accent-foreground:#004519;--destructive:#dc2626;--border:#e4e7e4;--input:#dfe3df;--ring:#039740;--brand:#039740;--brand-strong:#004519;--brand-weak:#e7f6ec;--found:#e2710c;--raised:#f4f6f3;--fg-2:#2e3833;--dim:#78827b;--line-subtle:#10161314;--line-strong:#10161329;--ink:#08130b;--lab-deep:#00381b;--lab-teal:#00a3a8;--lab-core:#039740;--lab-leaf:#4cc463;--lab-lime:#8fbf2e;--ease-site:cubic-bezier(.32, .72, 0, 1)}.kaktusweb-site .dark{--background:#0b0f0d;--foreground:#eef2ef;--card:#111713;--card-foreground:#eef2ef;--popover:#111713;--popover-foreground:#eef2ef;--primary:#0bb352;--primary-foreground:#04120a;--secondary:#0a2e1a;--secondary-foreground:#d6efe0;--muted:#171f1a;--muted-foreground:#97a29b;--accent:#0f2418;--accent-foreground:#b9e6c9;--destructive:#ef4444;--border:#1e2721;--input:#232d26;--ring:#0bb352;--brand:#0bb352;--brand-strong:#7ed9a4;--brand-weak:#0f2418;--raised:#151c17;--fg-2:#c8d1cb;--dim:#6d786f;--line-subtle:#eef2ef14;--line-strong:#eef2ef29;--ink:#08130b;--lab-deep:#0a5a2c;--lab-teal:#12c2c8;--lab-core:#0bb352;--lab-leaf:#6fdd87;--lab-lime:#b0e04a}body:has(.kaktusweb-site){background-color:#fafaf8}.kaktusweb-site{color:var(--foreground);font-family:var(--font-sans);letter-spacing:normal;text-rendering:auto;font-variant-numeric:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;overflow-x:clip}@layer base{.kaktusweb-site .grid:is([class*=sm\:grid-cols-],[class*=md\:grid-cols-],[class*=lg\:grid-cols-],[class*=xl\:grid-cols-]){grid-template-columns:minmax(0,1fr)}.kaktusweb-site *,.kaktusweb-site :before,.kaktusweb-site :after{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.kaktusweb-site *,.kaktusweb-site :before,.kaktusweb-site :after{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}}html:has(.kaktusweb-site){scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}html:has(.kaktusweb-site)::-webkit-scrollbar{width:10px;height:10px}html:has(.kaktusweb-site)::-webkit-scrollbar-track{background:0 0}html:has(.kaktusweb-site)::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:3px solid #0000;border-radius:999px}html:has(.kaktusweb-site)::-webkit-scrollbar-thumb:hover{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){html:has(.kaktusweb-site)::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab, var(--brand) 55%, var(--line-strong))}}html:has(.kaktusweb-site)::-webkit-scrollbar-thumb:hover{background-clip:padding-box;border:3px solid #0000}html:has(.kaktusweb-site)::-webkit-scrollbar-corner{background:0 0}@media (prefers-reduced-motion:reduce){html:has(.kaktusweb-site){scroll-behavior:auto}}@keyframes marquee-left{to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes ride-cable{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes ai-caret{0%,45%{opacity:1}50%,95%{opacity:0}to{opacity:1}}@keyframes smm-wave{0%,to{transform:scaleY(.34)}50%{transform:scaleY(1)}}@keyframes case-window{0%,3%{transform:translateY(0)}50%,53%{transform:translateY(calc(-1 * var(--case-travel)))}to{transform:translateY(0)}}@keyframes case-float{0%{transform:translateY(-4px)}to{transform:translateY(5px)}}@keyframes lab-flow{to{background-position:-200% 0}}@keyframes marquee-up{to{transform:translateY(-50%)}}@keyframes marquee-down{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.kaktusweb-site .ai-contour{background:repeating-radial-gradient(at 72% 46%,#0000 0 34px,#0397401c 35px,#0000 36px 62px);-webkit-mask-image:radial-gradient(62% 66% at 72% 46%,#000 18%,#0000 74%);mask-image:radial-gradient(62% 66% at 72% 46%,#000 18%,#0000 74%)}.kaktusweb-site [style*="filter: blur(0px)"]{filter:none!important}.kaktusweb-site .scrollbar-slim{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.kaktusweb-site .scrollbar-slim::-webkit-scrollbar{width:6px}.kaktusweb-site .scrollbar-slim::-webkit-scrollbar-track{background:0 0}.kaktusweb-site .scrollbar-slim::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.kaktusweb-site .scrollbar-slim::-webkit-scrollbar-thumb:hover{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.kaktusweb-site .scrollbar-slim::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab, var(--brand) 55%, var(--line-strong))}}.kaktusweb-site .bg-ink,.kaktusweb-site .hover\:bg-ink:hover,.kaktusweb-site .bg-ink\/20{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.kaktusweb-site .bg-ink\/20{background-color:color-mix(in oklab, var(--ink) 20%, transparent)}}.kaktusweb-site .bg-ink\/25{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.kaktusweb-site .bg-ink\/25{background-color:color-mix(in oklab, var(--ink) 25%, transparent)}}.kaktusweb-site .bg-ink\/45{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.kaktusweb-site .bg-ink\/45{background-color:color-mix(in oklab, var(--ink) 45%, transparent)}}.kaktusweb-site .bg-ink\/85{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.kaktusweb-site .bg-ink\/85{background-color:color-mix(in oklab, var(--ink) 85%, transparent)}}.kaktusweb-site .fill-ink\/10{fill:var(--ink)}@supports (color:color-mix(in lab, red, red)){.kaktusweb-site .fill-ink\/10{fill:color-mix(in oklab, var(--ink) 10%, transparent)}}.kaktusweb-site .bg-found{background-color:var(--found)}.kaktusweb-site .bg-lab-core{background-color:var(--lab-core)}.kaktusweb-site .text-lab-core{color:var(--lab-core)}.kaktusweb-site .font-heading{font-family:var(--font-display)}[data-preview-root] .kaktusweb-site{--kw-preview-viewport:900px;min-height:0}[data-preview-root] .kaktusweb-site .min-h-svh,[data-preview-root] .kaktusweb-site .min-h-dvh,[data-preview-root] .kaktusweb-site .min-h-screen{min-height:var(--kw-preview-viewport)!important}[data-preview-root] .kaktusweb-site .h-svh,[data-preview-root] .kaktusweb-site .h-dvh,[data-preview-root] .kaktusweb-site .h-screen{height:var(--kw-preview-viewport)!important}[data-preview-root] .kaktusweb-site .max-h-svh,[data-preview-root] .kaktusweb-site .max-h-dvh,[data-preview-root] .kaktusweb-site .max-h-screen{max-height:var(--kw-preview-viewport)!important}[data-preview-root] .kaktusweb-site .h-\[300vh\]{height:calc(var(--kw-preview-viewport) * 3)!important}.kaktusweb-site .kw-collage{grid-template:"team team"200px"tall sq1"150px"tall sq2"150px/1fr 1fr;grid-auto-rows:150px;gap:.75rem;display:grid}.kaktusweb-site .kw-collage__team{grid-area:team}.kaktusweb-site .kw-collage__tall{grid-area:tall}.kaktusweb-site .kw-collage__sq1{grid-area:sq1}.kaktusweb-site .kw-collage__sq2{grid-area:sq2}@media (min-width:1024px){.kaktusweb-site .kw-collage{grid-template:"team team tall"300px"sq1 sq2 tall"280px/1fr 1fr .92fr;grid-auto-rows:280px;gap:1rem}}@keyframes kw-rise{0%{transform:translateY(22px)}to{transform:translateY(0)}}@keyframes kw-mask-rise{0%{transform:translateY(110%)}to{transform:translateY(0)}}.kaktusweb-site .kw-rise{animation:.72s cubic-bezier(.16,1,.3,1) both kw-rise}.kaktusweb-site .kw-mask-rise{animation:.85s cubic-bezier(.16,1,.3,1) both kw-mask-rise}@media (prefers-reduced-motion:reduce){.kaktusweb-site .kw-rise,.kaktusweb-site .kw-mask-rise{animation:none;transform:none}}@property --kw-o{syntax:"*";inherits:false}@property --kw-x{syntax:"*";inherits:false}@property --kw-y{syntax:"*";inherits:false}@property --kw-s{syntax:"*";inherits:false}@property --kw-blur{syntax:"*";inherits:false}@property --kw-dur{syntax:"*";inherits:false}@property --kw-delay{syntax:"*";inherits:false}@property --kw-r{syntax:"*";inherits:false}@property --kw-i{syntax:"*";inherits:false}@keyframes kw-reveal{0%{opacity:var(--kw-o,1);transform:translateX(var(--kw-x,0px)) translateY(var(--kw-y,0px)) scale(var(--kw-s,1));filter:blur(var(--kw-blur,0px))}}@keyframes kw-seg{0%{filter:blur(7px);transform:translateY(112%)}}@media (prefers-reduced-motion:no-preference){html.kw-js .kaktusweb-site [data-kw-group]:not([data-kw-in]) .kw-seg{filter:blur(7px);transform:translateY(112%)}html.kw-js .kaktusweb-site [data-kw-group][data-kw-in] .kw-seg{animation:kw-seg .95s cubic-bezier(.16, 1, .3, 1) calc(.15s + var(--kw-i,0) * 90ms) backwards}}html.kw-js .kaktusweb-site [data-kw-group][data-kw-in] .kw-seg{filter:blur()}@media (prefers-reduced-motion:no-preference){html.kw-js .kaktusweb-site [data-kw-reveal]:not([data-kw-in]):not([data-kw-group]){opacity:var(--kw-o,1);transform:translateX(var(--kw-x,0px)) translateY(var(--kw-y,0px)) scale(var(--kw-s,1));filter:blur(var(--kw-blur,0px))}html.kw-js .kaktusweb-site [data-kw-reveal][data-kw-collapse]:not([data-kw-in]){opacity:0;transform:none}html.kw-js .kaktusweb-site [data-kw-reveal][data-kw-in]:not([data-kw-group]){animation:kw-reveal var(--kw-dur,.8s) cubic-bezier(.16, 1, .3, 1) var(--kw-delay,0s) backwards}}html.kw-js .kaktusweb-site [data-kw-reveal][data-kw-blur][data-kw-in]{filter:blur()}.kw-btn{--kw-btn-square:inset(0px calc(100% - var(--kw-h)) 0px 0px round 12px);--kw-btn-origin:calc(var(--kw-h) / 2) 50%;transition:translate .45s cubic-bezier(.3,1.25,.5,1),scale .2s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.4,0,.2,1);translate:none}.kw-btn[data-kw-centred]{--kw-btn-square:inset(0px calc((100% - var(--kw-h)) / 2) 0px calc((100% - var(--kw-h)) / 2) round 12px);--kw-btn-origin:50% 50%}.kw-btn:hover,.kw-btn:focus-visible{translate:var(--kw-mx,0px) calc(var(--kw-my,0px) - 1.5px)}.kw-btn:active{scale:.97}.kw-btn-flood{clip-path:circle(0% at var(--kw-fx,50%) var(--kw-fy,50%));transition:clip-path .55s cubic-bezier(.16,1,.3,1)}.kw-btn:hover .kw-btn-flood,.kw-btn:focus-visible .kw-btn-flood{clip-path:circle(170% at var(--kw-fx,50%) var(--kw-fy,50%));transition-duration:.7s}.kw-btn-char{transition:translate .34s cubic-bezier(.16, 1, .3, 1) calc(var(--kw-r) * 12ms)}.kw-btn:hover .kw-btn-char,.kw-btn:focus-visible .kw-btn-char{transition:translate .44s cubic-bezier(.16, 1, .3, 1) calc(30ms + var(--kw-i) * 20ms);translate:0 -100%}.kw-btn-arrow-out{transition:translate .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1)}.kw-btn:hover .kw-btn-arrow-out,.kw-btn:focus-visible .kw-btn-arrow-out{opacity:0;translate:11px -11px}.kw-btn-arrow-in{opacity:0;transition:translate .25s cubic-bezier(.16,1,.3,1),opacity .25s cubic-bezier(.16,1,.3,1);translate:-11px 11px}.kw-btn:hover .kw-btn-arrow-in,.kw-btn:focus-visible .kw-btn-arrow-in{opacity:1;transition:translate .38s cubic-bezier(.16,1,.3,1) .1s,opacity .38s cubic-bezier(.16,1,.3,1) .1s;translate:0}@keyframes kw-btn-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.kw-btn-comet{animation:3.6s linear infinite kw-btn-spin;transform:translate(-50%,-50%)}@keyframes kw-btn-clip{0%,38%{clip-path:var(--kw-btn-square)}92%{clip-path:inset(0 round 12px)}to{clip-path:inset(-48px round 60px)}}@keyframes kw-btn-pop{0%{transform-origin:var(--kw-btn-origin);scale:.4}62%{transform-origin:var(--kw-btn-origin);scale:1.07}to{transform-origin:var(--kw-btn-origin);scale:1}}@keyframes kw-btn-fade{0%{opacity:0}50%{opacity:1}}@keyframes kw-btn-label{0%{opacity:0;translate:0 7px}}@keyframes kw-btn-arrow{0%{opacity:0;translate:-6px 6px}}@keyframes kw-btn-ignite{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){html.kw-js .kaktusweb-site .kw-btn:not([data-kw-in]){opacity:0}html.kw-js .kaktusweb-site .kw-btn:not([data-kw-in]) .kw-btn-comet{animation:none}html.kw-js .kaktusweb-site .kw-btn[data-kw-in]{animation:kw-btn-clip 1.05s cubic-bezier(.16, 1, .3, 1) var(--kw-d) backwards, kw-btn-pop .55s cubic-bezier(.16, 1, .3, 1) var(--kw-d) backwards, kw-btn-fade .26s ease-out var(--kw-d) backwards}html.kw-js .kaktusweb-site .kw-btn[data-kw-in] .kw-btn-label{animation:kw-btn-label .5s cubic-bezier(.16, 1, .3, 1) calc(var(--kw-d) + .52s) backwards}html.kw-js .kaktusweb-site .kw-btn[data-kw-in] .kw-btn-arrow{animation:kw-btn-arrow .45s cubic-bezier(.16, 1, .3, 1) calc(var(--kw-d) + .72s) backwards}html.kw-js .kaktusweb-site .kw-btn[data-kw-in] .kw-btn-halo{animation:kw-btn-ignite .5s cubic-bezier(.16, 1, .3, 1) calc(var(--kw-d) + 1.05s) backwards}html.kw-js .kaktusweb-site .kw-btn[data-kw-in] .kw-btn-beam{animation:kw-btn-ignite .3s cubic-bezier(.16, 1, .3, 1) calc(var(--kw-d) + 1.05s) backwards}html.kw-js .kaktusweb-site .kw-btn[data-kw-in] .kw-btn-comet{animation-delay:calc(var(--kw-d) + 1.05s)}}@media (prefers-reduced-motion:reduce){.kw-btn-flood,.kw-btn-halo,.kw-btn-beam{display:none}.kw-btn:hover,.kw-btn:focus-visible{translate:none}.kw-btn:hover .kw-btn-char,.kw-btn:focus-visible .kw-btn-char,.kw-btn:hover .kw-btn-arrow-out,.kw-btn:focus-visible .kw-btn-arrow-out{opacity:1;translate:none}.kw-btn:hover .kw-btn-arrow-in,.kw-btn:focus-visible .kw-btn-arrow-in{opacity:0;translate:-11px 11px}}.kw-dotline-arrow{transition:translate .35s cubic-bezier(.16,1,.3,1)}.kw-dotline-paint{transition:scale .5s cubic-bezier(.16,1,.3,1);scale:0 1}@media (prefers-reduced-motion:no-preference){.kw-dotline:hover .kw-dotline-arrow,.kw-dotline:focus-visible .kw-dotline-arrow{translate:2px -2px}.kw-dotline:hover .kw-dotline-paint,.kw-dotline:focus-visible .kw-dotline-paint{scale:1}}.kaktusweb-site .kw-hero-sweep{display:none}@media (pointer:fine) and (prefers-reduced-motion:no-preference){.kaktusweb-site .kw-hero-sweep{display:block}.kaktusweb-site .kw-hero-sweep>span{animation:10.5s 1.4s infinite both kw-hero-sweep}}@media (max-width:767.98px){.kaktusweb-site [style*=blur\(]:not([aria-hidden=true]){filter:none!important}}@keyframes kw-hero-sweep{0%{animation-timing-function:ease-in-out;transform:translate(-35%)}57.1429%{transform:translate(135%)}to{transform:translate(135%)}}
