const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RoiCalculatorLanding-DRnfvM0B.js","assets/ui-vendor-BxIDIFnU.js","assets/react-vendor-0XwOhuTY.js","assets/chart-vendor-H_zCtd_i.js","assets/RoiCalculatorAgentic-Y8aKh9MU.js","assets/slider-BIuHYLNX.js","assets/RoiCalculatorCv-JodHdSS5.js","assets/RoiCalculatorModernization-BHae0NoG.js","assets/Outcomes-wytJPo0D.js","assets/progress-TUjW2hGl.js","assets/EnterpriseSaasPerformance-DFNhuSad.js","assets/MunicipalCvCost-AlC-kqyV.js","assets/RedactionCompliance-DIy_7zPJ.js","assets/Soc2Startups-DqGn_s8e.js","assets/AIReadinessAssessment-DY_ZyROZ.js"])))=>i.map(i=>d[i]);
var e,t,s,a,r,i,n,o,l,d,c,m,h,x,u,p,g,f,y,b,v,j,N,w,k,M,A,S,C,I,P,T,R,O,D,q,E,z,_,L,F,W,H=e=>{throw TypeError(e)},V=(e,t,s)=>t.has(e)||H("Cannot "+s),B=(e,t,s)=>(V(e,t,"read from private field"),s?s.call(e):t.get(e)),G=(e,t,s)=>t.has(e)?H("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),U=(e,t,s,a)=>(V(e,t,"write to private field"),a?a.call(e,s):t.set(e,s),s),$=(e,t,s)=>(V(e,t,"access private method"),s),Y=(e,t,s,a)=>({set _(a){U(e,t,a,s)},get _(){return B(e,t,a)}});import{c as K,a as Q,u as Z,j as J,B as X,P as ee,V as te,b as se,d as ae,e as re,f as ie,R as ne,g as oe,h as le,i as de,k as ce,A as me,D as he,C as xe,l as ue,m as pe,n as ge,o as fe,p as ye,S as be,O as ve,q as je,r as Ne,T as we,s as ke,t as Me,v as Ae,w as Se,x as Ce,y as Ie,z as Pe,E as Te,I as Re,F as Oe,G as De,H as qe,L as Ee,J as ze,K as _e,M as Le,N as Fe,Q as We,U as He,W as Ve,X as Be,Y as Ge,_ as Ue,Z as $e,$ as Ye}from"./ui-vendor-BxIDIFnU.js";import{a as Ke,r as Qe,R as Ze,b as Je,g as Xe,e as et,L as tt,u as st,f as at,N as rt,h as it,i as nt,B as ot,j as lt,k as dt}from"./react-vendor-0XwOhuTY.js";import{c as ct,P as mt}from"./chart-vendor-H_zCtd_i.js";function ht(e,t){for(var s=0;s<t.length;s++){const a=t[s];if("string"!=typeof a&&!Array.isArray(a))for(const t in a)if("default"!==t&&!(t in e)){const s=Object.getOwnPropertyDescriptor(a,t);s&&Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>a[t]})}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver(e=>{for(const s of e)if("childList"===s.type)for(const e of s.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();var xt=Ke;W=xt.createRoot,xt.hydrateRoot;const ut={},pt=function(e,t,s){let a=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const e=document.querySelector("meta[property=csp-nonce]"),s=e?.nonce||e?.getAttribute("nonce");a=Promise.allSettled(t.map(e=>{if((e=function(e){return"/"+e}(e))in ut)return;ut[e]=!0;const t=e.endsWith(".css"),a=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${a}`))return;const r=document.createElement("link");return r.rel=t?"stylesheet":"modulepreload",t||(r.as="script"),r.crossOrigin="",r.href=e,s&&r.setAttribute("nonce",s),document.head.appendChild(r),t?new Promise((t,s)=>{r.addEventListener("load",t),r.addEventListener("error",()=>s(new Error(`Unable to preload CSS for ${e}`)))}):void 0}))}function r(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return a.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return e().catch(r)})};let gt=0;const ft=new Map,yt=e=>{if(ft.has(e))return;const t=setTimeout(()=>{ft.delete(e),Nt({type:"REMOVE_TOAST",toastId:e})},1e6);ft.set(e,t)},bt=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{const{toastId:s}=t;return s?yt(s):e.toasts.forEach(e=>{yt(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===s||void 0===s?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},vt=[];let jt={toasts:[]};function Nt(e){jt=bt(jt,e),vt.forEach(e=>{e(jt)})}function wt({...e}){const t=(gt=(gt+1)%Number.MAX_SAFE_INTEGER,gt.toString()),s=()=>Nt({type:"DISMISS_TOAST",toastId:t});return Nt({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||s()}}}),{id:t,dismiss:s,update:e=>Nt({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function kt(){const[e,t]=Qe.useState(jt);return Qe.useEffect(()=>(vt.push(t),()=>{const e=vt.indexOf(t);e>-1&&vt.splice(e,1)}),[e]),{...e,toast:wt,dismiss:e=>Nt({type:"DISMISS_TOAST",toastId:e})}}var Mt="ToastProvider",[At,St,Ct]=K("Toast"),[It,Pt]=Q("Toast",[Ct]),[Tt,Rt]=It(Mt),Ot=e=>{const{__scopeToast:t,label:s="Notification",duration:a=5e3,swipeDirection:r="right",swipeThreshold:i=50,children:n}=e,[o,l]=Qe.useState(null),[d,c]=Qe.useState(0),m=Qe.useRef(!1),h=Qe.useRef(!1);return s.trim(),J.jsx(At.Provider,{scope:t,children:J.jsx(Tt,{scope:t,label:s,duration:a,swipeDirection:r,swipeThreshold:i,toastCount:d,viewport:o,onViewportChange:l,onToastAdd:Qe.useCallback(()=>c(e=>e+1),[]),onToastRemove:Qe.useCallback(()=>c(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:m,isClosePausedRef:h,children:n})})};Ot.displayName=Mt;var Dt="ToastViewport",qt=["F8"],Et="toast.viewportPause",zt="toast.viewportResume",_t=Qe.forwardRef((e,t)=>{const{__scopeToast:s,hotkey:a=qt,label:r="Notifications ({hotkey})",...i}=e,n=Rt(Dt,s),o=St(s),l=Qe.useRef(null),d=Qe.useRef(null),c=Qe.useRef(null),m=Qe.useRef(null),h=Z(t,m,n.onViewportChange),x=a.join("+").replace(/Key/g,"").replace(/Digit/g,""),u=n.toastCount>0;Qe.useEffect(()=>{const e=e=>{0!==a.length&&a.every(t=>e[t]||e.code===t)&&m.current?.focus()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[a]),Qe.useEffect(()=>{const e=l.current,t=m.current;if(u&&e&&t){const s=()=>{if(!n.isClosePausedRef.current){const e=new CustomEvent(Et);t.dispatchEvent(e),n.isClosePausedRef.current=!0}},a=()=>{if(n.isClosePausedRef.current){const e=new CustomEvent(zt);t.dispatchEvent(e),n.isClosePausedRef.current=!1}},r=t=>{!e.contains(t.relatedTarget)&&a()},i=()=>{e.contains(document.activeElement)||a()};return e.addEventListener("focusin",s),e.addEventListener("focusout",r),e.addEventListener("pointermove",s),e.addEventListener("pointerleave",i),window.addEventListener("blur",s),window.addEventListener("focus",a),()=>{e.removeEventListener("focusin",s),e.removeEventListener("focusout",r),e.removeEventListener("pointermove",s),e.removeEventListener("pointerleave",i),window.removeEventListener("blur",s),window.removeEventListener("focus",a)}}},[u,n.isClosePausedRef]);const p=Qe.useCallback(({tabbingDirection:e})=>{const t=o().map(t=>{const s=t.ref.current,a=[s,...ss(s)];return"forwards"===e?a:a.reverse()});return("forwards"===e?t.reverse():t).flat()},[o]);return Qe.useEffect(()=>{const e=m.current;if(e){const t=t=>{const s=t.altKey||t.ctrlKey||t.metaKey;if("Tab"===t.key&&!s){const s=document.activeElement,a=t.shiftKey;if(t.target===e&&a)return void d.current?.focus();const r=p({tabbingDirection:a?"backwards":"forwards"}),i=r.findIndex(e=>e===s);as(r.slice(i+1))?t.preventDefault():a?d.current?.focus():c.current?.focus()}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}},[o,p]),J.jsxs(X,{ref:l,role:"region","aria-label":r.replace("{hotkey}",x),tabIndex:-1,style:{pointerEvents:u?void 0:"none"},children:[u&&J.jsx(Ft,{ref:d,onFocusFromOutsideViewport:()=>{as(p({tabbingDirection:"forwards"}))}}),J.jsx(At.Slot,{scope:s,children:J.jsx(ee.ol,{tabIndex:-1,...i,ref:h})}),u&&J.jsx(Ft,{ref:c,onFocusFromOutsideViewport:()=>{as(p({tabbingDirection:"backwards"}))}})]})});_t.displayName=Dt;var Lt="ToastFocusProxy",Ft=Qe.forwardRef((e,t)=>{const{__scopeToast:s,onFocusFromOutsideViewport:a,...r}=e,i=Rt(Lt,s);return J.jsx(te,{"aria-hidden":!0,tabIndex:0,...r,ref:t,style:{position:"fixed"},onFocus:e=>{const t=e.relatedTarget;!i.viewport?.contains(t)&&a()}})});Ft.displayName=Lt;var Wt="Toast",Ht=Qe.forwardRef((e,t)=>{const{forceMount:s,open:a,defaultOpen:r,onOpenChange:i,...n}=e,[o,l]=se({prop:a,defaultProp:r??!0,onChange:i,caller:Wt});return J.jsx(ae,{present:s||o,children:J.jsx(Gt,{open:o,...n,ref:t,onClose:()=>l(!1),onPause:re(e.onPause),onResume:re(e.onResume),onSwipeStart:ie(e.onSwipeStart,e=>{e.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:ie(e.onSwipeMove,e=>{const{x:t,y:s}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","move"),e.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${t}px`),e.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${s}px`)}),onSwipeCancel:ie(e.onSwipeCancel,e=>{e.currentTarget.setAttribute("data-swipe","cancel"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:ie(e.onSwipeEnd,e=>{const{x:t,y:s}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","end"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${t}px`),e.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${s}px`),l(!1)})})})});Ht.displayName=Wt;var[Vt,Bt]=It(Wt,{onClose(){}}),Gt=Qe.forwardRef((e,t)=>{const{__scopeToast:s,type:a="foreground",duration:r,open:i,onClose:n,onEscapeKeyDown:o,onPause:l,onResume:d,onSwipeStart:c,onSwipeMove:m,onSwipeCancel:h,onSwipeEnd:x,...u}=e,p=Rt(Wt,s),[g,f]=Qe.useState(null),y=Z(t,e=>f(e)),b=Qe.useRef(null),v=Qe.useRef(null),j=r||p.duration,N=Qe.useRef(0),w=Qe.useRef(j),k=Qe.useRef(0),{onToastAdd:M,onToastRemove:A}=p,S=re(()=>{const e=g?.contains(document.activeElement);e&&p.viewport?.focus(),n()}),C=Qe.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(k.current),N.current=(new Date).getTime(),k.current=window.setTimeout(S,e))},[S]);Qe.useEffect(()=>{const e=p.viewport;if(e){const t=()=>{C(w.current),d?.()},s=()=>{const e=(new Date).getTime()-N.current;w.current=w.current-e,window.clearTimeout(k.current),l?.()};return e.addEventListener(Et,s),e.addEventListener(zt,t),()=>{e.removeEventListener(Et,s),e.removeEventListener(zt,t)}}},[p.viewport,j,l,d,C]),Qe.useEffect(()=>{i&&!p.isClosePausedRef.current&&C(j)},[i,j,p.isClosePausedRef,C]),Qe.useEffect(()=>(M(),()=>A()),[M,A]);const I=Qe.useMemo(()=>g?Xt(g):null,[g]);return p.viewport?J.jsxs(J.Fragment,{children:[I&&J.jsx(Ut,{__scopeToast:s,role:"status","aria-live":"foreground"===a?"assertive":"polite","aria-atomic":!0,children:I}),J.jsx(Vt,{scope:s,onClose:S,children:Ke.createPortal(J.jsx(At.ItemSlot,{scope:s,children:J.jsx(ne,{asChild:!0,onEscapeKeyDown:ie(o,()=>{p.isFocusedToastEscapeKeyDownRef.current||S(),p.isFocusedToastEscapeKeyDownRef.current=!1}),children:J.jsx(ee.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":p.swipeDirection,...u,ref:y,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:ie(e.onKeyDown,e=>{"Escape"===e.key&&(o?.(e.nativeEvent),e.nativeEvent.defaultPrevented||(p.isFocusedToastEscapeKeyDownRef.current=!0,S()))}),onPointerDown:ie(e.onPointerDown,e=>{0===e.button&&(b.current={x:e.clientX,y:e.clientY})}),onPointerMove:ie(e.onPointerMove,e=>{if(!b.current)return;const t=e.clientX-b.current.x,s=e.clientY-b.current.y,a=Boolean(v.current),r=["left","right"].includes(p.swipeDirection),i=["left","up"].includes(p.swipeDirection)?Math.min:Math.max,n=r?i(0,t):0,o=r?0:i(0,s),l="touch"===e.pointerType?10:2,d={x:n,y:o},h={originalEvent:e,delta:d};a?(v.current=d,es("toast.swipeMove",m,h,{discrete:!1})):ts(d,p.swipeDirection,l)?(v.current=d,es("toast.swipeStart",c,h,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>l||Math.abs(s)>l)&&(b.current=null)}),onPointerUp:ie(e.onPointerUp,e=>{const t=v.current,s=e.target;if(s.hasPointerCapture(e.pointerId)&&s.releasePointerCapture(e.pointerId),v.current=null,b.current=null,t){const s=e.currentTarget,a={originalEvent:e,delta:t};ts(t,p.swipeDirection,p.swipeThreshold)?es("toast.swipeEnd",x,a,{discrete:!0}):es("toast.swipeCancel",h,a,{discrete:!0}),s.addEventListener("click",e=>e.preventDefault(),{once:!0})}})})})}),p.viewport)})]}):null}),Ut=e=>{const{__scopeToast:t,children:s,...a}=e,r=Rt(Wt,t),[i,n]=Qe.useState(!1),[o,l]=Qe.useState(!1);return function(e=()=>{}){const t=re(e);le(()=>{let e=0,s=0;return e=window.requestAnimationFrame(()=>s=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(s)}},[t])}(()=>n(!0)),Qe.useEffect(()=>{const e=window.setTimeout(()=>l(!0),1e3);return()=>window.clearTimeout(e)},[]),o?null:J.jsx(oe,{asChild:!0,children:J.jsx(te,{...a,children:i&&J.jsxs(J.Fragment,{children:[r.label," ",s]})})})},$t=Qe.forwardRef((e,t)=>{const{__scopeToast:s,...a}=e;return J.jsx(ee.div,{...a,ref:t})});$t.displayName="ToastTitle";var Yt=Qe.forwardRef((e,t)=>{const{__scopeToast:s,...a}=e;return J.jsx(ee.div,{...a,ref:t})});Yt.displayName="ToastDescription";var Kt=Qe.forwardRef((e,t)=>{const{altText:s,...a}=e;return s.trim()?J.jsx(Jt,{altText:s,asChild:!0,children:J.jsx(Zt,{...a,ref:t})}):null});Kt.displayName="ToastAction";var Qt="ToastClose",Zt=Qe.forwardRef((e,t)=>{const{__scopeToast:s,...a}=e,r=Bt(Qt,s);return J.jsx(Jt,{asChild:!0,children:J.jsx(ee.button,{type:"button",...a,ref:t,onClick:ie(e.onClick,r.onClose)})})});Zt.displayName=Qt;var Jt=Qe.forwardRef((e,t)=>{const{__scopeToast:s,altText:a,...r}=e;return J.jsx(ee.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":a||void 0,...r,ref:t})});function Xt(e){const t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),function(e){return e.nodeType===e.ELEMENT_NODE}(e)){const s=e.ariaHidden||e.hidden||"none"===e.style.display,a=""===e.dataset.radixToastAnnounceExclude;if(!s)if(a){const s=e.dataset.radixToastAnnounceAlt;s&&t.push(s)}else t.push(...Xt(e))}}),t}function es(e,t,s,{discrete:a}){const r=s.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s});t&&r.addEventListener(e,t,{once:!0}),a?de(r,i):r.dispatchEvent(i)}var ts=(e,t,s=0)=>{const a=Math.abs(e.x),r=Math.abs(e.y),i=a>r;return"left"===t||"right"===t?i&&a>s:!i&&r>s};function ss(e){const t=[],s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)t.push(s.currentNode);return t}function as(e){const t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var rs=Ot,is=_t,ns=Ht,os=$t,ls=Yt,ds=Kt,cs=Zt;const ms=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,hs=ct,xs=(e,t)=>s=>{var a;if(null==(null==t?void 0:t.variants))return hs(e,null==s?void 0:s.class,null==s?void 0:s.className);const{variants:r,defaultVariants:i}=t,n=Object.keys(r).map(e=>{const t=null==s?void 0:s[e],a=null==i?void 0:i[e];if(null===t)return null;const n=ms(t)||ms(a);return r[e][n]}),o=s&&Object.entries(s).reduce((e,t)=>{let[s,a]=t;return void 0===a||(e[s]=a),e},{}),l=null==t||null===(a=t.compoundVariants)||void 0===a?void 0:a.reduce((e,t)=>{let{class:s,className:a,...r}=t;return Object.entries(r).every(e=>{let[t,s]=e;return Array.isArray(s)?s.includes({...i,...o}[t]):{...i,...o}[t]===s})?[...e,s,a]:e},[]);return hs(e,n,l,null==s?void 0:s.class,null==s?void 0:s.className)},us=(...e)=>e.filter((e,t,s)=>Boolean(e)&&""!==e.trim()&&s.indexOf(e)===t).join(" ").trim();
/**
 * @license lucide-react v0.462.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
var ps={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};
/**
 * @license lucide-react v0.462.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const gs=Qe.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:a,className:r="",children:i,iconNode:n,...o},l)=>Qe.createElement("svg",{ref:l,...ps,width:t,height:t,stroke:e,strokeWidth:a?24*Number(s)/Number(t):s,className:us("lucide",r),...o},[...n.map(([e,t])=>Qe.createElement(e,t)),...Array.isArray(i)?i:[i]])),fs=(e,t)=>{const s=Qe.forwardRef(({className:s,...a},r)=>{return Qe.createElement(gs,{ref:r,iconNode:t,className:us(`lucide-${i=e,i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,s),...a});var i});return s.displayName=`${e}`,s},ys=fs("AArrowDown",[["path",{d:"M3.5 13h6",key:"p1my2r"}],["path",{d:"m2 16 4.5-9 4.5 9",key:"ndf0b3"}],["path",{d:"M18 7v9",key:"pknjwm"}],["path",{d:"m14 12 4 4 4-4",key:"buelq4"}]]),bs=fs("AArrowUp",[["path",{d:"M3.5 13h6",key:"p1my2r"}],["path",{d:"m2 16 4.5-9 4.5 9",key:"ndf0b3"}],["path",{d:"M18 16V7",key:"ty0viw"}],["path",{d:"m14 11 4-4 4 4",key:"1pu57t"}]]),vs=fs("ALargeSmall",[["path",{d:"M21 14h-5",key:"1vh23k"}],["path",{d:"M16 16v-3.5a2.5 2.5 0 0 1 5 0V16",key:"1wh10o"}],["path",{d:"M4.5 13h6",key:"dfilno"}],["path",{d:"m3 16 4.5-9 4.5 9",key:"2dxa0e"}]]),js=fs("Accessibility",[["circle",{cx:"16",cy:"4",r:"1",key:"1grugj"}],["path",{d:"m18 19 1-7-6 1",key:"r0i19z"}],["path",{d:"m5 8 3-3 5.5 3-2.36 3.5",key:"9ptxx2"}],["path",{d:"M4.24 14.5a5 5 0 0 0 6.88 6",key:"10kmtu"}],["path",{d:"M13.76 17.5a5 5 0 0 0-6.88-6",key:"2qq6rc"}]]),Ns=fs("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),ws=fs("AirVent",[["path",{d:"M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"larmp2"}],["path",{d:"M6 8h12",key:"6g4wlu"}],["path",{d:"M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12",key:"1bo8pg"}],["path",{d:"M6.6 15.6A2 2 0 1 0 10 17v-5",key:"t9h90c"}]]),ks=fs("Airplay",[["path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",key:"ns4c3b"}],["path",{d:"m12 15 5 6H7Z",key:"14qnn2"}]]),Ms=fs("AlarmClockCheck",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}],["path",{d:"m9 13 2 2 4-4",key:"6343dt"}]]),As=fs("AlarmClockMinus",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}],["path",{d:"M9 13h6",key:"1uhe8q"}]]),Ss=fs("AlarmClockOff",[["path",{d:"M6.87 6.87a8 8 0 1 0 11.26 11.26",key:"3on8tj"}],["path",{d:"M19.9 14.25a8 8 0 0 0-9.15-9.15",key:"15ghsc"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.26 18.67 4 21",key:"yzmioq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M4 4 2 6",key:"1ycko6"}]]),Cs=fs("AlarmClockPlus",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}]]),Is=fs("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]]),Ps=fs("AlarmSmoke",[["path",{d:"M11 21c0-2.5 2-2.5 2-5",key:"1sicvv"}],["path",{d:"M16 21c0-2.5 2-2.5 2-5",key:"1o3eny"}],["path",{d:"m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8",key:"1bvca4"}],["path",{d:"M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z",key:"x3qr1j"}],["path",{d:"M6 21c0-2.5 2-2.5 2-5",key:"i3w1gp"}]]),Ts=fs("Album",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["polyline",{points:"11 3 11 11 14 8 17 11 17 3",key:"1wcwz3"}]]),Rs=fs("AlignCenterHorizontal",[["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4",key:"11f1s0"}],["path",{d:"M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4",key:"t14dx9"}],["path",{d:"M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1",key:"1w07xs"}],["path",{d:"M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1",key:"1apec2"}]]),Os=fs("AlignCenterVertical",[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4",key:"14d6g8"}],["path",{d:"M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4",key:"1e2lrw"}],["path",{d:"M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1",key:"1fkdwx"}],["path",{d:"M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1",key:"1euafb"}]]),Ds=fs("AlignCenter",[["path",{d:"M17 12H7",key:"16if0g"}],["path",{d:"M19 18H5",key:"18s9l3"}],["path",{d:"M21 6H3",key:"1jwq7v"}]]),qs=fs("AlignEndHorizontal",[["rect",{width:"6",height:"16",x:"4",y:"2",rx:"2",key:"z5wdxg"}],["rect",{width:"6",height:"9",x:"14",y:"9",rx:"2",key:"um7a8w"}],["path",{d:"M22 22H2",key:"19qnx5"}]]),Es=fs("AlignEndVertical",[["rect",{width:"16",height:"6",x:"2",y:"4",rx:"2",key:"10wcwx"}],["rect",{width:"9",height:"6",x:"9",y:"14",rx:"2",key:"4p5bwg"}],["path",{d:"M22 22V2",key:"12ipfv"}]]),zs=fs("AlignHorizontalDistributeCenter",[["rect",{width:"6",height:"14",x:"4",y:"5",rx:"2",key:"1wwnby"}],["rect",{width:"6",height:"10",x:"14",y:"7",rx:"2",key:"1fe6j6"}],["path",{d:"M17 22v-5",key:"4b6g73"}],["path",{d:"M17 7V2",key:"hnrr36"}],["path",{d:"M7 22v-3",key:"1r4jpn"}],["path",{d:"M7 5V2",key:"liy1u9"}]]),_s=fs("AlignHorizontalDistributeEnd",[["rect",{width:"6",height:"14",x:"4",y:"5",rx:"2",key:"1wwnby"}],["rect",{width:"6",height:"10",x:"14",y:"7",rx:"2",key:"1fe6j6"}],["path",{d:"M10 2v20",key:"uyc634"}],["path",{d:"M20 2v20",key:"1tx262"}]]),Ls=fs("AlignHorizontalDistributeStart",[["rect",{width:"6",height:"14",x:"4",y:"5",rx:"2",key:"1wwnby"}],["rect",{width:"6",height:"10",x:"14",y:"7",rx:"2",key:"1fe6j6"}],["path",{d:"M4 2v20",key:"gtpd5x"}],["path",{d:"M14 2v20",key:"tg6bpw"}]]),Fs=fs("AlignHorizontalJustifyCenter",[["rect",{width:"6",height:"14",x:"2",y:"5",rx:"2",key:"dy24zr"}],["rect",{width:"6",height:"10",x:"16",y:"7",rx:"2",key:"13zkjt"}],["path",{d:"M12 2v20",key:"t6zp3m"}]]),Ws=fs("AlignHorizontalJustifyEnd",[["rect",{width:"6",height:"14",x:"2",y:"5",rx:"2",key:"dy24zr"}],["rect",{width:"6",height:"10",x:"12",y:"7",rx:"2",key:"1ht384"}],["path",{d:"M22 2v20",key:"40qfg1"}]]),Hs=fs("AlignHorizontalJustifyStart",[["rect",{width:"6",height:"14",x:"6",y:"5",rx:"2",key:"hsirpf"}],["rect",{width:"6",height:"10",x:"16",y:"7",rx:"2",key:"13zkjt"}],["path",{d:"M2 2v20",key:"1ivd8o"}]]),Vs=fs("AlignHorizontalSpaceAround",[["rect",{width:"6",height:"10",x:"9",y:"7",rx:"2",key:"yn7j0q"}],["path",{d:"M4 22V2",key:"tsjzd3"}],["path",{d:"M20 22V2",key:"1bnhr8"}]]),Bs=fs("AlignHorizontalSpaceBetween",[["rect",{width:"6",height:"14",x:"3",y:"5",rx:"2",key:"j77dae"}],["rect",{width:"6",height:"10",x:"15",y:"7",rx:"2",key:"bq30hj"}],["path",{d:"M3 2v20",key:"1d2pfg"}],["path",{d:"M21 2v20",key:"p059bm"}]]),Gs=fs("AlignJustify",[["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 18h18",key:"1h113x"}],["path",{d:"M3 6h18",key:"d0wm0j"}]]),Us=fs("AlignLeft",[["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 18H3",key:"1amg6g"}],["path",{d:"M21 6H3",key:"1jwq7v"}]]),$s=fs("AlignRight",[["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M21 18H7",key:"1ygte8"}],["path",{d:"M21 6H3",key:"1jwq7v"}]]),Ys=fs("AlignStartHorizontal",[["rect",{width:"6",height:"16",x:"4",y:"6",rx:"2",key:"1n4dg1"}],["rect",{width:"6",height:"9",x:"14",y:"6",rx:"2",key:"17khns"}],["path",{d:"M22 2H2",key:"fhrpnj"}]]),Ks=fs("AlignStartVertical",[["rect",{width:"9",height:"6",x:"6",y:"14",rx:"2",key:"lpm2y7"}],["rect",{width:"16",height:"6",x:"6",y:"4",rx:"2",key:"rdj6ps"}],["path",{d:"M2 2v20",key:"1ivd8o"}]]),Qs=fs("AlignVerticalDistributeCenter",[["path",{d:"M22 17h-3",key:"1lwga1"}],["path",{d:"M22 7h-5",key:"o2endc"}],["path",{d:"M5 17H2",key:"1gx9xc"}],["path",{d:"M7 7H2",key:"6bq26l"}],["rect",{x:"5",y:"14",width:"14",height:"6",rx:"2",key:"1qrzuf"}],["rect",{x:"7",y:"4",width:"10",height:"6",rx:"2",key:"we8e9z"}]]),Zs=fs("AlignVerticalDistributeEnd",[["rect",{width:"14",height:"6",x:"5",y:"14",rx:"2",key:"jmoj9s"}],["rect",{width:"10",height:"6",x:"7",y:"4",rx:"2",key:"aza5on"}],["path",{d:"M2 20h20",key:"owomy5"}],["path",{d:"M2 10h20",key:"1ir3d8"}]]),Js=fs("AlignVerticalDistributeStart",[["rect",{width:"14",height:"6",x:"5",y:"14",rx:"2",key:"jmoj9s"}],["rect",{width:"10",height:"6",x:"7",y:"4",rx:"2",key:"aza5on"}],["path",{d:"M2 14h20",key:"myj16y"}],["path",{d:"M2 4h20",key:"mda7wb"}]]),Xs=fs("AlignVerticalJustifyCenter",[["rect",{width:"14",height:"6",x:"5",y:"16",rx:"2",key:"1i8z2d"}],["rect",{width:"10",height:"6",x:"7",y:"2",rx:"2",key:"ypihtt"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),ea=fs("AlignVerticalJustifyEnd",[["rect",{width:"14",height:"6",x:"5",y:"12",rx:"2",key:"4l4tp2"}],["rect",{width:"10",height:"6",x:"7",y:"2",rx:"2",key:"ypihtt"}],["path",{d:"M2 22h20",key:"272qi7"}]]),ta=fs("AlignVerticalJustifyStart",[["rect",{width:"14",height:"6",x:"5",y:"16",rx:"2",key:"1i8z2d"}],["rect",{width:"10",height:"6",x:"7",y:"6",rx:"2",key:"13squh"}],["path",{d:"M2 2h20",key:"1ennik"}]]),sa=fs("AlignVerticalSpaceAround",[["rect",{width:"10",height:"6",x:"7",y:"9",rx:"2",key:"b1zbii"}],["path",{d:"M22 20H2",key:"1p1f7z"}],["path",{d:"M22 4H2",key:"1b7qnq"}]]),aa=fs("AlignVerticalSpaceBetween",[["rect",{width:"14",height:"6",x:"5",y:"15",rx:"2",key:"1w91an"}],["rect",{width:"10",height:"6",x:"7",y:"3",rx:"2",key:"17wqzy"}],["path",{d:"M2 21h20",key:"1nyx9w"}],["path",{d:"M2 3h20",key:"91anmk"}]]),ra=fs("Ambulance",[["path",{d:"M10 10H6",key:"1bsnug"}],["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14",key:"lrkjwd"}],["path",{d:"M8 8v4",key:"1fwk8c"}],["path",{d:"M9 18h6",key:"x1upvd"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]]),ia=fs("Ampersand",[["path",{d:"M17.5 12c0 4.4-3.6 8-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13",key:"1o9ehi"}],["path",{d:"M16 12h3",key:"4uvgyw"}]]),na=fs("Ampersands",[["path",{d:"M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5",key:"12lh1k"}],["path",{d:"M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5",key:"173c68"}]]),oa=fs("Amphora",[["path",{d:"M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8",key:"1h8rid"}],["path",{d:"M10 5H8a2 2 0 0 0 0 4h.68",key:"3ezsi6"}],["path",{d:"M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8",key:"yt6q09"}],["path",{d:"M14 5h2a2 2 0 0 1 0 4h-.68",key:"8f95yk"}],["path",{d:"M18 22H6",key:"mg6kv4"}],["path",{d:"M9 2h6",key:"1jrp98"}]]),la=fs("Anchor",[["path",{d:"M12 22V8",key:"qkxhtm"}],["path",{d:"M5 12H2a10 10 0 0 0 20 0h-3",key:"1hv3nh"}],["circle",{cx:"12",cy:"5",r:"3",key:"rqqgnr"}]]),da=fs("Angry",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 16s-1.5-2-4-2-4 2-4 2",key:"epbg0q"}],["path",{d:"M7.5 8 10 9",key:"olxxln"}],["path",{d:"m14 9 2.5-1",key:"1j6cij"}],["path",{d:"M9 10h.01",key:"qbtxuw"}],["path",{d:"M15 10h.01",key:"1qmjsl"}]]),ca=fs("Annoyed",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 15h8",key:"45n4r"}],["path",{d:"M8 9h2",key:"1g203m"}],["path",{d:"M14 9h2",key:"116p9w"}]]),ma=fs("Antenna",[["path",{d:"M2 12 7 2",key:"117k30"}],["path",{d:"m7 12 5-10",key:"1tvx22"}],["path",{d:"m12 12 5-10",key:"ev1o1a"}],["path",{d:"m17 12 5-10",key:"1e4ti3"}],["path",{d:"M4.5 7h15",key:"vlsxkz"}],["path",{d:"M12 16v6",key:"c8a4gj"}]]),ha=fs("Anvil",[["path",{d:"M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4",key:"1hjpb6"}],["path",{d:"M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z",key:"1qn45f"}],["path",{d:"M9 12v5",key:"3anwtq"}],["path",{d:"M15 12v5",key:"5xh3zn"}],["path",{d:"M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1",key:"1fi4x8"}]]),xa=fs("Aperture",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m14.31 8 5.74 9.94",key:"1y6ab4"}],["path",{d:"M9.69 8h11.48",key:"1wxppr"}],["path",{d:"m7.38 12 5.74-9.94",key:"1grp0k"}],["path",{d:"M9.69 16 3.95 6.06",key:"libnyf"}],["path",{d:"M14.31 16H2.83",key:"x5fava"}],["path",{d:"m16.62 12-5.74 9.94",key:"1vwawt"}]]),ua=fs("AppWindowMac",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M14 8h.01",key:"1primd"}]]),pa=fs("AppWindow",[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]),ga=fs("Apple",[["path",{d:"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z",key:"3s7exb"}],["path",{d:"M10 2c1 .5 2 2 2 5",key:"fcco2y"}]]),fa=fs("ArchiveRestore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]),ya=fs("ArchiveX",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"m9.5 17 5-5",key:"nakeu6"}],["path",{d:"m9.5 12 5 5",key:"1hccrj"}]]),ba=fs("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]),va=fs("Armchair",[["path",{d:"M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3",key:"irtipd"}],["path",{d:"M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z",key:"1qyhux"}],["path",{d:"M5 18v2",key:"ppbyun"}],["path",{d:"M19 18v2",key:"gy7782"}]]),ja=fs("ArrowBigDownDash",[["path",{d:"M15 5H9",key:"1tp3ed"}],["path",{d:"M15 9v3h4l-7 7-7-7h4V9z",key:"ncdc4b"}]]),Na=fs("ArrowBigDown",[["path",{d:"M15 6v6h4l-7 7-7-7h4V6h6z",key:"1thax2"}]]),wa=fs("ArrowBigLeftDash",[["path",{d:"M19 15V9",key:"1hci5f"}],["path",{d:"M15 15h-3v4l-7-7 7-7v4h3v6z",key:"16tjna"}]]),ka=fs("ArrowBigLeft",[["path",{d:"M18 15h-6v4l-7-7 7-7v4h6v6z",key:"lbrdak"}]]),Ma=fs("ArrowBigRightDash",[["path",{d:"M5 9v6",key:"158jrl"}],["path",{d:"M9 9h3V5l7 7-7 7v-4H9V9z",key:"1sg2xn"}]]),Aa=fs("ArrowBigRight",[["path",{d:"M6 9h6V5l7 7-7 7v-4H6V9z",key:"7fvt9c"}]]),Sa=fs("ArrowBigUpDash",[["path",{d:"M9 19h6",key:"456am0"}],["path",{d:"M9 15v-3H5l7-7 7 7h-4v3H9z",key:"1r2uve"}]]),Ca=fs("ArrowBigUp",[["path",{d:"M9 18v-6H5l7-7 7 7h-4v6H9z",key:"1x06kx"}]]),Ia=fs("ArrowDown01",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["rect",{x:"15",y:"4",width:"4",height:"6",ry:"2",key:"1bwicg"}],["path",{d:"M17 20v-6h-2",key:"1qp1so"}],["path",{d:"M15 20h4",key:"1j968p"}]]),Pa=fs("ArrowDown10",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M17 10V4h-2",key:"zcsr5x"}],["path",{d:"M15 10h4",key:"id2lce"}],["rect",{x:"15",y:"14",width:"4",height:"6",ry:"2",key:"33xykx"}]]),Ta=fs("ArrowDownAZ",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]),Ra=fs("ArrowDownFromLine",[["path",{d:"M19 3H5",key:"1236rx"}],["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m6 15 6 6 6-6",key:"h15q88"}]]),Oa=fs("ArrowDownLeft",[["path",{d:"M17 7 7 17",key:"15tmo1"}],["path",{d:"M17 17H7V7",key:"1org7z"}]]),Da=fs("ArrowDownNarrowWide",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h4",key:"6d7r33"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h10",key:"1438ji"}]]),qa=fs("ArrowDownRight",[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]]),Ea=fs("ArrowDownToDot",[["path",{d:"M12 2v14",key:"jyx4ut"}],["path",{d:"m19 9-7 7-7-7",key:"1oe3oy"}],["circle",{cx:"12",cy:"21",r:"1",key:"o0uj5v"}]]),za=fs("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),_a=fs("ArrowDownUp",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"m21 8-4-4-4 4",key:"1c9v7m"}],["path",{d:"M17 4v16",key:"7dpous"}]]),La=fs("ArrowDownWideNarrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]),Fa=fs("ArrowDownZA",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M15 4h5l-5 6h5",key:"8asdl1"}],["path",{d:"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20",key:"r6l5cz"}],["path",{d:"M20 18h-5",key:"18j1r2"}]]),Wa=fs("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),Ha=fs("ArrowLeftFromLine",[["path",{d:"m9 6-6 6 6 6",key:"7v63n9"}],["path",{d:"M3 12h14",key:"13k4hi"}],["path",{d:"M21 19V5",key:"b4bplr"}]]),Va=fs("ArrowLeftRight",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]),Ba=fs("ArrowLeftToLine",[["path",{d:"M3 19V5",key:"rwsyhb"}],["path",{d:"m13 6-6 6 6 6",key:"1yhaz7"}],["path",{d:"M7 12h14",key:"uoisry"}]]),Ga=fs("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),Ua=fs("ArrowRightFromLine",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]),$a=fs("ArrowRightLeft",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]]),Ya=fs("ArrowRightToLine",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]),Ka=fs("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),Qa=fs("ArrowUp01",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["rect",{x:"15",y:"4",width:"4",height:"6",ry:"2",key:"1bwicg"}],["path",{d:"M17 20v-6h-2",key:"1qp1so"}],["path",{d:"M15 20h4",key:"1j968p"}]]),Za=fs("ArrowUp10",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M17 10V4h-2",key:"zcsr5x"}],["path",{d:"M15 10h4",key:"id2lce"}],["rect",{x:"15",y:"14",width:"4",height:"6",ry:"2",key:"33xykx"}]]),Ja=fs("ArrowUpAZ",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]),Xa=fs("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]),er=fs("ArrowUpFromDot",[["path",{d:"m5 9 7-7 7 7",key:"1hw5ic"}],["path",{d:"M12 16V2",key:"ywoabb"}],["circle",{cx:"12",cy:"21",r:"1",key:"o0uj5v"}]]),tr=fs("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]),sr=fs("ArrowUpLeft",[["path",{d:"M7 17V7h10",key:"11bw93"}],["path",{d:"M17 17 7 7",key:"2786uv"}]]),ar=fs("ArrowUpNarrowWide",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M11 12h4",key:"q8tih4"}],["path",{d:"M11 16h7",key:"uosisv"}],["path",{d:"M11 20h10",key:"jvxblo"}]]),rr=fs("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),ir=fs("ArrowUpToLine",[["path",{d:"M5 3h14",key:"7usisc"}],["path",{d:"m18 13-6-6-6 6",key:"1kf1n9"}],["path",{d:"M12 7v14",key:"1akyts"}]]),nr=fs("ArrowUpWideNarrow",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 16h7",key:"uosisv"}],["path",{d:"M11 20h4",key:"1krc32"}]]),or=fs("ArrowUpZA",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M15 4h5l-5 6h5",key:"8asdl1"}],["path",{d:"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20",key:"r6l5cz"}],["path",{d:"M20 18h-5",key:"18j1r2"}]]),lr=fs("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),dr=fs("ArrowsUpFromLine",[["path",{d:"m4 6 3-3 3 3",key:"9aidw8"}],["path",{d:"M7 17V3",key:"19qxw1"}],["path",{d:"m14 6 3-3 3 3",key:"6iy689"}],["path",{d:"M17 17V3",key:"o0fmgi"}],["path",{d:"M4 21h16",key:"1h09gz"}]]),cr=fs("Asterisk",[["path",{d:"M12 6v12",key:"1vza4d"}],["path",{d:"M17.196 9 6.804 15",key:"1ah31z"}],["path",{d:"m6.804 9 10.392 6",key:"1b6pxd"}]]),mr=fs("AtSign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),hr=fs("Atom",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z",key:"1l2ple"}],["path",{d:"M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z",key:"1wam0m"}]]),xr=fs("AudioLines",[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]),ur=fs("AudioWaveform",[["path",{d:"M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2",key:"57tc96"}]]),pr=fs("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]),gr=fs("Axe",[["path",{d:"m14 12-8.5 8.5a2.12 2.12 0 1 1-3-3L11 9",key:"csbz4o"}],["path",{d:"M15 13 9 7l4-4 6 6h3a8 8 0 0 1-7 7z",key:"113wfo"}]]),fr=fs("Axis3d",[["path",{d:"M4 4v16h16",key:"1s015l"}],["path",{d:"m4 20 7-7",key:"17qe9y"}]]),yr=fs("Baby",[["path",{d:"M9 12h.01",key:"157uk2"}],["path",{d:"M15 12h.01",key:"1k8ypt"}],["path",{d:"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5",key:"1u7htd"}],["path",{d:"M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1",key:"5yv0yz"}]]),br=fs("Backpack",[["path",{d:"M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z",key:"1ol0lm"}],["path",{d:"M8 10h8",key:"c7uz4u"}],["path",{d:"M8 18h8",key:"1no2b1"}],["path",{d:"M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6",key:"1fr6do"}],["path",{d:"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2",key:"donm21"}]]),vr=fs("BadgeAlert",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),jr=fs("BadgeCent",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M12 7v10",key:"jspqdw"}],["path",{d:"M15.4 10a4 4 0 1 0 0 4",key:"2eqtx8"}]]),Nr=fs("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),wr=fs("BadgeDollarSign",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 18V6",key:"zqpxq5"}]]),kr=fs("BadgeEuro",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M7 12h5",key:"gblrwe"}],["path",{d:"M15 9.4a4 4 0 1 0 0 5.2",key:"1makmb"}]]),Mr=fs("BadgeHelp",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["line",{x1:"12",x2:"12.01",y1:"17",y2:"17",key:"io3f8k"}]]),Ar=fs("BadgeIndianRupee",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M8 8h8",key:"1bis0t"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m13 17-5-1h1a4 4 0 0 0 0-8",key:"nu2bwa"}]]),Sr=fs("BadgeInfo",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["line",{x1:"12",x2:"12",y1:"16",y2:"12",key:"1y1yb1"}],["line",{x1:"12",x2:"12.01",y1:"8",y2:"8",key:"110wyk"}]]),Cr=fs("BadgeJapaneseYen",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 8 3 3v7",key:"17yadx"}],["path",{d:"m12 11 3-3",key:"p4cfq1"}],["path",{d:"M9 12h6",key:"1c52cq"}],["path",{d:"M9 16h6",key:"8wimt3"}]]),Ir=fs("BadgeMinus",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),Pr=fs("BadgePercent",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M9 9h.01",key:"1q5me6"}],["path",{d:"M15 15h.01",key:"lqbp3k"}]]),Tr=fs("BadgePlus",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["line",{x1:"12",x2:"12",y1:"8",y2:"16",key:"10p56q"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),Rr=fs("BadgePoundSterling",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M8 12h4",key:"qz6y1c"}],["path",{d:"M10 16V9.5a2.5 2.5 0 0 1 5 0",key:"3mlbjk"}],["path",{d:"M8 16h7",key:"sbedsn"}]]),Or=fs("BadgeRussianRuble",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M9 16h5",key:"1syiyw"}],["path",{d:"M9 12h5a2 2 0 1 0 0-4h-3v9",key:"1ge9c1"}]]),Dr=fs("BadgeSwissFranc",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M11 17V8h4",key:"1bfq6y"}],["path",{d:"M11 12h3",key:"2eqnfz"}],["path",{d:"M9 16h4",key:"1skf3a"}]]),qr=fs("BadgeX",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["line",{x1:"15",x2:"9",y1:"9",y2:"15",key:"f7djnv"}],["line",{x1:"9",x2:"15",y1:"9",y2:"15",key:"1shsy8"}]]),Er=fs("Badge",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}]]),zr=fs("BaggageClaim",[["path",{d:"M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2",key:"4irg2o"}],["path",{d:"M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10",key:"14fcyx"}],["rect",{width:"13",height:"8",x:"8",y:"6",rx:"1",key:"o6oiis"}],["circle",{cx:"18",cy:"20",r:"2",key:"t9985n"}],["circle",{cx:"9",cy:"20",r:"2",key:"e5v82j"}]]),_r=fs("Ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]]),Lr=fs("Banana",[["path",{d:"M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5",key:"1cscit"}],["path",{d:"M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z",key:"1y1nbv"}]]),Fr=fs("Bandage",[["path",{d:"M10 10.01h.01",key:"1e9xi7"}],["path",{d:"M10 14.01h.01",key:"ac23bv"}],["path",{d:"M14 10.01h.01",key:"2wfrvf"}],["path",{d:"M14 14.01h.01",key:"8tw8yn"}],["path",{d:"M18 6v11.5",key:"dkbidh"}],["path",{d:"M6 6v12",key:"vkc79e"}],["rect",{x:"2",y:"6",width:"20",height:"12",rx:"2",key:"1wpnh2"}]]),Wr=fs("Banknote",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M6 12h.01M18 12h.01",key:"113zkx"}]]),Hr=fs("Barcode",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M8 5v14",key:"1ybrkv"}],["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"M17 5v14",key:"ycjyhj"}],["path",{d:"M21 5v14",key:"nzette"}]]),Vr=fs("Baseline",[["path",{d:"M4 20h16",key:"14thso"}],["path",{d:"m6 16 6-12 6 12",key:"1b4byz"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Br=fs("Bath",[["path",{d:"M10 4 8 6",key:"1rru8s"}],["path",{d:"M17 19v2",key:"ts1sot"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"M7 19v2",key:"12npes"}],["path",{d:"M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5",key:"14ym8i"}]]),Gr=fs("BatteryCharging",[["path",{d:"M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2",key:"1sdynx"}],["path",{d:"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1",key:"1gkd3k"}],["path",{d:"m11 7-3 5h4l-3 5",key:"b4a64w"}],["line",{x1:"22",x2:"22",y1:"11",y2:"13",key:"4dh1rd"}]]),Ur=fs("BatteryFull",[["rect",{width:"16",height:"10",x:"2",y:"7",rx:"2",ry:"2",key:"1w10f2"}],["line",{x1:"22",x2:"22",y1:"11",y2:"13",key:"4dh1rd"}],["line",{x1:"6",x2:"6",y1:"11",y2:"13",key:"1wd6dw"}],["line",{x1:"10",x2:"10",y1:"11",y2:"13",key:"haxvl5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"13",key:"c6fn6x"}]]),$r=fs("BatteryLow",[["rect",{width:"16",height:"10",x:"2",y:"7",rx:"2",ry:"2",key:"1w10f2"}],["line",{x1:"22",x2:"22",y1:"11",y2:"13",key:"4dh1rd"}],["line",{x1:"6",x2:"6",y1:"11",y2:"13",key:"1wd6dw"}]]),Yr=fs("BatteryMedium",[["rect",{width:"16",height:"10",x:"2",y:"7",rx:"2",ry:"2",key:"1w10f2"}],["line",{x1:"22",x2:"22",y1:"11",y2:"13",key:"4dh1rd"}],["line",{x1:"6",x2:"6",y1:"11",y2:"13",key:"1wd6dw"}],["line",{x1:"10",x2:"10",y1:"11",y2:"13",key:"haxvl5"}]]),Kr=fs("BatteryWarning",[["path",{d:"M10 17h.01",key:"nbq80n"}],["path",{d:"M10 7v6",key:"nne03l"}],["path",{d:"M14 7h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2",key:"1x5o8m"}],["path",{d:"M22 11v2",key:"1wo06k"}],["path",{d:"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"1mdjgh"}]]),Qr=fs("Battery",[["rect",{width:"16",height:"10",x:"2",y:"7",rx:"2",ry:"2",key:"1w10f2"}],["line",{x1:"22",x2:"22",y1:"11",y2:"13",key:"4dh1rd"}]]),Zr=fs("Beaker",[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]]),Jr=fs("BeanOff",[["path",{d:"M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1",key:"bq3udt"}],["path",{d:"M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66",key:"17ccse"}],["path",{d:"M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04",key:"18zqgq"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Xr=fs("Bean",[["path",{d:"M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z",key:"1tvzk7"}],["path",{d:"M5.341 10.62a4 4 0 1 0 5.279-5.28",key:"2cyri2"}]]),ei=fs("BedDouble",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]),ti=fs("BedSingle",[["path",{d:"M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8",key:"1wm6mi"}],["path",{d:"M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4",key:"4k93s5"}],["path",{d:"M3 18h18",key:"1h113x"}]]),si=fs("Bed",[["path",{d:"M2 4v16",key:"vw9hq8"}],["path",{d:"M2 8h18a2 2 0 0 1 2 2v10",key:"1dgv2r"}],["path",{d:"M2 17h20",key:"18nfp3"}],["path",{d:"M6 8v9",key:"1yriud"}]]),ai=fs("Beef",[["circle",{cx:"12.5",cy:"8.5",r:"2.5",key:"9738u8"}],["path",{d:"M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z",key:"o0f6za"}],["path",{d:"m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5",key:"k7p6i0"}]]),ri=fs("BeerOff",[["path",{d:"M13 13v5",key:"igwfh0"}],["path",{d:"M17 11.47V8",key:"16yw0g"}],["path",{d:"M17 11h1a3 3 0 0 1 2.745 4.211",key:"1xbt65"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3",key:"c55o3e"}],["path",{d:"M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268",key:"1ydug7"}],["path",{d:"M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12",key:"q81o7q"}],["path",{d:"M9 14.6V18",key:"20ek98"}]]),ii=fs("Beer",[["path",{d:"M17 11h1a3 3 0 0 1 0 6h-1",key:"1yp76v"}],["path",{d:"M9 12v6",key:"1u1cab"}],["path",{d:"M13 12v6",key:"1sugkk"}],["path",{d:"M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z",key:"1510fo"}],["path",{d:"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"19jb7n"}]]),ni=fs("BellDot",[["path",{d:"M19.4 14.9C20.2 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 .7 0 1.3.1 1.9.3",key:"xcehk"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}],["circle",{cx:"18",cy:"8",r:"3",key:"1g0gzu"}]]),oi=fs("BellElectric",[["path",{d:"M18.8 4A6.3 8.7 0 0 1 20 9",key:"xve1fh"}],["path",{d:"M9 9h.01",key:"1q5me6"}],["circle",{cx:"9",cy:"9",r:"7",key:"p2h5vp"}],["rect",{width:"10",height:"6",x:"4",y:"16",rx:"2",key:"17f3te"}],["path",{d:"M14 19c3 0 4.6-1.6 4.6-1.6",key:"n7odp6"}],["circle",{cx:"20",cy:"16",r:"2",key:"1v9bxh"}]]),li=fs("BellMinus",[["path",{d:"M18.4 12c.8 3.8 2.6 5 2.6 5H3s3-2 3-9c0-3.3 2.7-6 6-6 1.8 0 3.4.8 4.5 2",key:"eck70s"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}],["path",{d:"M15 8h6",key:"8ybuxh"}]]),di=fs("BellOff",[["path",{d:"M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5",key:"o7mx20"}],["path",{d:"M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7",key:"16f1lm"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),ci=fs("BellPlus",[["path",{d:"M19.3 14.8C20.1 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 1 0 1.9.2 2.8.7",key:"guizqy"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}],["path",{d:"M15 8h6",key:"8ybuxh"}],["path",{d:"M18 5v6",key:"g5ayrv"}]]),mi=fs("BellRing",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}],["path",{d:"M4 2C2.8 3.7 2 5.7 2 8",key:"tap9e0"}],["path",{d:"M22 8c0-2.3-.8-4.3-2-6",key:"5bb3ad"}]]),hi=fs("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]),xi=fs("BetweenHorizontalEnd",[["rect",{width:"13",height:"7",x:"3",y:"3",rx:"1",key:"11xb64"}],["path",{d:"m22 15-3-3 3-3",key:"26chmm"}],["rect",{width:"13",height:"7",x:"3",y:"14",rx:"1",key:"k6ky7n"}]]),ui=fs("BetweenHorizontalStart",[["rect",{width:"13",height:"7",x:"8",y:"3",rx:"1",key:"pkso9a"}],["path",{d:"m2 9 3 3-3 3",key:"1agib5"}],["rect",{width:"13",height:"7",x:"8",y:"14",rx:"1",key:"1q5fc1"}]]),pi=fs("BetweenVerticalEnd",[["rect",{width:"7",height:"13",x:"3",y:"3",rx:"1",key:"1fdu0f"}],["path",{d:"m9 22 3-3 3 3",key:"17z65a"}],["rect",{width:"7",height:"13",x:"14",y:"3",rx:"1",key:"1squn4"}]]),gi=fs("BetweenVerticalStart",[["rect",{width:"7",height:"13",x:"3",y:"8",rx:"1",key:"1fjrkv"}],["path",{d:"m15 2-3 3-3-3",key:"1uh6eb"}],["rect",{width:"7",height:"13",x:"14",y:"8",rx:"1",key:"w3fjg8"}]]),fi=fs("BicepsFlexed",[["path",{d:"M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1",key:"1pmlyh"}],["path",{d:"M15 14a5 5 0 0 0-7.584 2",key:"5rb254"}],["path",{d:"M9.964 6.825C8.019 7.977 9.5 13 8 15",key:"kbvsx9"}]]),yi=fs("Bike",[["circle",{cx:"18.5",cy:"17.5",r:"3.5",key:"15x4ox"}],["circle",{cx:"5.5",cy:"17.5",r:"3.5",key:"1noe27"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["path",{d:"M12 17.5V14l-3-3 4-3 2 3h2",key:"1npguv"}]]),bi=fs("Binary",[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]]),vi=fs("Binoculars",[["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3",key:"3apit1"}],["path",{d:"M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z",key:"rhpgnw"}],["path",{d:"M 22 16 L 2 16",key:"14lkq7"}],["path",{d:"M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z",key:"104b3k"}],["path",{d:"M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3",key:"14fczp"}]]),ji=fs("Biohazard",[["circle",{cx:"12",cy:"11.9",r:"2",key:"e8h31w"}],["path",{d:"M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6",key:"17bolr"}],["path",{d:"m8.9 10.1 1.4.8",key:"15ezny"}],["path",{d:"M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5",key:"wtwa5u"}],["path",{d:"m15.1 10.1-1.4.8",key:"1r0b28"}],["path",{d:"M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2",key:"m7qszh"}],["path",{d:"M12 13.9v1.6",key:"zfyyim"}],["path",{d:"M13.5 5.4c-1-.2-2-.2-3 0",key:"1bi9q0"}],["path",{d:"M17 16.4c.7-.7 1.2-1.6 1.5-2.5",key:"1rhjqw"}],["path",{d:"M5.5 13.9c.3.9.8 1.8 1.5 2.5",key:"8gsud3"}]]),Ni=fs("Bird",[["path",{d:"M16 7h.01",key:"1kdx03"}],["path",{d:"M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20",key:"oj1oa8"}],["path",{d:"m20 7 2 .5-2 .5",key:"12nv4d"}],["path",{d:"M10 18v3",key:"1yea0a"}],["path",{d:"M14 17.75V21",key:"1pymcb"}],["path",{d:"M7 18a6 6 0 0 0 3.84-10.61",key:"1npnn0"}]]),wi=fs("Bitcoin",[["path",{d:"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727",key:"yr8idg"}]]),ki=fs("Blend",[["circle",{cx:"9",cy:"9",r:"7",key:"p2h5vp"}],["circle",{cx:"15",cy:"15",r:"7",key:"19ennj"}]]),Mi=fs("Blinds",[["path",{d:"M3 3h18",key:"o7r712"}],["path",{d:"M20 7H8",key:"gd2fo2"}],["path",{d:"M20 11H8",key:"1ynp89"}],["path",{d:"M10 19h10",key:"19hjk5"}],["path",{d:"M8 15h12",key:"1yqzne"}],["path",{d:"M4 3v14",key:"fggqzn"}],["circle",{cx:"4",cy:"19",r:"2",key:"p3m9r0"}]]),Ai=fs("Blocks",[["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["path",{d:"M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3",key:"1fpvtg"}]]),Si=fs("BluetoothConnected",[["path",{d:"m7 7 10 10-5 5V2l5 5L7 17",key:"1q5490"}],["line",{x1:"18",x2:"21",y1:"12",y2:"12",key:"1rsjjs"}],["line",{x1:"3",x2:"6",y1:"12",y2:"12",key:"11yl8c"}]]),Ci=fs("BluetoothOff",[["path",{d:"m17 17-5 5V12l-5 5",key:"v5aci6"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M14.5 9.5 17 7l-5-5v4.5",key:"1kddfz"}]]),Ii=fs("BluetoothSearching",[["path",{d:"m7 7 10 10-5 5V2l5 5L7 17",key:"1q5490"}],["path",{d:"M20.83 14.83a4 4 0 0 0 0-5.66",key:"k8tn1j"}],["path",{d:"M18 12h.01",key:"yjnet6"}]]),Pi=fs("Bluetooth",[["path",{d:"m7 7 10 10-5 5V2l5 5L7 17",key:"1q5490"}]]),Ti=fs("Bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]),Ri=fs("Bolt",[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]),Oi=fs("Bomb",[["circle",{cx:"11",cy:"13",r:"9",key:"hd149"}],["path",{d:"M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95",key:"jp4j1b"}],["path",{d:"m22 2-1.5 1.5",key:"ay92ug"}]]),Di=fs("Bone",[["path",{d:"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z",key:"w610uw"}]]),qi=fs("BookA",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"m8 13 4-7 4 7",key:"4rari8"}],["path",{d:"M9.1 11h5.7",key:"1gkovt"}]]),Ei=fs("BookAudio",[["path",{d:"M12 6v7",key:"1f6ttz"}],["path",{d:"M16 8v3",key:"gejaml"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 8v3",key:"1qzp49"}]]),zi=fs("BookCheck",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"m9 9.5 2 2 4-4",key:"1dth82"}]]),_i=fs("BookCopy",[["path",{d:"M2 16V4a2 2 0 0 1 2-2h11",key:"spzkk5"}],["path",{d:"M22 18H11a2 2 0 1 0 0 4h10.5a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5H11a2 2 0 0 0-2 2v12",key:"1wz07i"}],["path",{d:"M5 14H4a2 2 0 1 0 0 4h1",key:"16gqf9"}]]),Li=fs("BookDashed",[["path",{d:"M12 17h2",key:"13u4lk"}],["path",{d:"M12 22h2",key:"kn7ki6"}],["path",{d:"M12 2h2",key:"cvn524"}],["path",{d:"M18 22h1a1 1 0 0 0 1-1",key:"w6gbqz"}],["path",{d:"M18 2h1a1 1 0 0 1 1 1v1",key:"1vpra5"}],["path",{d:"M20 15v2h-2",key:"fph276"}],["path",{d:"M20 8v3",key:"deu0bs"}],["path",{d:"M4 11V9",key:"v3xsx8"}],["path",{d:"M4 19.5V15",key:"6gr39e"}],["path",{d:"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8",key:"wywhs9"}],["path",{d:"M8 22H6.5a1 1 0 0 1 0-5H8",key:"1cu73q"}]]),Fi=fs("BookDown",[["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"m9 10 3 3 3-3",key:"zt5b4y"}]]),Wi=fs("BookHeadphones",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 12v-2a4 4 0 0 1 8 0v2",key:"1vsqkj"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}]]),Hi=fs("BookHeart",[["path",{d:"M16 8.2A2.22 2.22 0 0 0 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9A2.22 2.22 0 0 0 8 8.2c0 .6.3 1.2.7 1.6A226.652 226.652 0 0 0 12 13a404 404 0 0 0 3.3-3.1 2.413 2.413 0 0 0 .7-1.7",key:"1t75a8"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]),Vi=fs("BookImage",[["path",{d:"m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17",key:"q6ojf0"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["circle",{cx:"10",cy:"8",r:"2",key:"2qkj4p"}]]),Bi=fs("BookKey",[["path",{d:"m19 3 1 1",key:"ze14oc"}],["path",{d:"m20 2-4.5 4.5",key:"1sppr8"}],["path",{d:"M20 8v13a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"1ocbpn"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H14",key:"1gfsgw"}],["circle",{cx:"14",cy:"8",r:"2",key:"u49eql"}]]),Gi=fs("BookLock",[["path",{d:"M18 6V4a2 2 0 1 0-4 0v2",key:"1aquzs"}],["path",{d:"M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"1rkj32"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10",key:"18wgow"}],["rect",{x:"12",y:"6",width:"8",height:"5",rx:"1",key:"73l30o"}]]),Ui=fs("BookMarked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]),$i=fs("BookMinus",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M9 10h6",key:"9gxzsh"}]]),Yi=fs("BookOpenCheck",[["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m16 12 2 2 4-4",key:"mdajum"}],["path",{d:"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3",key:"8arnkb"}]]),Ki=fs("BookOpenText",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M16 12h2",key:"7q9ll5"}],["path",{d:"M16 8h2",key:"msurwy"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}],["path",{d:"M6 12h2",key:"32wvfc"}],["path",{d:"M6 8h2",key:"30oboj"}]]),Qi=fs("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),Zi=fs("BookPlus",[["path",{d:"M12 7v6",key:"lw1j43"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M9 10h6",key:"9gxzsh"}]]),Ji=fs("BookText",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),Xi=fs("BookType",[["path",{d:"M10 13h4",key:"ytezjc"}],["path",{d:"M12 6v7",key:"1f6ttz"}],["path",{d:"M16 8V6H8v2",key:"x8j6u4"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]),en=fs("BookUp2",[["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"161d7n"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2",key:"1lorq7"}],["path",{d:"m9 10 3-3 3 3",key:"11gsxs"}],["path",{d:"m9 5 3-3 3 3",key:"l8vdw6"}]]),tn=fs("BookUp",[["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"m9 10 3-3 3 3",key:"11gsxs"}]]),sn=fs("BookUser",[["path",{d:"M15 13a3 3 0 1 0-6 0",key:"10j68g"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}]]),an=fs("BookX",[["path",{d:"m14.5 7-5 5",key:"dy991v"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"m9.5 7 5 5",key:"s45iea"}]]),rn=fs("Book",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]),nn=fs("BookmarkCheck",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z",key:"169p4p"}],["path",{d:"m9 10 2 2 4-4",key:"1gnqz4"}]]),on=fs("BookmarkMinus",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}],["line",{x1:"15",x2:"9",y1:"10",y2:"10",key:"1gty7f"}]]),ln=fs("BookmarkPlus",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}],["line",{x1:"12",x2:"12",y1:"7",y2:"13",key:"1cppfj"}],["line",{x1:"15",x2:"9",y1:"10",y2:"10",key:"1gty7f"}]]),dn=fs("BookmarkX",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z",key:"169p4p"}],["path",{d:"m14.5 7.5-5 5",key:"3lb6iw"}],["path",{d:"m9.5 7.5 5 5",key:"ko136h"}]]),cn=fs("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]),mn=fs("BoomBox",[["path",{d:"M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"vvzvr1"}],["path",{d:"M8 8v1",key:"xcqmfk"}],["path",{d:"M12 8v1",key:"1rj8u4"}],["path",{d:"M16 8v1",key:"1q12zr"}],["rect",{width:"20",height:"12",x:"2",y:"9",rx:"2",key:"igpb89"}],["circle",{cx:"8",cy:"15",r:"2",key:"fa4a8s"}],["circle",{cx:"16",cy:"15",r:"2",key:"14c3ya"}]]),hn=fs("BotMessageSquare",[["path",{d:"M12 6V2H8",key:"1155em"}],["path",{d:"m8 18-4 4V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2Z",key:"w2lp3e"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M9 11v2",key:"1ueba0"}],["path",{d:"M15 11v2",key:"i11awn"}],["path",{d:"M20 12h2",key:"1q8mjw"}]]),xn=fs("BotOff",[["path",{d:"M13.67 8H18a2 2 0 0 1 2 2v4.33",key:"7az073"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M22 22 2 2",key:"1r8tn9"}],["path",{d:"M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586",key:"s09a7a"}],["path",{d:"M9 13v2",key:"rq6x2g"}],["path",{d:"M9.67 4H12v2.33",key:"110xot"}]]),un=fs("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),pn=fs("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]),gn=fs("Boxes",[["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",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["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",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["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",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]),fn=fs("Braces",[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]]),yn=fs("Brackets",[["path",{d:"M16 3h3v18h-3",key:"1yor1f"}],["path",{d:"M8 21H5V3h3",key:"1qrfwo"}]]),bn=fs("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]),vn=fs("BrainCog",[["path",{d:"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5",key:"1kgmhc"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m15.7 10.4-.9.4",key:"ayzo6p"}],["path",{d:"m9.2 13.2-.9.4",key:"1uzb3g"}],["path",{d:"m13.6 15.7-.4-.9",key:"11ifqf"}],["path",{d:"m10.8 9.2-.4-.9",key:"1pmk2v"}],["path",{d:"m15.7 13.5-.9-.4",key:"7ng02m"}],["path",{d:"m9.2 10.9-.9-.4",key:"1x66zd"}],["path",{d:"m10.5 15.7.4-.9",key:"3js94g"}],["path",{d:"m13.1 9.2.4-.9",key:"18n7mc"}]]),jn=fs("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]),Nn=fs("BrickWall",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 9v6",key:"199k2o"}],["path",{d:"M16 15v6",key:"8rj2es"}],["path",{d:"M16 3v6",key:"1j6rpj"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 15v6",key:"1stoo3"}],["path",{d:"M8 3v6",key:"vlvjmk"}]]),wn=fs("BriefcaseBusiness",[["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2",key:"1ksdt3"}],["path",{d:"M22 13a18.15 18.15 0 0 1-20 0",key:"12hx5q"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]),kn=fs("BriefcaseConveyorBelt",[["path",{d:"M10 20v2",key:"1n8e1g"}],["path",{d:"M14 20v2",key:"1lq872"}],["path",{d:"M18 20v2",key:"10uadw"}],["path",{d:"M21 20H3",key:"kdqkdp"}],["path",{d:"M6 20v2",key:"a9bc87"}],["path",{d:"M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12",key:"17n9tx"}],["rect",{x:"4",y:"6",width:"16",height:"10",rx:"2",key:"1097i5"}]]),Mn=fs("BriefcaseMedical",[["path",{d:"M12 11v4",key:"a6ujw6"}],["path",{d:"M14 13h-4",key:"1pl8zg"}],["path",{d:"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2",key:"1ksdt3"}],["path",{d:"M18 6v14",key:"1mu4gy"}],["path",{d:"M6 6v14",key:"1s15cj"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]),An=fs("Briefcase",[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]),Sn=fs("BringToFront",[["rect",{x:"8",y:"8",width:"8",height:"8",rx:"2",key:"yj20xf"}],["path",{d:"M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2",key:"1ltk23"}],["path",{d:"M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2",key:"1q24h9"}]]),Cn=fs("Brush",[["path",{d:"m9.06 11.9 8.07-8.06a2.85 2.85 0 1 1 4.03 4.03l-8.06 8.08",key:"1styjt"}],["path",{d:"M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 0 0-3-3.02z",key:"z0l1mu"}]]),In=fs("BugOff",[["path",{d:"M15 7.13V6a3 3 0 0 0-5.14-2.1L8 2",key:"vl8zik"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M22 13h-4v-2a4 4 0 0 0-4-4h-1.3",key:"1ou0bd"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M7.7 7.7A4 4 0 0 0 6 11v3a6 6 0 0 0 11.13 3.13",key:"1njkjs"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}]]),Pn=fs("BugPlay",[["path",{d:"M12.765 21.522a.5.5 0 0 1-.765-.424v-8.196a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z",key:"17shqo"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M18 11a4 4 0 0 0-4-4h-4a4 4 0 0 0-4 4v3a6.1 6.1 0 0 0 2 4.5",key:"1tjixy"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M6.53 9C4.6 8.8 3 7.1 3 5",key:"32zzws"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1",key:"d7y7pr"}]]),Tn=fs("Bug",[["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1",key:"d7y7pr"}],["path",{d:"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6",key:"xs1cw7"}],["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M6.53 9C4.6 8.8 3 7.1 3 5",key:"32zzws"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M17.2 17c2.1.1 3.8 1.9 3.8 4",key:"k3fwyw"}]]),Rn=fs("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]),On=fs("Building",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["path",{d:"M9 22v-4h6v4",key:"r93iot"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}]]),Dn=fs("BusFront",[["path",{d:"M4 6 2 7",key:"1mqr15"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"m22 7-2-1",key:"1umjhc"}],["rect",{width:"16",height:"16",x:"4",y:"3",rx:"2",key:"1wxw4b"}],["path",{d:"M4 11h16",key:"mpoxn0"}],["path",{d:"M8 15h.01",key:"a7atzg"}],["path",{d:"M16 15h.01",key:"rnfrdf"}],["path",{d:"M6 19v2",key:"1loha6"}],["path",{d:"M18 21v-2",key:"sqyl04"}]]),qn=fs("Bus",[["path",{d:"M8 6v6",key:"18i7km"}],["path",{d:"M15 6v6",key:"1sg6z9"}],["path",{d:"M2 12h19.6",key:"de5uta"}],["path",{d:"M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3",key:"1wwztk"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}],["path",{d:"M9 18h5",key:"lrx6i"}],["circle",{cx:"16",cy:"18",r:"2",key:"1v4tcr"}]]),En=fs("CableCar",[["path",{d:"M10 3h.01",key:"lbucoy"}],["path",{d:"M14 2h.01",key:"1k8aa1"}],["path",{d:"m2 9 20-5",key:"1kz0j5"}],["path",{d:"M12 12V6.5",key:"1vbrij"}],["rect",{width:"16",height:"10",x:"4",y:"12",rx:"3",key:"if91er"}],["path",{d:"M9 12v5",key:"3anwtq"}],["path",{d:"M15 12v5",key:"5xh3zn"}],["path",{d:"M4 17h16",key:"g4d7ey"}]]),zn=fs("Cable",[["path",{d:"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1",key:"10bnsj"}],["path",{d:"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9",key:"1eqmu1"}],["path",{d:"M21 21v-2h-4",key:"14zm7j"}],["path",{d:"M3 5h4V3",key:"z442eg"}],["path",{d:"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3",key:"ebdjd7"}]]),_n=fs("CakeSlice",[["circle",{cx:"9",cy:"7",r:"2",key:"1305pl"}],["path",{d:"M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6",key:"xle13f"}],["path",{d:"M16 13H3",key:"1wpj08"}],["path",{d:"M16 17H3",key:"3lvfcd"}]]),Ln=fs("Cake",[["path",{d:"M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8",key:"1w3rig"}],["path",{d:"M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1",key:"n2jgmb"}],["path",{d:"M2 21h20",key:"1nyx9w"}],["path",{d:"M7 8v3",key:"1qtyvj"}],["path",{d:"M12 8v3",key:"hwp4zt"}],["path",{d:"M17 8v3",key:"1i6e5u"}],["path",{d:"M7 4h.01",key:"1bh4kh"}],["path",{d:"M12 4h.01",key:"1ujb9j"}],["path",{d:"M17 4h.01",key:"1upcoc"}]]),Fn=fs("Calculator",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["line",{x1:"8",x2:"16",y1:"6",y2:"6",key:"x4nwl0"}],["line",{x1:"16",x2:"16",y1:"14",y2:"18",key:"wjye3r"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M8 18h.01",key:"lrp35t"}]]),Wn=fs("Calendar1",[["path",{d:"M11 14h1v4",key:"fy54vd"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",key:"12vinp"}]]),Hn=fs("CalendarArrowDown",[["path",{d:"m14 18 4 4 4-4",key:"1waygx"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M18 14v8",key:"irew45"}],["path",{d:"M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343",key:"bse4f3"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}]]),Vn=fs("CalendarArrowUp",[["path",{d:"m14 18 4-4 4 4",key:"ftkppy"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M18 22v-8",key:"su0gjh"}],["path",{d:"M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9",key:"1exg90"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}]]),Bn=fs("CalendarCheck2",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8",key:"bce9hv"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"m16 20 2 2 4-4",key:"13tcca"}]]),Gn=fs("CalendarCheck",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"m9 16 2 2 4-4",key:"19s6y9"}]]),Un=fs("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]),$n=fs("CalendarCog",[["path",{d:"m15.2 16.9-.9-.4",key:"1r0w5f"}],["path",{d:"m15.2 19.1-.9.4",key:"j188fs"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"m16.9 15.2-.4-.9",key:"699xu"}],["path",{d:"m16.9 20.8-.4.9",key:"dfjc4z"}],["path",{d:"m19.5 14.3-.4.9",key:"1eb35c"}],["path",{d:"m19.5 21.7-.4-.9",key:"1tonu5"}],["path",{d:"M21 10.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6",key:"11kmuh"}],["path",{d:"m21.7 16.5-.9.4",key:"1knoei"}],["path",{d:"m21.7 19.5-.9-.4",key:"q4dx6b"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]),Yn=fs("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]),Kn=fs("CalendarFold",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 17V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11Z",key:"kg77oy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M15 22v-4a2 2 0 0 1 2-2h4",key:"1gnbqr"}]]),Qn=fs("CalendarHeart",[["path",{d:"M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7",key:"136lmk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z",key:"1t7hil"}]]),Zn=fs("CalendarMinus2",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M10 16h4",key:"17e571"}]]),Jn=fs("CalendarMinus",[["path",{d:"M16 19h6",key:"xwg31i"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5",key:"1scpom"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}]]),Xn=fs("CalendarOff",[["path",{d:"M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18",key:"16swn3"}],["path",{d:"M21 15.5V6a2 2 0 0 0-2-2H9.5",key:"yhw86o"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h7",key:"1wap6i"}],["path",{d:"M21 10h-5.5",key:"quycpq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),eo=fs("CalendarPlus2",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M10 16h4",key:"17e571"}],["path",{d:"M12 14v4",key:"1thi36"}]]),to=fs("CalendarPlus",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8",key:"3spt84"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M16 19h6",key:"xwg31i"}],["path",{d:"M19 16v6",key:"tddt3s"}]]),so=fs("CalendarRange",[["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M17 14h-6",key:"bkmgh3"}],["path",{d:"M13 18H7",key:"bb0bb7"}],["path",{d:"M7 14h.01",key:"1qa3f1"}],["path",{d:"M17 18h.01",key:"1bdyru"}]]),ao=fs("CalendarSearch",[["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25",key:"1jrsq6"}],["path",{d:"m22 22-1.875-1.875",key:"13zax7"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]),ro=fs("CalendarSync",[["path",{d:"M11 10v4h4",key:"172dkj"}],["path",{d:"m11 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"vu0qm5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"m21 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"1qgeyt"}],["path",{d:"M21 22v-4h-4",key:"hrummi"}],["path",{d:"M21 8.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4.3",key:"mctw84"}],["path",{d:"M3 10h4",key:"1el30a"}],["path",{d:"M8 2v4",key:"1cmpym"}]]),io=fs("CalendarX2",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8",key:"3spt84"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"m17 22 5-5",key:"1k6ppv"}],["path",{d:"m17 17 5 5",key:"p7ous7"}]]),no=fs("CalendarX",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"m14 14-4 4",key:"rymu2i"}],["path",{d:"m10 14 4 4",key:"3sz06r"}]]),oo=fs("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),lo=fs("CameraOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16",key:"qmtpty"}],["path",{d:"M9.5 4h5L17 7h3a2 2 0 0 1 2 2v7.5",key:"1ufyfc"}],["path",{d:"M14.121 15.121A3 3 0 1 1 9.88 10.88",key:"11zox6"}]]),co=fs("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]),mo=fs("CandyCane",[["path",{d:"M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z",key:"isaq8g"}],["path",{d:"M17.75 7 15 2.1",key:"12x7e8"}],["path",{d:"M10.9 4.8 13 9",key:"100a87"}],["path",{d:"m7.9 9.7 2 4.4",key:"ntfhaj"}],["path",{d:"M4.9 14.7 7 18.9",key:"1x43jy"}]]),ho=fs("CandyOff",[["path",{d:"m8.5 8.5-1 1a4.95 4.95 0 0 0 7 7l1-1",key:"1ff4ui"}],["path",{d:"M11.843 6.187A4.947 4.947 0 0 1 16.5 7.5a4.947 4.947 0 0 1 1.313 4.657",key:"1sbrv4"}],["path",{d:"M14 16.5V14",key:"1maf8j"}],["path",{d:"M14 6.5v1.843",key:"1a6u6t"}],["path",{d:"M10 10v7.5",key:"80pj65"}],["path",{d:"m16 7 1-5 1.367.683A3 3 0 0 0 19.708 3H21v1.292a3 3 0 0 0 .317 1.341L22 7l-5 1",key:"11a9mt"}],["path",{d:"m8 17-1 5-1.367-.683A3 3 0 0 0 4.292 21H3v-1.292a3 3 0 0 0-.317-1.341L2 17l5-1",key:"3mjmon"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),xo=fs("Candy",[["path",{d:"m9.5 7.5-2 2a4.95 4.95 0 1 0 7 7l2-2a4.95 4.95 0 1 0-7-7Z",key:"ue6khb"}],["path",{d:"M14 6.5v10",key:"5xnk7c"}],["path",{d:"M10 7.5v10",key:"1uew51"}],["path",{d:"m16 7 1-5 1.37.68A3 3 0 0 0 19.7 3H21v1.3c0 .46.1.92.32 1.33L22 7l-5 1",key:"b9cp6k"}],["path",{d:"m8 17-1 5-1.37-.68A3 3 0 0 0 4.3 21H3v-1.3a3 3 0 0 0-.32-1.33L2 17l5-1",key:"5lney8"}]]),uo=fs("Cannabis",[["path",{d:"M12 22v-4",key:"1utk9m"}],["path",{d:"M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6",key:"1mezod"}]]),po=fs("CaptionsOff",[["path",{d:"M10.5 5H19a2 2 0 0 1 2 2v8.5",key:"jqtk4d"}],["path",{d:"M17 11h-.5",key:"1961ue"}],["path",{d:"M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2",key:"1keqsi"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M7 11h4",key:"1o1z6v"}],["path",{d:"M7 15h2.5",key:"1ina1g"}]]),go=fs("Captions",[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]]),fo=fs("CarFront",[["path",{d:"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8",key:"1imjwt"}],["path",{d:"M7 14h.01",key:"1qa3f1"}],["path",{d:"M17 14h.01",key:"7oqj8z"}],["rect",{width:"18",height:"8",x:"3",y:"10",rx:"2",key:"a7itu8"}],["path",{d:"M5 18v2",key:"ppbyun"}],["path",{d:"M19 18v2",key:"gy7782"}]]),yo=fs("CarTaxiFront",[["path",{d:"M10 2h4",key:"n1abiw"}],["path",{d:"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8",key:"1imjwt"}],["path",{d:"M7 14h.01",key:"1qa3f1"}],["path",{d:"M17 14h.01",key:"7oqj8z"}],["rect",{width:"18",height:"8",x:"3",y:"10",rx:"2",key:"a7itu8"}],["path",{d:"M5 18v2",key:"ppbyun"}],["path",{d:"M19 18v2",key:"gy7782"}]]),bo=fs("Car",[["path",{d:"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2",key:"5owen"}],["circle",{cx:"7",cy:"17",r:"2",key:"u2ysq9"}],["path",{d:"M9 17h6",key:"r8uit2"}],["circle",{cx:"17",cy:"17",r:"2",key:"axvx0g"}]]),vo=fs("Caravan",[["path",{d:"M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2",key:"19jm3t"}],["path",{d:"M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2",key:"13hakp"}],["path",{d:"M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9",key:"1crci8"}],["circle",{cx:"8",cy:"19",r:"2",key:"t8fc5s"}]]),jo=fs("Carrot",[["path",{d:"M2.27 21.7s9.87-3.5 12.73-6.36a4.5 4.5 0 0 0-6.36-6.37C5.77 11.84 2.27 21.7 2.27 21.7zM8.64 14l-2.05-2.04M15.34 15l-2.46-2.46",key:"rfqxbe"}],["path",{d:"M22 9s-1.33-2-3.5-2C16.86 7 15 9 15 9s1.33 2 3.5 2S22 9 22 9z",key:"6b25w4"}],["path",{d:"M15 2s-2 1.33-2 3.5S15 9 15 9s2-1.84 2-3.5C17 3.33 15 2 15 2z",key:"fn65lo"}]]),No=fs("CaseLower",[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}]]),wo=fs("CaseSensitive",[["path",{d:"m3 15 4-8 4 8",key:"1vwr6u"}],["path",{d:"M4 13h6",key:"1r9ots"}],["circle",{cx:"18",cy:"12",r:"3",key:"1kchzo"}],["path",{d:"M21 9v6",key:"anns31"}]]),ko=fs("CaseUpper",[["path",{d:"m3 15 4-8 4 8",key:"1vwr6u"}],["path",{d:"M4 13h6",key:"1r9ots"}],["path",{d:"M15 11h4.5a2 2 0 0 1 0 4H15V7h4a2 2 0 0 1 0 4",key:"1sqfas"}]]),Mo=fs("CassetteTape",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["circle",{cx:"8",cy:"10",r:"2",key:"1xl4ub"}],["path",{d:"M8 12h8",key:"1wcyev"}],["circle",{cx:"16",cy:"10",r:"2",key:"r14t7q"}],["path",{d:"m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3",key:"l01ucn"}]]),Ao=fs("Cast",[["path",{d:"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",key:"3zrzxg"}],["path",{d:"M2 12a9 9 0 0 1 8 8",key:"g6cvee"}],["path",{d:"M2 16a5 5 0 0 1 4 4",key:"1y1dii"}],["line",{x1:"2",x2:"2.01",y1:"20",y2:"20",key:"xu2jvo"}]]),So=fs("Castle",[["path",{d:"M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z",key:"109fe4"}],["path",{d:"M18 11V4H6v7",key:"mon5oj"}],["path",{d:"M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4",key:"1k4jtn"}],["path",{d:"M22 11V9",key:"3zbp94"}],["path",{d:"M2 11V9",key:"1x5rnq"}],["path",{d:"M6 4V2",key:"1rsq15"}],["path",{d:"M18 4V2",key:"1jsdo1"}],["path",{d:"M10 4V2",key:"75d9ly"}],["path",{d:"M14 4V2",key:"8nj3z6"}]]),Co=fs("Cat",[["path",{d:"M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z",key:"x6xyqk"}],["path",{d:"M8 14v.5",key:"1nzgdb"}],["path",{d:"M16 14v.5",key:"1lajdz"}],["path",{d:"M11.25 16.25h1.5L12 17l-.75-.75Z",key:"12kq1m"}]]),Io=fs("Cctv",[["path",{d:"M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97",key:"ir91b5"}],["path",{d:"M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z",key:"jlp8i1"}],["path",{d:"M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15",key:"19bib8"}],["path",{d:"M2 21v-4",key:"l40lih"}],["path",{d:"M7 9h.01",key:"19b3jx"}]]),Po=fs("ChartArea",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z",key:"q0gr47"}]]),To=fs("ChartBarBig",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["rect",{x:"7",y:"13",width:"9",height:"4",rx:"1",key:"1iip1u"}],["rect",{x:"7",y:"5",width:"12",height:"4",rx:"1",key:"1anskk"}]]),Ro=fs("ChartBarDecreasing",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M7 11h8",key:"1feolt"}],["path",{d:"M7 16h3",key:"ur6vzw"}],["path",{d:"M7 6h12",key:"sz5b0d"}]]),Oo=fs("ChartBarIncreasing",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M7 11h8",key:"1feolt"}],["path",{d:"M7 16h12",key:"wsnu98"}],["path",{d:"M7 6h3",key:"w9rmul"}]]),Do=fs("ChartBarStacked",[["path",{d:"M11 13v4",key:"vyy2rb"}],["path",{d:"M15 5v4",key:"1gx88a"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["rect",{x:"7",y:"13",width:"9",height:"4",rx:"1",key:"1iip1u"}],["rect",{x:"7",y:"5",width:"12",height:"4",rx:"1",key:"1anskk"}]]),qo=fs("ChartBar",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M7 16h8",key:"srdodz"}],["path",{d:"M7 11h12",key:"127s9w"}],["path",{d:"M7 6h3",key:"w9rmul"}]]),Eo=fs("ChartCandlestick",[["path",{d:"M9 5v4",key:"14uxtq"}],["rect",{width:"4",height:"6",x:"7",y:"9",rx:"1",key:"f4fvz0"}],["path",{d:"M9 15v2",key:"r5rk32"}],["path",{d:"M17 3v2",key:"1l2re6"}],["rect",{width:"4",height:"8",x:"15",y:"5",rx:"1",key:"z38je5"}],["path",{d:"M17 13v3",key:"5l0wba"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}]]),zo=fs("ChartColumnBig",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["rect",{x:"15",y:"5",width:"4",height:"12",rx:"1",key:"q8uenq"}],["rect",{x:"7",y:"8",width:"4",height:"9",rx:"1",key:"sr5ea"}]]),_o=fs("ChartColumnDecreasing",[["path",{d:"M13 17V9",key:"1fwyjl"}],["path",{d:"M18 17v-3",key:"1sqioe"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M8 17V5",key:"1wzmnc"}]]),Lo=fs("ChartColumnIncreasing",[["path",{d:"M13 17V9",key:"1fwyjl"}],["path",{d:"M18 17V5",key:"sfb6ij"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),Fo=fs("ChartColumnStacked",[["path",{d:"M11 13H7",key:"t0o9gq"}],["path",{d:"M19 9h-4",key:"rera1j"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["rect",{x:"15",y:"5",width:"4",height:"12",rx:"1",key:"q8uenq"}],["rect",{x:"7",y:"8",width:"4",height:"9",rx:"1",key:"sr5ea"}]]),Wo=fs("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),Ho=fs("ChartGantt",[["path",{d:"M10 6h8",key:"zvc2xc"}],["path",{d:"M12 16h6",key:"yi5mkt"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M8 11h7",key:"wz2hg0"}]]),Vo=fs("ChartLine",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]),Bo=fs("ChartNetwork",[["path",{d:"m13.11 7.664 1.78 2.672",key:"go2gg9"}],["path",{d:"m14.162 12.788-3.324 1.424",key:"11x848"}],["path",{d:"m20 4-6.06 1.515",key:"1wxxh7"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["circle",{cx:"12",cy:"6",r:"2",key:"1jj5th"}],["circle",{cx:"16",cy:"12",r:"2",key:"4ma0v8"}],["circle",{cx:"9",cy:"15",r:"2",key:"lf2ghp"}]]),Go=fs("ChartNoAxesColumnDecreasing",[["path",{d:"M12 20V10",key:"g8npz5"}],["path",{d:"M18 20v-4",key:"8uic4z"}],["path",{d:"M6 20V4",key:"1w1bmo"}]]),Uo=fs("ChartNoAxesColumnIncreasing",[["line",{x1:"12",x2:"12",y1:"20",y2:"10",key:"1vz5eb"}],["line",{x1:"18",x2:"18",y1:"20",y2:"4",key:"cun8e5"}],["line",{x1:"6",x2:"6",y1:"20",y2:"16",key:"hq0ia6"}]]),$o=fs("ChartNoAxesColumn",[["line",{x1:"18",x2:"18",y1:"20",y2:"10",key:"1xfpm4"}],["line",{x1:"12",x2:"12",y1:"20",y2:"4",key:"be30l9"}],["line",{x1:"6",x2:"6",y1:"20",y2:"14",key:"1r4le6"}]]),Yo=fs("ChartNoAxesCombined",[["path",{d:"M12 16v5",key:"zza2cw"}],["path",{d:"M16 14v7",key:"1g90b9"}],["path",{d:"M20 10v11",key:"1iqoj0"}],["path",{d:"m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15",key:"1fw8x9"}],["path",{d:"M4 18v3",key:"1yp0dc"}],["path",{d:"M8 14v7",key:"n3cwzv"}]]),Ko=fs("ChartNoAxesGantt",[["path",{d:"M8 6h10",key:"9lnwnk"}],["path",{d:"M6 12h9",key:"1g9pqf"}],["path",{d:"M11 18h7",key:"c8dzvl"}]]),Qo=fs("ChartPie",[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]]),Zo=fs("ChartScatter",[["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}],["circle",{cx:"18.5",cy:"5.5",r:".5",fill:"currentColor",key:"lysivs"}],["circle",{cx:"11.5",cy:"11.5",r:".5",fill:"currentColor",key:"byv1b8"}],["circle",{cx:"7.5",cy:"16.5",r:".5",fill:"currentColor",key:"nkw3mc"}],["circle",{cx:"17.5",cy:"14.5",r:".5",fill:"currentColor",key:"1gjh6j"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}]]),Jo=fs("ChartSpline",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7",key:"lw07rv"}]]),Xo=fs("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]),el=fs("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),tl=fs("ChefHat",[["path",{d:"M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z",key:"1qvrer"}],["path",{d:"M6 17h12",key:"1jwigz"}]]),sl=fs("Cherry",[["path",{d:"M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z",key:"cvxqlc"}],["path",{d:"M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z",key:"1ostrc"}],["path",{d:"M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12",key:"hqx58h"}],["path",{d:"M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z",key:"eykp1o"}]]),al=fs("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),rl=fs("ChevronFirst",[["path",{d:"m17 18-6-6 6-6",key:"1yerx2"}],["path",{d:"M7 6v12",key:"1p53r6"}]]),il=fs("ChevronLast",[["path",{d:"m7 18 6-6-6-6",key:"lwmzdw"}],["path",{d:"M17 6v12",key:"1o0aio"}]]),nl=fs("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),ol=fs("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),ll=fs("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),dl=fs("ChevronsDownUp",[["path",{d:"m7 20 5-5 5 5",key:"13a0gw"}],["path",{d:"m7 4 5 5 5-5",key:"1kwcof"}]]),cl=fs("ChevronsDown",[["path",{d:"m7 6 5 5 5-5",key:"1lc07p"}],["path",{d:"m7 13 5 5 5-5",key:"1d48rs"}]]),ml=fs("ChevronsLeftRightEllipsis",[["path",{d:"m18 8 4 4-4 4",key:"1ak13k"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"M8 12h.01",key:"czm47f"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 12h.01",key:"1l6xoz"}]]),hl=fs("ChevronsLeftRight",[["path",{d:"m9 7-5 5 5 5",key:"j5w590"}],["path",{d:"m15 7 5 5-5 5",key:"1bl6da"}]]),xl=fs("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]),ul=fs("ChevronsRightLeft",[["path",{d:"m20 17-5-5 5-5",key:"30x0n2"}],["path",{d:"m4 17 5-5-5-5",key:"16spf4"}]]),pl=fs("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]),gl=fs("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]),fl=fs("ChevronsUp",[["path",{d:"m17 11-5-5-5 5",key:"e8nh98"}],["path",{d:"m17 18-5-5-5 5",key:"2avn1x"}]]),yl=fs("Chrome",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["line",{x1:"21.17",x2:"12",y1:"8",y2:"8",key:"a0cw5f"}],["line",{x1:"3.95",x2:"8.54",y1:"6.06",y2:"14",key:"1kftof"}],["line",{x1:"10.88",x2:"15.46",y1:"21.94",y2:"14",key:"1ymyh8"}]]),bl=fs("Church",[["path",{d:"M10 9h4",key:"u4k05v"}],["path",{d:"M12 7v5",key:"ma6bk"}],["path",{d:"M14 22v-4a2 2 0 0 0-4 0v4",key:"1pdhuj"}],["path",{d:"M18 22V5.618a1 1 0 0 0-.553-.894l-4.553-2.277a2 2 0 0 0-1.788 0L6.553 4.724A1 1 0 0 0 6 5.618V22",key:"1rkokr"}],["path",{d:"m18 7 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.618a1 1 0 0 1 .553-.894L6 7",key:"1w6esw"}]]),vl=fs("CigaretteOff",[["path",{d:"M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13",key:"1gdiyg"}],["path",{d:"M18 8c0-2.5-2-2.5-2-5",key:"1il607"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866",key:"166zjj"}],["path",{d:"M22 8c0-2.5-2-2.5-2-5",key:"1gah44"}],["path",{d:"M7 12v4",key:"jqww69"}]]),jl=fs("Cigarette",[["path",{d:"M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14",key:"1mb5g1"}],["path",{d:"M18 8c0-2.5-2-2.5-2-5",key:"1il607"}],["path",{d:"M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"1yl5r7"}],["path",{d:"M22 8c0-2.5-2-2.5-2-5",key:"1gah44"}],["path",{d:"M7 12v4",key:"jqww69"}]]),Nl=fs("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),wl=fs("CircleArrowDown",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"m8 12 4 4 4-4",key:"k98ssh"}]]),kl=fs("CircleArrowLeft",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 12H8",key:"1fr5h0"}],["path",{d:"m12 8-4 4 4 4",key:"15vm53"}]]),Ml=fs("CircleArrowOutDownLeft",[["path",{d:"M2 12a10 10 0 1 1 10 10",key:"1yn6ov"}],["path",{d:"m2 22 10-10",key:"28ilpk"}],["path",{d:"M8 22H2v-6",key:"sulq54"}]]),Al=fs("CircleArrowOutDownRight",[["path",{d:"M12 22a10 10 0 1 1 10-10",key:"130bv5"}],["path",{d:"M22 22 12 12",key:"131aw7"}],["path",{d:"M22 16v6h-6",key:"1gvm70"}]]),Sl=fs("CircleArrowOutUpLeft",[["path",{d:"M2 8V2h6",key:"hiwtdz"}],["path",{d:"m2 2 10 10",key:"1oh8rs"}],["path",{d:"M12 2A10 10 0 1 1 2 12",key:"rrk4fa"}]]),Cl=fs("CircleArrowOutUpRight",[["path",{d:"M22 12A10 10 0 1 1 12 2",key:"1fm58d"}],["path",{d:"M22 2 12 12",key:"yg2myt"}],["path",{d:"M16 2h6v6",key:"zan5cs"}]]),Il=fs("CircleArrowRight",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m12 16 4-4-4-4",key:"1i9zcv"}]]),Pl=fs("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]),Tl=fs("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Rl=fs("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),Ol=fs("CircleChevronDown",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),Dl=fs("CircleChevronLeft",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m14 16-4-4 4-4",key:"ojs7w8"}]]),ql=fs("CircleChevronRight",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),El=fs("CircleChevronUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m8 14 4-4 4 4",key:"fy2ptz"}]]),zl=fs("CircleDashed",[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]),_l=fs("CircleDivide",[["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}],["line",{x1:"12",x2:"12",y1:"16",y2:"16",key:"aqc6ln"}],["line",{x1:"12",x2:"12",y1:"8",y2:"8",key:"1mkcni"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ll=fs("CircleDollarSign",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 18V6",key:"zqpxq5"}]]),Fl=fs("CircleDotDashed",[["path",{d:"M10.1 2.18a9.93 9.93 0 0 1 3.8 0",key:"1qdqn0"}],["path",{d:"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7",key:"1bq7p6"}],["path",{d:"M21.82 10.1a9.93 9.93 0 0 1 0 3.8",key:"1rlaqf"}],["path",{d:"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69",key:"1xk03u"}],["path",{d:"M13.9 21.82a9.94 9.94 0 0 1-3.8 0",key:"l7re25"}],["path",{d:"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7",key:"1v18p6"}],["path",{d:"M2.18 13.9a9.93 9.93 0 0 1 0-3.8",key:"xdo6bj"}],["path",{d:"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69",key:"1jjmaz"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),Wl=fs("CircleDot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),Hl=fs("CircleEllipsis",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M17 12h.01",key:"1m0b6t"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M7 12h.01",key:"eqddd0"}]]),Vl=fs("CircleEqual",[["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M7 14h10",key:"1mhdw3"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Bl=fs("CircleFadingArrowUp",[["path",{d:"M12 2a10 10 0 0 1 7.38 16.75",key:"175t95"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}],["path",{d:"M2.5 8.875a10 10 0 0 0-.5 3",key:"1vce0s"}],["path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4",key:"o3fkw4"}],["path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857",key:"1szpfk"}],["path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38",key:"9yhvd4"}]]),Gl=fs("CircleFadingPlus",[["path",{d:"M12 2a10 10 0 0 1 7.38 16.75",key:"175t95"}],["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M16 12H8",key:"1fr5h0"}],["path",{d:"M2.5 8.875a10 10 0 0 0-.5 3",key:"1vce0s"}],["path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4",key:"o3fkw4"}],["path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857",key:"1szpfk"}],["path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38",key:"9yhvd4"}]]),Ul=fs("CircleGauge",[["path",{d:"M15.6 2.7a10 10 0 1 0 5.7 5.7",key:"1e0p6d"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M13.4 10.6 19 5",key:"1kr7tw"}]]),$l=fs("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Yl=fs("CircleMinus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Kl=fs("CircleOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.35 2.69A10 10 0 0 1 21.3 15.65",key:"1pfsoa"}],["path",{d:"M19.08 19.08A10 10 0 1 1 4.92 4.92",key:"1ablyi"}]]),Ql=fs("CircleParkingOff",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m5 5 14 14",key:"11anup"}],["path",{d:"M13 13a3 3 0 1 0 0-6H9v2",key:"uoagbd"}],["path",{d:"M9 17v-2.34",key:"a9qo08"}]]),Zl=fs("CircleParking",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9 17V7h4a3 3 0 0 1 0 6H9",key:"1dfk2c"}]]),Jl=fs("CirclePause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]]),Xl=fs("CirclePercent",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M9 9h.01",key:"1q5me6"}],["path",{d:"M15 15h.01",key:"lqbp3k"}]]),ed=fs("CirclePlay",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polygon",{points:"10 8 16 12 10 16 10 8",key:"1cimsy"}]]),td=fs("CirclePlus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),sd=fs("CirclePower",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),ad=fs("CircleSlash2",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M22 2 2 22",key:"y4kqgn"}]]),rd=fs("CircleSlash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),id=fs("CircleStop",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]),nd=fs("CircleUserRound",[["path",{d:"M18 20a6 6 0 0 0-12 0",key:"1qehca"}],["circle",{cx:"12",cy:"10",r:"4",key:"1h16sb"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),od=fs("CircleUser",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]]),ld=fs("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),dd=fs("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),cd=fs("CircuitBoard",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M11 9h4a2 2 0 0 0 2-2V3",key:"1ve2rv"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"M7 21v-4a2 2 0 0 1 2-2h4",key:"1fwkro"}],["circle",{cx:"15",cy:"15",r:"2",key:"3i40o0"}]]),md=fs("Citrus",[["path",{d:"M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z",key:"4ite01"}],["path",{d:"M19.65 15.66A8 8 0 0 1 8.35 4.34",key:"1gxipu"}],["path",{d:"m14 10-5.5 5.5",key:"92pfem"}],["path",{d:"M14 17.85V10H6.15",key:"xqmtsk"}]]),hd=fs("Clapperboard",[["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z",key:"1tn4o7"}],["path",{d:"m6.2 5.3 3.1 3.9",key:"iuk76l"}],["path",{d:"m12.4 3.4 3.1 4",key:"6hsd6n"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z",key:"ltgou9"}]]),xd=fs("ClipboardCheck",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]]),ud=fs("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),pd=fs("ClipboardList",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]),gd=fs("ClipboardMinus",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M9 14h6",key:"159ibu"}]]),fd=fs("ClipboardPaste",[["path",{d:"M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z",key:"1pp7kr"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10",key:"2ik1ml"}],["path",{d:"m17 10 4 4-4 4",key:"vp2hj1"}]]),yd=fs("ClipboardPenLine",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",key:"1oijnt"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5",key:"1but9f"}],["path",{d:"M16 4h2a2 2 0 0 1 1.73 1",key:"1p8n7l"}],["path",{d:"M8 18h1",key:"13wk12"}],["path",{d:"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"2t3380"}]]),bd=fs("ClipboardPen",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",key:"1oijnt"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5",key:"cereej"}],["path",{d:"M4 13.5V6a2 2 0 0 1 2-2h2",key:"5ua5vh"}],["path",{d:"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1y4qbx"}]]),vd=fs("ClipboardPlus",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M9 14h6",key:"159ibu"}],["path",{d:"M12 17v-6",key:"1y8rbf"}]]),jd=fs("ClipboardType",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M9 12v-1h6v1",key:"iehl6m"}],["path",{d:"M11 17h2",key:"12w5me"}],["path",{d:"M12 11v6",key:"1bwqyc"}]]),Nd=fs("ClipboardX",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m15 11-6 6",key:"1toa9n"}],["path",{d:"m9 11 6 6",key:"wlibny"}]]),wd=fs("Clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]),kd=fs("Clock1",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 14.5 8",key:"12zbmj"}]]),Md=fs("Clock10",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 8 10",key:"atfzqc"}]]),Ad=fs("Clock11",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 9.5 8",key:"l5bg6f"}]]),Sd=fs("Clock12",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12",key:"1fub01"}]]),Cd=fs("Clock2",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 10",key:"1g230d"}]]),Id=fs("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]),Pd=fs("Clock4",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),Td=fs("Clock5",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 14.5 16",key:"1pcbox"}]]),Rd=fs("Clock6",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 12 16.5",key:"hb2qv6"}]]),Od=fs("Clock7",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 9.5 16",key:"ka3394"}]]),Dd=fs("Clock8",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 8 14",key:"tmc9b4"}]]),qd=fs("Clock9",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 7.5 12",key:"1k60p0"}]]),Ed=fs("ClockAlert",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["path",{d:"M16 21.16a10 10 0 1 1 5-13.516",key:"cxo92l"}],["path",{d:"M20 11.5v6",key:"2ei3xq"}],["path",{d:"M20 21.5h.01",key:"1r2dzp"}]]),zd=fs("ClockArrowDown",[["path",{d:"M12.338 21.994A10 10 0 1 1 21.925 13.227",key:"1i7shu"}],["path",{d:"M12 6v6l2 1",key:"19cm8n"}],["path",{d:"m14 18 4 4 4-4",key:"1waygx"}],["path",{d:"M18 14v8",key:"irew45"}]]),_d=fs("ClockArrowUp",[["path",{d:"M13.228 21.925A10 10 0 1 1 21.994 12.338",key:"1fzlyi"}],["path",{d:"M12 6v6l1.562.781",key:"1ujuk9"}],["path",{d:"m14 18 4-4 4 4",key:"ftkppy"}],["path",{d:"M18 22v-8",key:"su0gjh"}]]),Ld=fs("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),Fd=fs("CloudAlert",[["path",{d:"M12 12v4",key:"tww15h"}],["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M17 18h.5a1 1 0 0 0 0-9h-1.79A7 7 0 1 0 7 17.708",key:"xsb5ju"}]]),Wd=fs("CloudCog",[["circle",{cx:"12",cy:"17",r:"3",key:"1spfwm"}],["path",{d:"M4.2 15.1A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2",key:"zaobp"}],["path",{d:"m15.7 18.4-.9-.3",key:"4qxpbn"}],["path",{d:"m9.2 15.9-.9-.3",key:"17q7o2"}],["path",{d:"m10.6 20.7.3-.9",key:"1pf4s2"}],["path",{d:"m13.1 14.2.3-.9",key:"1mnuqm"}],["path",{d:"m13.6 20.7-.4-1",key:"1jpd1m"}],["path",{d:"m10.8 14.3-.4-1",key:"17ugyy"}],["path",{d:"m8.3 18.6 1-.4",key:"s42vdx"}],["path",{d:"m14.7 15.8 1-.4",key:"2wizun"}]]),Hd=fs("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]),Vd=fs("CloudDrizzle",[["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"M8 19v1",key:"1dk2by"}],["path",{d:"M8 14v1",key:"84yxot"}],["path",{d:"M16 19v1",key:"v220m7"}],["path",{d:"M16 14v1",key:"g12gj6"}],["path",{d:"M12 21v1",key:"q8vafk"}],["path",{d:"M12 16v1",key:"1mx6rx"}]]),Bd=fs("CloudFog",[["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"M16 17H7",key:"pygtm1"}],["path",{d:"M17 21H9",key:"1u2q02"}]]),Gd=fs("CloudHail",[["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"M16 14v2",key:"a1is7l"}],["path",{d:"M8 14v2",key:"1e9m6t"}],["path",{d:"M16 20h.01",key:"xwek51"}],["path",{d:"M8 20h.01",key:"1vjney"}],["path",{d:"M12 16v2",key:"z66u1j"}],["path",{d:"M12 22h.01",key:"1urd7a"}]]),Ud=fs("CloudLightning",[["path",{d:"M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973",key:"1cez44"}],["path",{d:"m13 12-3 5h4l-3 5",key:"1t22er"}]]),$d=fs("CloudMoonRain",[["path",{d:"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197",key:"erj67n"}],["path",{d:"M11 20v2",key:"174qtz"}],["path",{d:"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24",key:"1qmrp3"}],["path",{d:"M7 19v2",key:"12npes"}]]),Yd=fs("CloudMoon",[["path",{d:"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197",key:"erj67n"}],["path",{d:"M13 16a3 3 0 1 1 0 6H7a5 5 0 1 1 4.9-6Z",key:"p44pc9"}]]),Kd=fs("CloudOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193",key:"yfwify"}],["path",{d:"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07",key:"jlfiyv"}]]),Qd=fs("CloudRainWind",[["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m9.2 22 3-7",key:"sb5f6j"}],["path",{d:"m9 13-3 7",key:"500co5"}],["path",{d:"m17 13-3 7",key:"8t2fiy"}]]),Zd=fs("CloudRain",[["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"M16 14v6",key:"1j4efv"}],["path",{d:"M8 14v6",key:"17c4r9"}],["path",{d:"M12 16v6",key:"c8a4gj"}]]),Jd=fs("CloudSnow",[["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"M8 15h.01",key:"a7atzg"}],["path",{d:"M8 19h.01",key:"puxtts"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M12 21h.01",key:"h35vbk"}],["path",{d:"M16 15h.01",key:"rnfrdf"}],["path",{d:"M16 19h.01",key:"1vcnzz"}]]),Xd=fs("CloudSunRain",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}],["path",{d:"M15.947 12.65a4 4 0 0 0-5.925-4.128",key:"dpwdj0"}],["path",{d:"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24",key:"1qmrp3"}],["path",{d:"M11 20v2",key:"174qtz"}],["path",{d:"M7 19v2",key:"12npes"}]]),ec=fs("CloudSun",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}],["path",{d:"M15.947 12.65a4 4 0 0 0-5.925-4.128",key:"dpwdj0"}],["path",{d:"M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z",key:"s09mg5"}]]),tc=fs("CloudUpload",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]),sc=fs("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]),ac=fs("Cloudy",[["path",{d:"M17.5 21H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"gqqjvc"}],["path",{d:"M22 10a3 3 0 0 0-3-3h-2.207a5.502 5.502 0 0 0-10.702.5",key:"1p2s76"}]]),rc=fs("Clover",[["path",{d:"M16.17 7.83 2 22",key:"t58vo8"}],["path",{d:"M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12",key:"17k36q"}],["path",{d:"m7.83 7.83 8.34 8.34",key:"1d7sxk"}]]),ic=fs("Club",[["path",{d:"M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z",key:"27yuqz"}],["path",{d:"M12 17.66L12 22",key:"ogfahf"}]]),nc=fs("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]),oc=fs("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]),lc=fs("Codepen",[["polygon",{points:"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2",key:"srzb37"}],["line",{x1:"12",x2:"12",y1:"22",y2:"15.5",key:"1t73f2"}],["polyline",{points:"22 8.5 12 15.5 2 8.5",key:"ajlxae"}],["polyline",{points:"2 15.5 12 8.5 22 15.5",key:"susrui"}],["line",{x1:"12",x2:"12",y1:"2",y2:"8.5",key:"2cldga"}]]),dc=fs("Codesandbox",[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}],["polyline",{points:"7.5 4.21 12 6.81 16.5 4.21",key:"fabo96"}],["polyline",{points:"7.5 19.79 7.5 14.6 3 12",key:"z377f1"}],["polyline",{points:"21 12 16.5 14.6 16.5 19.79",key:"9nrev1"}],["polyline",{points:"3.27 6.96 12 12.01 20.73 6.96",key:"1180pa"}],["line",{x1:"12",x2:"12",y1:"22.08",y2:"12",key:"3z3uq6"}]]),cc=fs("Coffee",[["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M14 2v2",key:"6buw04"}],["path",{d:"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1",key:"pwadti"}],["path",{d:"M6 2v2",key:"colzsn"}]]),mc=fs("Cog",[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]]),hc=fs("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]),xc=fs("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),uc=fs("Columns3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),pc=fs("Columns4",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7.5 3v18",key:"w0wo6v"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M16.5 3v18",key:"10tjh1"}]]),gc=fs("Combine",[["path",{d:"M10 18H5a3 3 0 0 1-3-3v-1",key:"ru65g8"}],["path",{d:"M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2",key:"e30een"}],["path",{d:"M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2",key:"2ahx8o"}],["path",{d:"m7 21 3-3-3-3",key:"127cv2"}],["rect",{x:"14",y:"14",width:"8",height:"8",rx:"2",key:"1b0bso"}],["rect",{x:"2",y:"2",width:"8",height:"8",rx:"2",key:"1x09vl"}]]),fc=fs("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),yc=fs("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),bc=fs("Component",[["path",{d:"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z",key:"1uwlt4"}],["path",{d:"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z",key:"10291m"}],["path",{d:"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z",key:"1tqoq1"}],["path",{d:"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z",key:"1x6lto"}]]),vc=fs("Computer",[["rect",{width:"14",height:"8",x:"5",y:"2",rx:"2",key:"wc9tft"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6 18h2",key:"rwmk9e"}],["path",{d:"M12 18h6",key:"aqd8w3"}]]),jc=fs("ConciergeBell",[["path",{d:"M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z",key:"1pvr1r"}],["path",{d:"M20 16a8 8 0 1 0-16 0",key:"1pa543"}],["path",{d:"M12 4v4",key:"1bq03y"}],["path",{d:"M10 4h4",key:"1xpv9s"}]]),Nc=fs("Cone",[["path",{d:"m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98",key:"53pte7"}],["ellipse",{cx:"12",cy:"19",rx:"9",ry:"3",key:"1ji25f"}]]),wc=fs("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]),kc=fs("ContactRound",[["path",{d:"M16 2v2",key:"scm5qe"}],["path",{d:"M17.915 22a6 6 0 0 0-12 0",key:"suqz9p"}],["path",{d:"M8 2v2",key:"pbkmx"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",key:"12vinp"}]]),Mc=fs("Contact",[["path",{d:"M16 2v2",key:"scm5qe"}],["path",{d:"M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2",key:"1waht3"}],["path",{d:"M8 2v2",key:"pbkmx"}],["circle",{cx:"12",cy:"11",r:"3",key:"itu57m"}],["rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",key:"12vinp"}]]),Ac=fs("Container",[["path",{d:"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z",key:"1t2lqe"}],["path",{d:"M10 21.9V14L2.1 9.1",key:"o7czzq"}],["path",{d:"m10 14 11.9-6.9",key:"zm5e20"}],["path",{d:"M14 19.8v-8.1",key:"159ecu"}],["path",{d:"M18 17.5V9.4",key:"11uown"}]]),Sc=fs("Contrast",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z",key:"j4l70d"}]]),Cc=fs("Cookie",[["path",{d:"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5",key:"laymnq"}],["path",{d:"M8.5 8.5v.01",key:"ue8clq"}],["path",{d:"M16 15.5v.01",key:"14dtrp"}],["path",{d:"M12 12v.01",key:"u5ubse"}],["path",{d:"M11 17v.01",key:"1hyl5a"}],["path",{d:"M7 14v.01",key:"uct60s"}]]),Ic=fs("CookingPot",[["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8",key:"u0tga0"}],["path",{d:"m4 8 16-4",key:"16g0ng"}],["path",{d:"m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8",key:"12cejc"}]]),Pc=fs("CopyCheck",[["path",{d:"m12 15 2 2 4-4",key:"2c609p"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Tc=fs("CopyMinus",[["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Rc=fs("CopyPlus",[["line",{x1:"15",x2:"15",y1:"12",y2:"18",key:"1p7wdc"}],["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Oc=fs("CopySlash",[["line",{x1:"12",x2:"18",y1:"18",y2:"12",key:"ebkxgr"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Dc=fs("CopyX",[["line",{x1:"12",x2:"18",y1:"12",y2:"18",key:"1rg63v"}],["line",{x1:"12",x2:"18",y1:"18",y2:"12",key:"ebkxgr"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),qc=fs("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Ec=fs("Copyleft",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.17 14.83a4 4 0 1 0 0-5.66",key:"1sveal"}]]),zc=fs("Copyright",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M14.83 14.83a4 4 0 1 1 0-5.66",key:"1i56pz"}]]),_c=fs("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]),Lc=fs("CornerDownRight",[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]),Fc=fs("CornerLeftDown",[["polyline",{points:"14 15 9 20 4 15",key:"nkc4i"}],["path",{d:"M20 4h-7a4 4 0 0 0-4 4v12",key:"nbpdq2"}]]),Wc=fs("CornerLeftUp",[["polyline",{points:"14 9 9 4 4 9",key:"m9oyvo"}],["path",{d:"M20 20h-7a4 4 0 0 1-4-4V4",key:"1blwi3"}]]),Hc=fs("CornerRightDown",[["polyline",{points:"10 15 15 20 20 15",key:"axus6l"}],["path",{d:"M4 4h7a4 4 0 0 1 4 4v12",key:"wcbgct"}]]),Vc=fs("CornerRightUp",[["polyline",{points:"10 9 15 4 20 9",key:"1lr6px"}],["path",{d:"M4 20h7a4 4 0 0 0 4-4V4",key:"1plgdj"}]]),Bc=fs("CornerUpLeft",[["polyline",{points:"9 14 4 9 9 4",key:"881910"}],["path",{d:"M20 20v-7a4 4 0 0 0-4-4H4",key:"1nkjon"}]]),Gc=fs("CornerUpRight",[["polyline",{points:"15 14 20 9 15 4",key:"1tbx3s"}],["path",{d:"M4 20v-7a4 4 0 0 1 4-4h12",key:"1lu4f8"}]]),Uc=fs("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]),$c=fs("CreativeCommons",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1",key:"1ss3eq"}],["path",{d:"M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1",key:"1od56t"}]]),Yc=fs("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]),Kc=fs("Croissant",[["path",{d:"m4.6 13.11 5.79-3.21c1.89-1.05 4.79 1.78 3.71 3.71l-3.22 5.81C8.8 23.16.79 15.23 4.6 13.11Z",key:"1ozxlb"}],["path",{d:"m10.5 9.5-1-2.29C9.2 6.48 8.8 6 8 6H4.5C2.79 6 2 6.5 2 8.5a7.71 7.71 0 0 0 2 4.83",key:"ffuyb5"}],["path",{d:"M8 6c0-1.55.24-4-2-4-2 0-2.5 2.17-2.5 4",key:"osnpzi"}],["path",{d:"m14.5 13.5 2.29 1c.73.3 1.21.7 1.21 1.5v3.5c0 1.71-.5 2.5-2.5 2.5a7.71 7.71 0 0 1-4.83-2",key:"1vubaw"}],["path",{d:"M18 16c1.55 0 4-.24 4 2 0 2-2.17 2.5-4 2.5",key:"wxr772"}]]),Qc=fs("Crop",[["path",{d:"M6 2v14a2 2 0 0 0 2 2h14",key:"ron5a4"}],["path",{d:"M18 22V8a2 2 0 0 0-2-2H2",key:"7s9ehn"}]]),Zc=fs("Cross",[["path",{d:"M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z",key:"1xbrqy"}]]),Jc=fs("Crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]),Xc=fs("Crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]),em=fs("Cuboid",[["path",{d:"m21.12 6.4-6.05-4.06a2 2 0 0 0-2.17-.05L2.95 8.41a2 2 0 0 0-.95 1.7v5.82a2 2 0 0 0 .88 1.66l6.05 4.07a2 2 0 0 0 2.17.05l9.95-6.12a2 2 0 0 0 .95-1.7V8.06a2 2 0 0 0-.88-1.66Z",key:"1u2ovd"}],["path",{d:"M10 22v-8L2.25 9.15",key:"11pn4q"}],["path",{d:"m10 14 11.77-6.87",key:"1kt1wh"}]]),tm=fs("CupSoda",[["path",{d:"m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8",key:"8166m8"}],["path",{d:"M5 8h14",key:"pcz4l3"}],["path",{d:"M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0",key:"yjz344"}],["path",{d:"m12 8 1-6h2",key:"3ybfa4"}]]),sm=fs("Currency",[["circle",{cx:"12",cy:"12",r:"8",key:"46899m"}],["line",{x1:"3",x2:"6",y1:"3",y2:"6",key:"1jkytn"}],["line",{x1:"21",x2:"18",y1:"3",y2:"6",key:"14zfjt"}],["line",{x1:"3",x2:"6",y1:"21",y2:"18",key:"iusuec"}],["line",{x1:"21",x2:"18",y1:"21",y2:"18",key:"yj2dd7"}]]),am=fs("Cylinder",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5v14a9 3 0 0 0 18 0V5",key:"aqi0yr"}]]),rm=fs("Dam",[["path",{d:"M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"157kva"}],["path",{d:"M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"d7q6m6"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z",key:"pr6s65"}]]),im=fs("DatabaseBackup",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 12a9 3 0 0 0 5 2.69",key:"1ui2ym"}],["path",{d:"M21 9.3V5",key:"6k6cib"}],["path",{d:"M3 5v14a9 3 0 0 0 6.47 2.88",key:"i62tjy"}],["path",{d:"M12 12v4h4",key:"1bxaet"}],["path",{d:"M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16",key:"1f4ei9"}]]),nm=fs("DatabaseZap",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 15 21.84",key:"14ibmq"}],["path",{d:"M21 5V8",key:"1marbg"}],["path",{d:"M21 12L18 17H22L19 22",key:"zafso"}],["path",{d:"M3 12A9 3 0 0 0 14.59 14.87",key:"1y4wr8"}]]),om=fs("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),lm=fs("Delete",[["path",{d:"M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z",key:"1yo7s0"}],["path",{d:"m12 9 6 6",key:"anjzzh"}],["path",{d:"m18 9-6 6",key:"1fp51s"}]]),dm=fs("Dessert",[["circle",{cx:"12",cy:"4",r:"2",key:"muu5ef"}],["path",{d:"M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8",key:"lfo06j"}],["path",{d:"M3.2 14.8a9 9 0 0 0 17.6 0",key:"12xarc"}]]),cm=fs("Diameter",[["circle",{cx:"19",cy:"19",r:"2",key:"17f5cg"}],["circle",{cx:"5",cy:"5",r:"2",key:"1gwv83"}],["path",{d:"M6.48 3.66a10 10 0 0 1 13.86 13.86",key:"xr8kdq"}],["path",{d:"m6.41 6.41 11.18 11.18",key:"uhpjw7"}],["path",{d:"M3.66 6.48a10 10 0 0 0 13.86 13.86",key:"cldpwv"}]]),mm=fs("DiamondMinus",[["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),hm=fs("DiamondPercent",[["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z",key:"1tpxz2"}],["path",{d:"M9.2 9.2h.01",key:"1b7bvt"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"M14.7 14.8h.01",key:"17nsh4"}]]),xm=fs("DiamondPlus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),um=fs("Diamond",[["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z",key:"1f1r0c"}]]),pm=fs("Dice1",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M12 12h.01",key:"1mp3jc"}]]),gm=fs("Dice2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M15 9h.01",key:"x1ddxp"}],["path",{d:"M9 15h.01",key:"fzyn71"}]]),fm=fs("Dice3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M16 8h.01",key:"cr5u4v"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]),ym=fs("Dice4",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M16 8h.01",key:"cr5u4v"}],["path",{d:"M8 8h.01",key:"1e4136"}],["path",{d:"M8 16h.01",key:"18s6g9"}],["path",{d:"M16 16h.01",key:"1f9h7w"}]]),bm=fs("Dice5",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M16 8h.01",key:"cr5u4v"}],["path",{d:"M8 8h.01",key:"1e4136"}],["path",{d:"M8 16h.01",key:"18s6g9"}],["path",{d:"M16 16h.01",key:"1f9h7w"}],["path",{d:"M12 12h.01",key:"1mp3jc"}]]),vm=fs("Dice6",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M16 8h.01",key:"cr5u4v"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M16 16h.01",key:"1f9h7w"}],["path",{d:"M8 8h.01",key:"1e4136"}],["path",{d:"M8 12h.01",key:"czm47f"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]),jm=fs("Dices",[["rect",{width:"12",height:"12",x:"2",y:"10",rx:"2",ry:"2",key:"6agr2n"}],["path",{d:"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6",key:"1o487t"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 14h.01",key:"ssrbsk"}],["path",{d:"M15 6h.01",key:"cblpky"}],["path",{d:"M18 9h.01",key:"2061c0"}]]),Nm=fs("Diff",[["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 10h14",key:"elsbfy"}],["path",{d:"M5 21h14",key:"11awu3"}]]),wm=fs("Disc2",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 12h.01",key:"1mp3jc"}]]),km=fs("Disc3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M6 12c0-1.7.7-3.2 1.8-4.2",key:"oqkarx"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M18 12c0 1.7-.7 3.2-1.8 4.2",key:"1eah9h"}]]),Mm=fs("DiscAlbum",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["circle",{cx:"12",cy:"12",r:"5",key:"nd82uf"}],["path",{d:"M12 12h.01",key:"1mp3jc"}]]),Am=fs("Disc",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),Sm=fs("Divide",[["circle",{cx:"12",cy:"6",r:"1",key:"1bh7o1"}],["line",{x1:"5",x2:"19",y1:"12",y2:"12",key:"13b5wn"}],["circle",{cx:"12",cy:"18",r:"1",key:"lqb9t5"}]]),Cm=fs("DnaOff",[["path",{d:"M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8",key:"1bivrr"}],["path",{d:"m17 6-2.891-2.891",key:"xu6p2f"}],["path",{d:"M2 15c3.333-3 6.667-3 10-3",key:"nxix30"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m20 9 .891.891",key:"3xwk7g"}],["path",{d:"M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1",key:"18cutr"}],["path",{d:"M3.109 14.109 4 15",key:"q76aoh"}],["path",{d:"m6.5 12.5 1 1",key:"cs35ky"}],["path",{d:"m7 18 2.891 2.891",key:"1sisit"}],["path",{d:"M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16",key:"rlvei3"}]]),Im=fs("Dna",[["path",{d:"m10 16 1.5 1.5",key:"11lckj"}],["path",{d:"m14 8-1.5-1.5",key:"1ohn8i"}],["path",{d:"M15 2c-1.798 1.998-2.518 3.995-2.807 5.993",key:"80uv8i"}],["path",{d:"m16.5 10.5 1 1",key:"696xn5"}],["path",{d:"m17 6-2.891-2.891",key:"xu6p2f"}],["path",{d:"M2 15c6.667-6 13.333 0 20-6",key:"1pyr53"}],["path",{d:"m20 9 .891.891",key:"3xwk7g"}],["path",{d:"M3.109 14.109 4 15",key:"q76aoh"}],["path",{d:"m6.5 12.5 1 1",key:"cs35ky"}],["path",{d:"m7 18 2.891 2.891",key:"1sisit"}],["path",{d:"M9 22c1.798-1.998 2.518-3.995 2.807-5.993",key:"q3hbxp"}]]),Pm=fs("Dock",[["path",{d:"M2 8h20",key:"d11cs7"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"M6 16h12",key:"u522kt"}]]),Tm=fs("Dog",[["path",{d:"M11.25 16.25h1.5L12 17z",key:"w7jh35"}],["path",{d:"M16 14v.5",key:"1lajdz"}],["path",{d:"M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309",key:"u7s9ue"}],["path",{d:"M8 14v.5",key:"1nzgdb"}],["path",{d:"M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5",key:"v8hric"}]]),Rm=fs("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]),Om=fs("Donut",[["path",{d:"M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3",key:"19sr3x"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Dm=fs("DoorClosed",[["path",{d:"M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14",key:"36qu9e"}],["path",{d:"M2 20h20",key:"owomy5"}],["path",{d:"M14 12v.01",key:"xfcn54"}]]),qm=fs("DoorOpen",[["path",{d:"M13 4h3a2 2 0 0 1 2 2v14",key:"hrm0s9"}],["path",{d:"M2 20h3",key:"1gaodv"}],["path",{d:"M13 20h9",key:"s90cdi"}],["path",{d:"M10 12v.01",key:"vx6srw"}],["path",{d:"M13 4.562v16.157a1 1 0 0 1-1.242.97L5 20V5.562a2 2 0 0 1 1.515-1.94l4-1A2 2 0 0 1 13 4.561Z",key:"199qr4"}]]),Em=fs("Dot",[["circle",{cx:"12.1",cy:"12.1",r:"1",key:"18d7e5"}]]),zm=fs("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),_m=fs("DraftingCompass",[["path",{d:"m12.99 6.74 1.93 3.44",key:"iwagvd"}],["path",{d:"M19.136 12a10 10 0 0 1-14.271 0",key:"ppmlo4"}],["path",{d:"m21 21-2.16-3.84",key:"vylbct"}],["path",{d:"m3 21 8.02-14.26",key:"1ssaw4"}],["circle",{cx:"12",cy:"5",r:"2",key:"f1ur92"}]]),Lm=fs("Drama",[["path",{d:"M10 11h.01",key:"d2at3l"}],["path",{d:"M14 6h.01",key:"k028ub"}],["path",{d:"M18 6h.01",key:"1v4wsw"}],["path",{d:"M6.5 13.1h.01",key:"1748ia"}],["path",{d:"M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3",key:"172yzv"}],["path",{d:"M17.4 9.9c-.8.8-2 .8-2.8 0",key:"1obv0w"}],["path",{d:"M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7",key:"rqjl8i"}],["path",{d:"M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4",key:"1mr6wy"}]]),Fm=fs("Dribbble",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M19.13 5.09C15.22 9.14 10 10.44 2.25 10.94",key:"hpej1"}],["path",{d:"M21.75 12.84c-6.62-1.41-12.14 1-16.38 6.32",key:"1tr44o"}],["path",{d:"M8.56 2.75c4.37 6 6 9.42 8 17.72",key:"kbh691"}]]),Wm=fs("Drill",[["path",{d:"M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z",key:"ioqxb1"}],["path",{d:"M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8",key:"1rs59n"}],["path",{d:"M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3",key:"105ega"}],["path",{d:"M18 6h4",key:"66u95g"}],["path",{d:"m5 10-2 8",key:"xt2lic"}],["path",{d:"m7 18 2-8",key:"1bzku2"}]]),Hm=fs("Droplet",[["path",{d:"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z",key:"c7niix"}]]),Vm=fs("Droplets",[["path",{d:"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z",key:"1ptgy4"}],["path",{d:"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97",key:"1sl1rz"}]]),Bm=fs("Drum",[["path",{d:"m2 2 8 8",key:"1v6059"}],["path",{d:"m22 2-8 8",key:"173r8a"}],["ellipse",{cx:"12",cy:"9",rx:"10",ry:"5",key:"liohsx"}],["path",{d:"M7 13.4v7.9",key:"1yi6u9"}],["path",{d:"M12 14v8",key:"1tn2tj"}],["path",{d:"M17 13.4v7.9",key:"eqz2v3"}],["path",{d:"M2 9v8a10 5 0 0 0 20 0V9",key:"1750ul"}]]),Gm=fs("Drumstick",[["path",{d:"M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23",key:"1dtqwm"}],["path",{d:"m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59",key:"1oq1fw"}]]),Um=fs("Dumbbell",[["path",{d:"M14.4 14.4 9.6 9.6",key:"ic80wn"}],["path",{d:"M18.657 21.485a2 2 0 1 1-2.829-2.828l-1.767 1.768a2 2 0 1 1-2.829-2.829l6.364-6.364a2 2 0 1 1 2.829 2.829l-1.768 1.767a2 2 0 1 1 2.828 2.829z",key:"nnl7wr"}],["path",{d:"m21.5 21.5-1.4-1.4",key:"1f1ice"}],["path",{d:"M3.9 3.9 2.5 2.5",key:"1evmna"}],["path",{d:"M6.404 12.768a2 2 0 1 1-2.829-2.829l1.768-1.767a2 2 0 1 1-2.828-2.829l2.828-2.828a2 2 0 1 1 2.829 2.828l1.767-1.768a2 2 0 1 1 2.829 2.829z",key:"yhosts"}]]),$m=fs("EarOff",[["path",{d:"M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46",key:"1qngmn"}],["path",{d:"M6 8.5c0-.75.13-1.47.36-2.14",key:"b06bma"}],["path",{d:"M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76",key:"g10hsz"}],["path",{d:"M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18",key:"ygzou7"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Ym=fs("Ear",[["path",{d:"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0",key:"1dfaln"}],["path",{d:"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4",key:"1qnva7"}]]),Km=fs("EarthLock",[["path",{d:"M7 3.34V5a3 3 0 0 0 3 3",key:"w732o8"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"f02343"}],["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M12 2a10 10 0 1 0 9.54 13",key:"zjsr6q"}],["path",{d:"M20 6V4a2 2 0 1 0-4 0v2",key:"1of5e8"}],["rect",{width:"8",height:"5",x:"14",y:"6",rx:"1",key:"1fmf51"}]]),Qm=fs("Earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Zm=fs("Eclipse",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a7 7 0 1 0 10 10",key:"1yuj32"}]]),Jm=fs("EggFried",[["circle",{cx:"11.5",cy:"12.5",r:"3.5",key:"1cl1mi"}],["path",{d:"M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z",key:"165ef9"}]]),Xm=fs("EggOff",[["path",{d:"M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625",key:"6et380"}],["path",{d:"M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297",key:"gcdc3f"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),eh=fs("Egg",[["path",{d:"M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z",key:"1c39pg"}]]),th=fs("EllipsisVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]),sh=fs("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]),ah=fs("EqualApproximately",[["path",{d:"M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0",key:"yrdkhy"}],["path",{d:"M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0",key:"gzkvyz"}]]),rh=fs("EqualNot",[["line",{x1:"5",x2:"19",y1:"9",y2:"9",key:"1nwqeh"}],["line",{x1:"5",x2:"19",y1:"15",y2:"15",key:"g8yjpy"}],["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}]]),ih=fs("Equal",[["line",{x1:"5",x2:"19",y1:"9",y2:"9",key:"1nwqeh"}],["line",{x1:"5",x2:"19",y1:"15",y2:"15",key:"g8yjpy"}]]),nh=fs("Eraser",[["path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21",key:"182aya"}],["path",{d:"M22 21H7",key:"t4ddhn"}],["path",{d:"m5 11 9 9",key:"1mo9qw"}]]),oh=fs("EthernetPort",[["path",{d:"m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z",key:"rbahqx"}],["path",{d:"M6 8v1",key:"1636ez"}],["path",{d:"M10 8v1",key:"1talb4"}],["path",{d:"M14 8v1",key:"1rsfgr"}],["path",{d:"M18 8v1",key:"gnkwox"}]]),lh=fs("Euro",[["path",{d:"M4 10h12",key:"1y6xl8"}],["path",{d:"M4 14h9",key:"1loblj"}],["path",{d:"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2",key:"1j6lzo"}]]),dh=fs("Expand",[["path",{d:"m21 21-6-6m6 6v-4.8m0 4.8h-4.8",key:"1c15vz"}],["path",{d:"M3 16.2V21m0 0h4.8M3 21l6-6",key:"1fsnz2"}],["path",{d:"M21 7.8V3m0 0h-4.8M21 3l-6 6",key:"hawz9i"}],["path",{d:"M3 7.8V3m0 0h4.8M3 3l6 6",key:"u9ee12"}]]),ch=fs("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),mh=fs("EyeClosed",[["path",{d:"m15 18-.722-3.25",key:"1j64jw"}],["path",{d:"M2 8a10.645 10.645 0 0 0 20 0",key:"1e7gxb"}],["path",{d:"m20 15-1.726-2.05",key:"1cnuld"}],["path",{d:"m4 15 1.726-2.05",key:"1dsqqd"}],["path",{d:"m9 18 .722-3.25",key:"ypw2yx"}]]),hh=fs("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),xh=fs("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),uh=fs("Facebook",[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]]),ph=fs("Factory",[["path",{d:"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"159hny"}],["path",{d:"M17 18h1",key:"uldtlt"}],["path",{d:"M12 18h1",key:"s9uhes"}],["path",{d:"M7 18h1",key:"1neino"}]]),gh=fs("Fan",[["path",{d:"M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z",key:"484a7f"}],["path",{d:"M12 12v.01",key:"u5ubse"}]]),fh=fs("FastForward",[["polygon",{points:"13 19 22 12 13 5 13 19",key:"587y9g"}],["polygon",{points:"2 19 11 12 2 5 2 19",key:"3pweh0"}]]),yh=fs("Feather",[["path",{d:"M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z",key:"18jl4k"}],["path",{d:"M16 8 2 22",key:"vp34q"}],["path",{d:"M17.5 15H9",key:"1oz8nu"}]]),bh=fs("Fence",[["path",{d:"M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",key:"1n2rgs"}],["path",{d:"M6 8h4",key:"utf9t1"}],["path",{d:"M6 18h4",key:"12yh4b"}],["path",{d:"m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",key:"3ha7mj"}],["path",{d:"M14 8h4",key:"1r8wg2"}],["path",{d:"M14 18h4",key:"1t3kbu"}],["path",{d:"m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",key:"dfd4e2"}]]),vh=fs("FerrisWheel",[["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m6.8 15-3.5 2",key:"hjy98k"}],["path",{d:"m20.7 7-3.5 2",key:"f08gto"}],["path",{d:"M6.8 9 3.3 7",key:"1aevh4"}],["path",{d:"m20.7 17-3.5-2",key:"1liqo3"}],["path",{d:"m9 22 3-8 3 8",key:"wees03"}],["path",{d:"M8 22h8",key:"rmew8v"}],["path",{d:"M18 18.7a9 9 0 1 0-12 0",key:"dhzg4g"}]]),jh=fs("Figma",[["path",{d:"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z",key:"1340ok"}],["path",{d:"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z",key:"1hz3m3"}],["path",{d:"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z",key:"1oz8n2"}],["path",{d:"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z",key:"1ff65i"}],["path",{d:"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z",key:"pdip6e"}]]),Nh=fs("FileArchive",[["path",{d:"M10 12v-1",key:"v7bkov"}],["path",{d:"M10 18v-2",key:"1cjy8d"}],["path",{d:"M10 7V6",key:"dljcrl"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01",key:"gkbcor"}],["circle",{cx:"10",cy:"20",r:"2",key:"1xzdoj"}]]),wh=fs("FileAudio2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2",key:"17k7jt"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"3",cy:"17",r:"1",key:"vo6nti"}],["path",{d:"M2 17v-3a4 4 0 0 1 8 0v3",key:"1ggdre"}],["circle",{cx:"9",cy:"17",r:"1",key:"bc1fq4"}]]),kh=fs("FileAudio",[["path",{d:"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"rslqgf"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0",key:"9f7x3i"}]]),Mh=fs("FileAxis3d",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m8 18 4-4",key:"12zab0"}],["path",{d:"M8 10v8h8",key:"tlaukw"}]]),Ah=fs("FileBadge2",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m14 12.5 1 5.5-3-1-3 1 1-5.5",key:"14xlky"}]]),Sh=fs("FileBadge",[["path",{d:"M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"12ixgl"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",key:"u0c8gj"}],["path",{d:"M7 16.5 8 22l-3-1-3 1 1-5.5",key:"5gm2nr"}]]),Ch=fs("FileBox",[["path",{d:"M14.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"16lz6z"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 13.1a2 2 0 0 0-1 1.76v3.24a2 2 0 0 0 .97 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01Z",key:"99pj1s"}],["path",{d:"M7 17v5",key:"1yj1jh"}],["path",{d:"M11.7 14.2 7 17l-4.7-2.8",key:"1yk8tc"}]]),Ih=fs("FileChartColumnIncreasing",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["path",{d:"M12 18v-4",key:"q1q25u"}],["path",{d:"M16 18v-6",key:"15y0np"}]]),Ph=fs("FileChartColumn",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 18v-1",key:"zg0ygc"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"M16 18v-3",key:"j5jt4h"}]]),Th=fs("FileChartLine",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m16 13-3.5 3.5-2-2L8 17",key:"zz7yod"}]]),Rh=fs("FileChartPie",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5",key:"13ddob"}],["path",{d:"M4.017 11.512a6 6 0 1 0 8.466 8.475",key:"s6vs5t"}],["path",{d:"M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z",key:"1dl6s6"}]]),Oh=fs("FileCheck2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m3 15 2 2 4-4",key:"1lhrkk"}]]),Dh=fs("FileCheck",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m9 15 2 2 4-4",key:"1grp1n"}]]),qh=fs("FileClock",[["path",{d:"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"37hlfg"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"8",cy:"16",r:"6",key:"10v15b"}],["path",{d:"M9.5 17.5 8 16.25V14",key:"1o80t2"}]]),Eh=fs("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]),zh=fs("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),_h=fs("FileCog",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m3.2 12.9-.9-.4",key:"1i3dj5"}],["path",{d:"m3.2 15.1-.9.4",key:"1fvgj0"}],["path",{d:"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5",key:"1yo3oz"}],["path",{d:"m4.9 11.2-.4-.9",key:"otmhb9"}],["path",{d:"m4.9 16.8-.4.9",key:"1b8z07"}],["path",{d:"m7.5 10.3-.4.9",key:"11k65u"}],["path",{d:"m7.5 17.7-.4-.9",key:"431x55"}],["path",{d:"m9.7 12.5-.9.4",key:"87sjan"}],["path",{d:"m9.7 15.5-.9-.4",key:"khqm91"}],["circle",{cx:"6",cy:"14",r:"3",key:"a1xfv6"}]]),Lh=fs("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]),Fh=fs("FileDigit",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["rect",{width:"4",height:"6",x:"2",y:"12",rx:"2",key:"jm304g"}],["path",{d:"M10 12h2v6",key:"12zw74"}],["path",{d:"M10 18h4",key:"1ulq68"}]]),Wh=fs("FileDown",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]),Hh=fs("FileHeart",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2",key:"17k7jt"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10.29 10.7a2.43 2.43 0 0 0-2.66-.52c-.29.12-.56.3-.78.53l-.35.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L6.5 18l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z",key:"1c1fso"}]]),Vh=fs("FileImage",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]),Bh=fs("FileInput",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 15h10",key:"jfw4w8"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]),Gh=fs("FileJson2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"fq0c9t"}],["path",{d:"M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"4gibmv"}]]),Uh=fs("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),$h=fs("FileKey2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v6",key:"rc0qvx"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"4",cy:"16",r:"2",key:"1ehqvc"}],["path",{d:"m10 10-4.5 4.5",key:"7fwrp6"}],["path",{d:"m9 11 1 1",key:"wa6s5q"}]]),Yh=fs("FileKey",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["circle",{cx:"10",cy:"16",r:"2",key:"4ckbqe"}],["path",{d:"m16 10-4.5 4.5",key:"7p3ebg"}],["path",{d:"m15 11 1 1",key:"1bsyx3"}]]),Kh=fs("FileLock2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v1",key:"jmtmu2"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["rect",{width:"8",height:"5",x:"2",y:"13",rx:"1",key:"10y5wo"}],["path",{d:"M8 13v-2a2 2 0 1 0-4 0v2",key:"1pdxzg"}]]),Qh=fs("FileLock",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["rect",{width:"8",height:"6",x:"8",y:"12",rx:"1",key:"3yr8at"}],["path",{d:"M10 12v-2a2 2 0 1 1 4 0v2",key:"j4i8d"}]]),Zh=fs("FileMinus2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 15h6",key:"4e2qda"}]]),Jh=fs("FileMinus",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M9 15h6",key:"cctwl0"}]]),Xh=fs("FileMusic",[["path",{d:"M10.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v8.4",key:"1d3kfm"}],["path",{d:"M8 18v-7.7L16 9v7",key:"1oie6o"}],["circle",{cx:"14",cy:"16",r:"2",key:"1bzzi3"}],["circle",{cx:"6",cy:"18",r:"2",key:"1fncim"}]]),ex=fs("FileOutput",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2",key:"1vk7w2"}],["path",{d:"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6",key:"1jink5"}],["path",{d:"m5 11-3 3",key:"1dgrs4"}],["path",{d:"m5 17-3-3h10",key:"1mvvaf"}]]),tx=fs("FilePenLine",[["path",{d:"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2",key:"142zxg"}],["path",{d:"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"2t3380"}],["path",{d:"M8 18h1",key:"13wk12"}]]),sx=fs("FilePen",[["path",{d:"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5",key:"1couwa"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1y4qbx"}]]),ax=fs("FilePlus2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 15h6",key:"4e2qda"}],["path",{d:"M6 12v6",key:"1u72j0"}]]),rx=fs("FilePlus",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]),ix=fs("FileQuestion",[["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}]]),nx=fs("FileScan",[["path",{d:"M20 10V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4",key:"1rdf37"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M16 14a2 2 0 0 0-2 2",key:"ceaadl"}],["path",{d:"M20 14a2 2 0 0 1 2 2",key:"1ny6zw"}],["path",{d:"M20 22a2 2 0 0 0 2-2",key:"1l9q4k"}],["path",{d:"M16 22a2 2 0 0 1-2-2",key:"1wqh5n"}]]),ox=fs("FileSearch2",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]),lx=fs("FileSearch",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]]),dx=fs("FileSliders",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M10 11v2",key:"1s651w"}],["path",{d:"M8 17h8",key:"wh5c61"}],["path",{d:"M14 16v2",key:"12fp5e"}]]),cx=fs("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),mx=fs("FileStack",[["path",{d:"M21 7h-3a2 2 0 0 1-2-2V2",key:"9rb54x"}],["path",{d:"M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17Z",key:"1059l0"}],["path",{d:"M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15",key:"16874u"}],["path",{d:"M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11",key:"k2ox98"}]]),hx=fs("FileSymlink",[["path",{d:"m10 18 3-3-3-3",key:"18f6ys"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 11V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7",key:"50q2rw"}]]),xx=fs("FileTerminal",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m8 16 2-2-2-2",key:"10vzyd"}],["path",{d:"M12 18h4",key:"1wd2n7"}]]),ux=fs("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),px=fs("FileType2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 13v-1h6v1",key:"1dh9dg"}],["path",{d:"M5 12v6",key:"150t9c"}],["path",{d:"M4 18h2",key:"1xrofg"}]]),gx=fs("FileType",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M9 13v-1h6v1",key:"1bb014"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M11 18h2",key:"12mj7e"}]]),fx=fs("FileUp",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]),yx=fs("FileUser",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 18a3 3 0 1 0-6 0",key:"16awa0"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]),bx=fs("FileVideo2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["rect",{width:"8",height:"6",x:"2",y:"12",rx:"1",key:"1a6c1e"}],["path",{d:"m10 15.5 4 2.5v-6l-4 2.5",key:"t7cp39"}]]),vx=fs("FileVideo",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m10 11 5 3-5 3v-6Z",key:"7ntvm4"}]]),jx=fs("FileVolume2",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 15h.01",key:"a7atzg"}],["path",{d:"M11.5 13.5a2.5 2.5 0 0 1 0 3",key:"1fccat"}],["path",{d:"M15 12a5 5 0 0 1 0 6",key:"ps46cm"}]]),Nx=fs("FileVolume",[["path",{d:"M11 11a5 5 0 0 1 0 6",key:"193qb2"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4 6.765V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-.93-.23",key:"ifyjnl"}],["path",{d:"M7 10.51a.5.5 0 0 0-.826-.38l-1.893 1.628A1 1 0 0 1 3.63 12H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1.129a1 1 0 0 1 .652.242l1.893 1.63a.5.5 0 0 0 .826-.38z",key:"mk8rxu"}]]),wx=fs("FileWarning",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),kx=fs("FileX2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m8 12.5-5 5",key:"b853mi"}],["path",{d:"m3 12.5 5 5",key:"1qls4r"}]]),Mx=fs("FileX",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]),Ax=fs("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]),Sx=fs("Files",[["path",{d:"M20 7h-3a2 2 0 0 1-2-2V2",key:"x099mo"}],["path",{d:"M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z",key:"18t6ie"}],["path",{d:"M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8",key:"1nja0z"}]]),Cx=fs("Film",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]]),Ix=fs("FilterX",[["path",{d:"M13.013 3H2l8 9.46V19l4 2v-8.54l.9-1.055",key:"1fi1da"}],["path",{d:"m22 3-5 5",key:"12jva0"}],["path",{d:"m17 3 5 5",key:"k36vhe"}]]),Px=fs("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]),Tx=fs("Fingerprint",[["path",{d:"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4",key:"1nerag"}],["path",{d:"M14 13.12c0 2.38 0 6.38-1 8.88",key:"o46ks0"}],["path",{d:"M17.29 21.02c.12-.6.43-2.3.5-3.02",key:"ptglia"}],["path",{d:"M2 12a10 10 0 0 1 18-6",key:"ydlgp0"}],["path",{d:"M2 16h.01",key:"1gqxmh"}],["path",{d:"M21.8 16c.2-2 .131-5.354 0-6",key:"drycrb"}],["path",{d:"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2",key:"1tidbn"}],["path",{d:"M8.65 22c.21-.66.45-1.32.57-2",key:"13wd9y"}],["path",{d:"M9 6.8a6 6 0 0 1 9 5.2v2",key:"1fr1j5"}]]),Rx=fs("FireExtinguisher",[["path",{d:"M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5",key:"sqyvz"}],["path",{d:"M9 18h8",key:"i7pszb"}],["path",{d:"M18 3h-3",key:"7idoqj"}],["path",{d:"M11 3a6 6 0 0 0-6 6v11",key:"1v5je3"}],["path",{d:"M5 13h4",key:"svpcxo"}],["path",{d:"M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z",key:"vsjego"}]]),Ox=fs("FishOff",[["path",{d:"M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058",key:"1j1hse"}],["path",{d:"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618",key:"1q46z8"}],["path",{d:"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20",key:"1407gh"}]]),Dx=fs("FishSymbol",[["path",{d:"M2 16s9-15 20-4C11 23 2 8 2 8",key:"h4oh4o"}]]),qx=fs("Fish",[["path",{d:"M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z",key:"15baut"}],["path",{d:"M18 12v.5",key:"18hhni"}],["path",{d:"M16 17.93a9.77 9.77 0 0 1 0-11.86",key:"16dt7o"}],["path",{d:"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33",key:"l9di03"}],["path",{d:"M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4",key:"1kjonw"}],["path",{d:"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98",key:"1zlm23"}]]),Ex=fs("FlagOff",[["path",{d:"M8 2c3 0 5 2 8 2s4-1 4-1v11",key:"9rwyz9"}],["path",{d:"M4 22V4",key:"1plyxx"}],["path",{d:"M4 15s1-1 4-1 5 2 8 2",key:"1myooe"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),zx=fs("FlagTriangleLeft",[["path",{d:"M17 22V2L7 7l10 5",key:"1rmf0r"}]]),_x=fs("FlagTriangleRight",[["path",{d:"M7 22V2l10 5-10 5",key:"17n18y"}]]),Lx=fs("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]),Fx=fs("FlameKindling",[["path",{d:"M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z",key:"1ir223"}],["path",{d:"m5 22 14-4",key:"1brv4h"}],["path",{d:"m5 18 14 4",key:"lgyyje"}]]),Wx=fs("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]),Hx=fs("FlashlightOff",[["path",{d:"M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4",key:"1r120k"}],["path",{d:"M7 2h11v4c0 2-2 2-2 4v1",key:"dz1920"}],["line",{x1:"11",x2:"18",y1:"6",y2:"6",key:"bi1vpe"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Vx=fs("Flashlight",[["path",{d:"M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z",key:"1orkel"}],["line",{x1:"6",x2:"18",y1:"6",y2:"6",key:"1z11jq"}],["line",{x1:"12",x2:"12",y1:"12",y2:"12",key:"1f4yc1"}]]),Bx=fs("FlaskConicalOff",[["path",{d:"M10 10 4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-1.272-2.542",key:"59ek9y"}],["path",{d:"M10 2v2.343",key:"15t272"}],["path",{d:"M14 2v6.343",key:"sxr80q"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h9",key:"t5njau"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Gx=fs("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]),Ux=fs("FlaskRound",[["path",{d:"M10 2v7.31",key:"5d1hyh"}],["path",{d:"M14 9.3V1.99",key:"14k4l0"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14 9.3a6.5 6.5 0 1 1-4 0",key:"1r8fvy"}],["path",{d:"M5.52 16h12.96",key:"46hh1i"}]]),$x=fs("FlipHorizontal2",[["path",{d:"m3 7 5 5-5 5V7",key:"couhi7"}],["path",{d:"m21 7-5 5 5 5V7",key:"6ouia7"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 14v2",key:"8jcxud"}],["path",{d:"M12 8v2",key:"1woqiv"}],["path",{d:"M12 2v2",key:"tus03m"}]]),Yx=fs("FlipHorizontal",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3",key:"1i73f7"}],["path",{d:"M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3",key:"saxlbk"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 14v2",key:"8jcxud"}],["path",{d:"M12 8v2",key:"1woqiv"}],["path",{d:"M12 2v2",key:"tus03m"}]]),Kx=fs("FlipVertical2",[["path",{d:"m17 3-5 5-5-5h10",key:"1ftt6x"}],["path",{d:"m17 21-5-5-5 5h10",key:"1m0wmu"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}]]),Qx=fs("FlipVertical",[["path",{d:"M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3",key:"14bfxa"}],["path",{d:"M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3",key:"14rx03"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}]]),Zx=fs("Flower2",[["path",{d:"M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1",key:"3pnvol"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}],["path",{d:"M12 10v12",key:"6ubwww"}],["path",{d:"M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z",key:"9hd38g"}],["path",{d:"M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z",key:"ufn41s"}]]),Jx=fs("Flower",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5",key:"14wa3c"}],["path",{d:"M12 7.5V9",key:"1oy5b0"}],["path",{d:"M7.5 12H9",key:"eltsq1"}],["path",{d:"M16.5 12H15",key:"vk5kw4"}],["path",{d:"M12 16.5V15",key:"k7eayi"}],["path",{d:"m8 8 1.88 1.88",key:"nxy4qf"}],["path",{d:"M14.12 9.88 16 8",key:"1lst6k"}],["path",{d:"m8 16 1.88-1.88",key:"h2eex1"}],["path",{d:"M14.12 14.12 16 16",key:"uqkrx3"}]]),Xx=fs("Focus",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]]),eu=fs("FoldHorizontal",[["path",{d:"M2 12h6",key:"1wqiqv"}],["path",{d:"M22 12h-6",key:"1eg9hc"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 8v2",key:"1woqiv"}],["path",{d:"M12 14v2",key:"8jcxud"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m19 9-3 3 3 3",key:"12ol22"}],["path",{d:"m5 15 3-3-3-3",key:"1kdhjc"}]]),tu=fs("FoldVertical",[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3-3-3 3",key:"e37ymu"}],["path",{d:"m15 5-3 3-3-3",key:"19d6lf"}]]),su=fs("FolderArchive",[["circle",{cx:"15",cy:"19",r:"2",key:"u2pros"}],["path",{d:"M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1",key:"1jj40k"}],["path",{d:"M15 11v-1",key:"cntcp"}],["path",{d:"M15 17v-2",key:"1279jj"}]]),au=fs("FolderCheck",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"m9 13 2 2 4-4",key:"6343dt"}]]),ru=fs("FolderClock",[["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}],["path",{d:"M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2",key:"1urifu"}],["path",{d:"M16 14v2l1 1",key:"xth2jh"}]]),iu=fs("FolderClosed",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M2 10h20",key:"1ir3d8"}]]),nu=fs("FolderCode",[["path",{d:"M10 10.5 8 13l2 2.5",key:"m4t9c1"}],["path",{d:"m14 10.5 2 2.5-2 2.5",key:"14w2eb"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z",key:"1u1bxd"}]]),ou=fs("FolderCog",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3",key:"1k8050"}],["path",{d:"m21.7 19.4-.9-.3",key:"1qgwi9"}],["path",{d:"m15.2 16.9-.9-.3",key:"1t7mvx"}],["path",{d:"m16.6 21.7.3-.9",key:"1j67ps"}],["path",{d:"m19.1 15.2.3-.9",key:"18r7jp"}],["path",{d:"m19.6 21.7-.4-1",key:"z2vh2"}],["path",{d:"m16.8 15.3-.4-1",key:"1ei7r6"}],["path",{d:"m14.3 19.6 1-.4",key:"11sv9r"}],["path",{d:"m20.7 16.8 1-.4",key:"19m87a"}]]),lu=fs("FolderDot",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["circle",{cx:"12",cy:"13",r:"1",key:"49l61u"}]]),du=fs("FolderDown",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m15 13-3 3-3-3",key:"6j2sf0"}]]),cu=fs("FolderGit2",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["path",{d:"M18 19c-2.8 0-5-2.2-5-5v8",key:"pkpw2h"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]),mu=fs("FolderGit",[["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M14 13h3",key:"1dgedf"}],["path",{d:"M7 13h3",key:"1pygq7"}]]),hu=fs("FolderHeart",[["path",{d:"M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.5",key:"6hud8k"}],["path",{d:"M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01c.95.95 1 2.53-.2 3.74L17.5 21Z",key:"wpff58"}]]),xu=fs("FolderInput",[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1",key:"fm4g5t"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m9 16 3-3-3-3",key:"6m91ic"}]]),uu=fs("FolderKanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]),pu=fs("FolderKey",[["circle",{cx:"16",cy:"20",r:"2",key:"1vifvg"}],["path",{d:"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2",key:"3hgo9p"}],["path",{d:"m22 14-4.5 4.5",key:"1ef6z8"}],["path",{d:"m21 15 1 1",key:"1ejcpy"}]]),gu=fs("FolderLock",[["rect",{width:"8",height:"5",x:"14",y:"17",rx:"1",key:"19aais"}],["path",{d:"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5",key:"1w6v7t"}],["path",{d:"M20 17v-2a2 2 0 1 0-4 0v2",key:"pwaxnr"}]]),fu=fs("FolderMinus",[["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),yu=fs("FolderOpenDot",[["path",{d:"m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2",key:"1nmvlm"}],["circle",{cx:"14",cy:"15",r:"1",key:"1gm4qj"}]]),bu=fs("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),vu=fs("FolderOutput",[["path",{d:"M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5",key:"1yk7aj"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m5 10-3 3 3 3",key:"1r8ie0"}]]),ju=fs("FolderPen",[["path",{d:"M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5",key:"a8xqs0"}],["path",{d:"M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1saktj"}]]),Nu=fs("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),wu=fs("FolderRoot",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}],["path",{d:"M12 15v5",key:"11xva1"}]]),ku=fs("FolderSearch2",[["circle",{cx:"11.5",cy:"12.5",r:"2.5",key:"1ea5ju"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M13.3 14.3 15 16",key:"1y4v1n"}]]),Mu=fs("FolderSearch",[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]),Au=fs("FolderSymlink",[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7",key:"x1c07l"}],["path",{d:"m8 16 3-3-3-3",key:"rlqrt1"}]]),Su=fs("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]),Cu=fs("FolderTree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]),Iu=fs("FolderUp",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m9 13 3-3 3 3",key:"1pxg3c"}]]),Pu=fs("FolderX",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"m9.5 10.5 5 5",key:"ra9qjz"}],["path",{d:"m14.5 10.5-5 5",key:"l2rkpq"}]]),Tu=fs("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),Ru=fs("Folders",[["path",{d:"M20 17a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.9a2 2 0 0 1-1.69-.9l-.81-1.2a2 2 0 0 0-1.67-.9H8a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2Z",key:"4u7rpt"}],["path",{d:"M2 8v11a2 2 0 0 0 2 2h14",key:"1eicx1"}]]),Ou=fs("Footprints",[["path",{d:"M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z",key:"1dudjm"}],["path",{d:"M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z",key:"l2t8xc"}],["path",{d:"M16 17h4",key:"1dejxt"}],["path",{d:"M4 13h4",key:"1bwh8b"}]]),Du=fs("Forklift",[["path",{d:"M12 12H5a2 2 0 0 0-2 2v5",key:"7zsz91"}],["circle",{cx:"13",cy:"19",r:"2",key:"wjnkru"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}],["path",{d:"M8 19h3m5-17v17h6M6 12V7c0-1.1.9-2 2-2h3l5 5",key:"13bk1p"}]]),qu=fs("Forward",[["polyline",{points:"15 17 20 12 15 7",key:"1w3sku"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]]),Eu=fs("Frame",[["line",{x1:"22",x2:"2",y1:"6",y2:"6",key:"15w7dq"}],["line",{x1:"22",x2:"2",y1:"18",y2:"18",key:"1ip48p"}],["line",{x1:"6",x2:"6",y1:"2",y2:"22",key:"a2lnyx"}],["line",{x1:"18",x2:"18",y1:"2",y2:"22",key:"8vb6jd"}]]),zu=fs("Framer",[["path",{d:"M5 16V9h14V2H5l14 14h-7m-7 0 7 7v-7m-7 0h7",key:"1a2nng"}]]),_u=fs("Frown",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 16s-1.5-2-4-2-4 2-4 2",key:"epbg0q"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]),Lu=fs("Fuel",[["line",{x1:"3",x2:"15",y1:"22",y2:"22",key:"xegly4"}],["line",{x1:"4",x2:"14",y1:"9",y2:"9",key:"xcnuvu"}],["path",{d:"M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18",key:"16j0yd"}],["path",{d:"M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5",key:"7cu91f"}]]),Fu=fs("Fullscreen",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["rect",{width:"10",height:"8",x:"7",y:"8",rx:"1",key:"vys8me"}]]),Wu=fs("GalleryHorizontalEnd",[["path",{d:"M2 7v10",key:"a2pl2d"}],["path",{d:"M6 5v14",key:"1kq3d7"}],["rect",{width:"12",height:"18",x:"10",y:"3",rx:"2",key:"13i7bc"}]]),Hu=fs("GalleryHorizontal",[["path",{d:"M2 3v18",key:"pzttux"}],["rect",{width:"12",height:"18",x:"6",y:"3",rx:"2",key:"btr8bg"}],["path",{d:"M22 3v18",key:"6jf3v"}]]),Vu=fs("GalleryThumbnails",[["rect",{width:"18",height:"14",x:"3",y:"3",rx:"2",key:"74y24f"}],["path",{d:"M4 21h1",key:"16zlid"}],["path",{d:"M9 21h1",key:"15o7lz"}],["path",{d:"M14 21h1",key:"v9vybs"}],["path",{d:"M19 21h1",key:"edywat"}]]),Bu=fs("GalleryVerticalEnd",[["path",{d:"M7 2h10",key:"nczekb"}],["path",{d:"M5 6h14",key:"u2x4p"}],["rect",{width:"18",height:"12",x:"3",y:"10",rx:"2",key:"l0tzu3"}]]),Gu=fs("GalleryVertical",[["path",{d:"M3 2h18",key:"15qxfx"}],["rect",{width:"18",height:"12",x:"3",y:"6",rx:"2",key:"1439r6"}],["path",{d:"M3 22h18",key:"8prr45"}]]),Uu=fs("Gamepad2",[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]]),$u=fs("Gamepad",[["line",{x1:"6",x2:"10",y1:"12",y2:"12",key:"161bw2"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"15",x2:"15.01",y1:"13",y2:"13",key:"dqpgro"}],["line",{x1:"18",x2:"18.01",y1:"11",y2:"11",key:"meh2c"}],["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}]]),Yu=fs("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),Ku=fs("Gavel",[["path",{d:"m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8",key:"15492f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m9 7 8 8",key:"5jnvq1"}],["path",{d:"m21 11-8-8",key:"z4y7zo"}]]),Qu=fs("Gem",[["path",{d:"M6 3h12l4 6-10 13L2 9Z",key:"1pcd5k"}],["path",{d:"M11 3 8 9l4 13 4-13-3-6",key:"1fcu3u"}],["path",{d:"M2 9h20",key:"16fsjt"}]]),Zu=fs("Ghost",[["path",{d:"M9 10h.01",key:"qbtxuw"}],["path",{d:"M15 10h.01",key:"1qmjsl"}],["path",{d:"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z",key:"uwwb07"}]]),Ju=fs("Gift",[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]]),Xu=fs("GitBranchPlus",[["path",{d:"M6 3v12",key:"qpgusn"}],["path",{d:"M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z",key:"1d02ji"}],["path",{d:"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z",key:"chk6ph"}],["path",{d:"M15 6a9 9 0 0 0-9 9",key:"or332x"}],["path",{d:"M18 15v6",key:"9wciyi"}],["path",{d:"M21 18h-6",key:"139f0c"}]]),ep=fs("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),tp=fs("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]),sp=fs("GitCommitVertical",[["path",{d:"M12 3v6",key:"1holv5"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M12 15v6",key:"a9ows0"}]]),ap=fs("GitCompareArrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]]),rp=fs("GitCompare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]),ip=fs("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]),np=fs("GitGraph",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M5 9v6",key:"158jrl"}],["circle",{cx:"5",cy:"18",r:"3",key:"104gr9"}],["path",{d:"M12 3v18",key:"108xh3"}],["circle",{cx:"19",cy:"6",r:"3",key:"108a5v"}],["path",{d:"M16 15.7A9 9 0 0 0 19 9",key:"1e3vqb"}]]),op=fs("GitMerge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]),lp=fs("GitPullRequestArrow",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M5 9v12",key:"ih889a"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}]]),dp=fs("GitPullRequestClosed",[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 9v12",key:"1sc30k"}],["path",{d:"m21 3-6 6",key:"16nqsk"}],["path",{d:"m21 9-6-6",key:"9j17rh"}],["path",{d:"M18 11.5V15",key:"65xf6f"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]),cp=fs("GitPullRequestCreateArrow",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M5 9v12",key:"ih889a"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v3",key:"1rbwk6"}],["path",{d:"M19 15v6",key:"10aioa"}],["path",{d:"M22 18h-6",key:"1d5gi5"}]]),mp=fs("GitPullRequestCreate",[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 9v12",key:"1sc30k"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v3",key:"1jb6z3"}],["path",{d:"M18 15v6",key:"9wciyi"}],["path",{d:"M21 18h-6",key:"139f0c"}]]),hp=fs("GitPullRequestDraft",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M18 6V5",key:"1oao2s"}],["path",{d:"M18 11v-1",key:"11c8tz"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]]),xp=fs("GitPullRequest",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]]),up=fs("Github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]),pp=fs("Gitlab",[["path",{d:"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z",key:"148pdi"}]]),gp=fs("GlassWater",[["path",{d:"M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z",key:"p55z4y"}],["path",{d:"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0",key:"mjntcy"}]]),fp=fs("Glasses",[["circle",{cx:"6",cy:"15",r:"4",key:"vux9w4"}],["circle",{cx:"18",cy:"15",r:"4",key:"18o8ve"}],["path",{d:"M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2",key:"1ag4bs"}],["path",{d:"M2.5 13 5 7c.7-1.3 1.4-2 3-2",key:"1hm1gs"}],["path",{d:"M21.5 13 19 7c-.7-1.3-1.5-2-3-2",key:"1r31ai"}]]),yp=fs("GlobeLock",[["path",{d:"M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13",key:"qkt0x6"}],["path",{d:"M2 12h8.5",key:"ovaggd"}],["path",{d:"M20 6V4a2 2 0 1 0-4 0v2",key:"1of5e8"}],["rect",{width:"8",height:"5",x:"14",y:"6",rx:"1",key:"1fmf51"}]]),bp=fs("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),vp=fs("Goal",[["path",{d:"M12 13V2l8 4-8 4",key:"5wlwwj"}],["path",{d:"M20.561 10.222a9 9 0 1 1-12.55-5.29",key:"1c0wjv"}],["path",{d:"M8.002 9.997a5 5 0 1 0 8.9 2.02",key:"gb1g7m"}]]),jp=fs("Grab",[["path",{d:"M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4",key:"edstyy"}],["path",{d:"M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"19wdwo"}],["path",{d:"M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5",key:"1lugqo"}],["path",{d:"M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1hbeus"}],["path",{d:"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0",key:"1etffm"}]]),Np=fs("GraduationCap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),wp=fs("Grape",[["path",{d:"M22 5V2l-5.89 5.89",key:"1eenpo"}],["circle",{cx:"16.6",cy:"15.89",r:"3",key:"xjtalx"}],["circle",{cx:"8.11",cy:"7.4",r:"3",key:"u2fv6i"}],["circle",{cx:"12.35",cy:"11.65",r:"3",key:"i6i8g7"}],["circle",{cx:"13.91",cy:"5.85",r:"3",key:"6ye0dv"}],["circle",{cx:"18.15",cy:"10.09",r:"3",key:"snx9no"}],["circle",{cx:"6.56",cy:"13.2",r:"3",key:"17x4xg"}],["circle",{cx:"10.8",cy:"17.44",r:"3",key:"1hogw9"}],["circle",{cx:"5",cy:"19",r:"3",key:"1sn6vo"}]]),kp=fs("Grid2x2Check",[["path",{d:"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3",key:"11za1p"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]),Mp=fs("Grid2x2Plus",[["path",{d:"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3",key:"11za1p"}],["path",{d:"M16 19h6",key:"xwg31i"}],["path",{d:"M19 22v-6",key:"qhmiwi"}]]),Ap=fs("Grid2x2X",[["path",{d:"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3",key:"11za1p"}],["path",{d:"m16 16 5 5",key:"8tpb07"}],["path",{d:"m16 21 5-5",key:"193jll"}]]),Sp=fs("Grid2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),Cp=fs("Grid3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),Ip=fs("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),Pp=fs("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),Tp=fs("Grip",[["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"19",cy:"5",r:"1",key:"w8mnmm"}],["circle",{cx:"5",cy:"5",r:"1",key:"lttvr7"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}],["circle",{cx:"19",cy:"19",r:"1",key:"shf9b7"}],["circle",{cx:"5",cy:"19",r:"1",key:"bfqh0e"}]]),Rp=fs("Group",[["path",{d:"M3 7V5c0-1.1.9-2 2-2h2",key:"adw53z"}],["path",{d:"M17 3h2c1.1 0 2 .9 2 2v2",key:"an4l38"}],["path",{d:"M21 17v2c0 1.1-.9 2-2 2h-2",key:"144t0e"}],["path",{d:"M7 21H5c-1.1 0-2-.9-2-2v-2",key:"rtnfgi"}],["rect",{width:"7",height:"5",x:"7",y:"7",rx:"1",key:"1eyiv7"}],["rect",{width:"7",height:"5",x:"10",y:"12",rx:"1",key:"1qlmkx"}]]),Op=fs("Guitar",[["path",{d:"m11.9 12.1 4.514-4.514",key:"109xqo"}],["path",{d:"M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z",key:"txyc8t"}],["path",{d:"m6 16 2 2",key:"16qmzd"}],["path",{d:"M8.2 9.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4 2 2 0 0 0 1.8-1.2z",key:"1u8q3z"}],["circle",{cx:"11.5",cy:"12.5",r:".5",fill:"currentColor",key:"16onso"}]]),Dp=fs("Ham",[["path",{d:"M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856",key:"1k1t7q"}],["path",{d:"M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288",key:"153t1g"}],["path",{d:"M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025",key:"gzrt0n"}],["path",{d:"m8.5 16.5-1-1",key:"otr954"}]]),qp=fs("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]),Ep=fs("HandCoins",[["path",{d:"M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17",key:"geh8rc"}],["path",{d:"m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9",key:"1fto5m"}],["path",{d:"m2 16 6 6",key:"1pfhp9"}],["circle",{cx:"16",cy:"9",r:"2.9",key:"1n0dlu"}],["circle",{cx:"6",cy:"5",r:"3",key:"151irh"}]]),zp=fs("HandHeart",[["path",{d:"M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16",key:"1ifwr1"}],["path",{d:"m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9",key:"17abbs"}],["path",{d:"m2 15 6 6",key:"10dquu"}],["path",{d:"M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z",key:"1h3036"}]]),_p=fs("HandHelping",[["path",{d:"M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14",key:"1j4xps"}],["path",{d:"m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9",key:"uospg8"}],["path",{d:"m2 13 6 6",key:"16e5sb"}]]),Lp=fs("HandMetal",[["path",{d:"M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4",key:"wc6myp"}],["path",{d:"M14 11V9a2 2 0 1 0-4 0v2",key:"94qvcw"}],["path",{d:"M10 10.5V5a2 2 0 1 0-4 0v9",key:"m1ah89"}],["path",{d:"m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5",key:"t1skq1"}]]),Fp=fs("HandPlatter",[["path",{d:"M12 3V2",key:"ar7q03"}],["path",{d:"m15.4 17.4 3.2-2.8a2 2 0 1 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2l-1.302-1.464A1 1 0 0 0 6.151 19H5",key:"n2g93r"}],["path",{d:"M2 14h12a2 2 0 0 1 0 4h-2",key:"1o2jem"}],["path",{d:"M4 10h16",key:"img6z1"}],["path",{d:"M5 10a7 7 0 0 1 14 0",key:"1ega1o"}],["path",{d:"M5 14v6a1 1 0 0 1-1 1H2",key:"1hescx"}]]),Wp=fs("Hand",[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]]),Hp=fs("Handshake",[["path",{d:"m11 17 2 2a1 1 0 1 0 3-3",key:"efffak"}],["path",{d:"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4",key:"9pr0kb"}],["path",{d:"m21 3 1 11h-2",key:"1tisrp"}],["path",{d:"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3",key:"1uvwmv"}],["path",{d:"M3 4h8",key:"1ep09j"}]]),Vp=fs("HardDriveDownload",[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m16 6-4 4-4-4",key:"6wukr"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 18h.01",key:"h775k"}]]),Bp=fs("HardDriveUpload",[["path",{d:"m16 6-4-4-4 4",key:"13yo43"}],["path",{d:"M12 2v8",key:"1q4o3n"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 18h.01",key:"h775k"}]]),Gp=fs("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),Up=fs("HardHat",[["path",{d:"M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5",key:"1p9q5i"}],["path",{d:"M14 6a6 6 0 0 1 6 6v3",key:"1hnv84"}],["path",{d:"M4 15v-3a6 6 0 0 1 6-6",key:"9ciidu"}],["rect",{x:"2",y:"15",width:"20",height:"4",rx:"1",key:"g3x8cw"}]]),$p=fs("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]),Yp=fs("Haze",[["path",{d:"m5.2 6.2 1.4 1.4",key:"17imol"}],["path",{d:"M2 13h2",key:"13gyu8"}],["path",{d:"M20 13h2",key:"16rner"}],["path",{d:"m17.4 7.6 1.4-1.4",key:"t4xlah"}],["path",{d:"M22 17H2",key:"1gtaj3"}],["path",{d:"M22 21H2",key:"1gy6en"}],["path",{d:"M16 13a4 4 0 0 0-8 0",key:"1dyczq"}],["path",{d:"M12 5V2.5",key:"1vytko"}]]),Kp=fs("HdmiPort",[["path",{d:"M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z",key:"2128wb"}],["path",{d:"M7.5 12h9",key:"1t0ckc"}]]),Qp=fs("Heading1",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"m17 12 3-2v8",key:"1hhhft"}]]),Zp=fs("Heading2",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1",key:"9jr5yi"}]]),Jp=fs("Heading3",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2",key:"68ncm8"}],["path",{d:"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2",key:"1ejuhz"}]]),Xp=fs("Heading4",[["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M17 10v3a1 1 0 0 0 1 1h3",key:"tj5zdr"}],["path",{d:"M21 10v8",key:"1kdml4"}],["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}]]),eg=fs("Heading5",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M17 13v-3h4",key:"1nvgqp"}],["path",{d:"M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17",key:"2nebdn"}]]),tg=fs("Heading6",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["circle",{cx:"19",cy:"16",r:"2",key:"15mx69"}],["path",{d:"M20 10c-2 2-3 3.5-3 6",key:"f35dl0"}]]),sg=fs("Heading",[["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M6 20V4",key:"1w1bmo"}],["path",{d:"M18 20V4",key:"o2hl4u"}]]),ag=fs("HeadphoneOff",[["path",{d:"M21 14h-1.343",key:"1jdnxi"}],["path",{d:"M9.128 3.47A9 9 0 0 1 21 12v3.343",key:"6kipu2"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3",key:"9x50f4"}],["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364",key:"1bkxnm"}]]),rg=fs("Headphones",[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]]),ig=fs("Headset",[["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",key:"12oyoe"}],["path",{d:"M21 16v2a4 4 0 0 1-4 4h-5",key:"1x7m43"}]]),ng=fs("HeartCrack",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"m12 13-1-1 2-2-3-3 2-2",key:"xjdxli"}]]),og=fs("HeartHandshake",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66",key:"4oyue0"}],["path",{d:"m18 15-2-2",key:"60u0ii"}],["path",{d:"m15 18-2-2",key:"6p76be"}]]),lg=fs("HeartOff",[["line",{x1:"2",y1:"2",x2:"22",y2:"22",key:"1w4vcy"}],["path",{d:"M16.5 16.5 12 21l-7-7c-1.5-1.45-3-3.2-3-5.5a5.5 5.5 0 0 1 2.14-4.35",key:"3mpagl"}],["path",{d:"M8.76 3.1c1.15.22 2.13.78 3.24 1.9 1.5-1.5 2.74-2 4.5-2A5.5 5.5 0 0 1 22 8.5c0 2.12-1.3 3.78-2.67 5.17",key:"1gh3v3"}]]),dg=fs("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]),cg=fs("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]),mg=fs("Heater",[["path",{d:"M11 8c2-3-2-3 0-6",key:"1ldv5m"}],["path",{d:"M15.5 8c2-3-2-3 0-6",key:"1otqoz"}],["path",{d:"M6 10h.01",key:"1lbq93"}],["path",{d:"M6 14h.01",key:"zudwn7"}],["path",{d:"M10 16v-4",key:"1c25yv"}],["path",{d:"M14 16v-4",key:"1dkbt8"}],["path",{d:"M18 16v-4",key:"1yg9me"}],["path",{d:"M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3",key:"1ubg90"}],["path",{d:"M5 20v2",key:"1abpe8"}],["path",{d:"M19 20v2",key:"kqn6ft"}]]),hg=fs("Hexagon",[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}]]),xg=fs("Highlighter",[["path",{d:"m9 11-6 6v3h9l3-3",key:"1a3l36"}],["path",{d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4",key:"14a9rk"}]]),ug=fs("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),pg=fs("HopOff",[["path",{d:"M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27",key:"qyzcap"}],["path",{d:"M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28",key:"y078lb"}],["path",{d:"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26",key:"1utre3"}],["path",{d:"M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25",key:"17o9hm"}],["path",{d:"M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75",key:"1d1n4p"}],["path",{d:"M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24",key:"9uv3tt"}],["path",{d:"M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28",key:"1292wz"}],["path",{d:"M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05",key:"7ozu9p"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),gg=fs("Hop",[["path",{d:"M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18",key:"18lxf1"}],["path",{d:"M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88",key:"vtfxrw"}],["path",{d:"M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36",key:"13hl71"}],["path",{d:"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87",key:"1sl8oj"}],["path",{d:"M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08",key:"19c6kt"}],["path",{d:"M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57",key:"85ghs3"}],["path",{d:"M4.93 4.93 3 3a.7.7 0 0 1 0-1",key:"x087yj"}],["path",{d:"M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15",key:"11xdqo"}]]),fg=fs("Hospital",[["path",{d:"M12 6v4",key:"16clxf"}],["path",{d:"M14 14h-4",key:"esezmu"}],["path",{d:"M14 18h-4",key:"16mqa2"}],["path",{d:"M14 8h-4",key:"z8ypaz"}],["path",{d:"M18 12h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2",key:"b1k337"}],["path",{d:"M18 22V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v18",key:"16g51d"}]]),yg=fs("Hotel",[["path",{d:"M10 22v-6.57",key:"1wmca3"}],["path",{d:"M12 11h.01",key:"z322tv"}],["path",{d:"M12 7h.01",key:"1ivr5q"}],["path",{d:"M14 15.43V22",key:"1q2vjd"}],["path",{d:"M15 16a5 5 0 0 0-6 0",key:"o9wqvi"}],["path",{d:"M16 11h.01",key:"xkw8gn"}],["path",{d:"M16 7h.01",key:"1kdx03"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 7h.01",key:"1vti4s"}],["rect",{x:"4",y:"2",width:"16",height:"20",rx:"2",key:"1uxh74"}]]),bg=fs("Hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]),vg=fs("HousePlug",[["path",{d:"M10 12V8.964",key:"1vll13"}],["path",{d:"M14 12V8.964",key:"1x3qvg"}],["path",{d:"M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z",key:"ppykja"}],["path",{d:"M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2",key:"1gvg2z"}]]),jg=fs("HousePlus",[["path",{d:"M13.22 2.416a2 2 0 0 0-2.511.057l-7 5.999A2 2 0 0 0 3 10v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7.354",key:"5phn05"}],["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M15 6h6",key:"1jlkvy"}],["path",{d:"M18 3v6",key:"x1uolp"}]]),Ng=fs("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]),wg=fs("IceCreamBowl",[["path",{d:"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0",key:"1uxfcu"}],["path",{d:"M12.14 11a3.5 3.5 0 1 1 6.71 0",key:"4k3m1s"}],["path",{d:"M15.5 6.5a3.5 3.5 0 1 0-7 0",key:"zmuahr"}]]),kg=fs("IceCreamCone",[["path",{d:"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11",key:"1v6356"}],["path",{d:"M17 7A5 5 0 0 0 7 7",key:"151p3v"}],["path",{d:"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4",key:"1sdaij"}]]),Mg=fs("IdCard",[["path",{d:"M16 10h2",key:"8sgtl7"}],["path",{d:"M16 14h2",key:"epxaof"}],["path",{d:"M6.17 15a3 3 0 0 1 5.66 0",key:"n6f512"}],["circle",{cx:"9",cy:"11",r:"2",key:"yxgjnd"}],["rect",{x:"2",y:"5",width:"20",height:"14",rx:"2",key:"qneu4z"}]]),Ag=fs("ImageDown",[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",key:"9csbqa"}],["path",{d:"m14 19 3 3v-5.5",key:"9ldu5r"}],["path",{d:"m17 22 3-3",key:"1nkfve"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]),Sg=fs("ImageMinus",[["path",{d:"M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7",key:"m87ecr"}],["line",{x1:"16",x2:"22",y1:"5",y2:"5",key:"ez7e4s"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),Cg=fs("ImageOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]),Ig=fs("ImagePlay",[["path",{d:"m11 16-5 5",key:"j5f7ct"}],["path",{d:"M11 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6.5",key:"7s81lt"}],["path",{d:"M15.765 22a.5.5 0 0 1-.765-.424V13.38a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z",key:"1omb6s"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]),Pg=fs("ImagePlus",[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]),Tg=fs("ImageUp",[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",key:"9csbqa"}],["path",{d:"m14 19.5 3-3 3 3",key:"9vmjn0"}],["path",{d:"M17 22v-5.5",key:"1aa6fl"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]),Rg=fs("ImageUpscale",[["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M17 21h2a2 2 0 0 0 2-2",key:"130fy9"}],["path",{d:"M21 12v3",key:"1wzk3p"}],["path",{d:"m21 3-5 5",key:"1g5oa7"}],["path",{d:"M3 7V5a2 2 0 0 1 2-2",key:"kk3yz1"}],["path",{d:"m5 21 4.144-4.144a1.21 1.21 0 0 1 1.712 0L13 19",key:"fyekpt"}],["path",{d:"M9 3h3",key:"d52fa"}],["rect",{x:"3",y:"11",width:"10",height:"10",rx:"1",key:"1wpmix"}]]),Og=fs("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),Dg=fs("Images",[["path",{d:"M18 22H4a2 2 0 0 1-2-2V6",key:"pblm9e"}],["path",{d:"m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18",key:"nf6bnh"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}],["rect",{width:"16",height:"16",x:"6",y:"2",rx:"2",key:"12espp"}]]),qg=fs("Import",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m8 11 4 4 4-4",key:"1dohi6"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4",key:"1ywtjm"}]]),Eg=fs("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]),zg=fs("IndentDecrease",[["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 18H11",key:"4wu86t"}],["path",{d:"M21 6H11",key:"6dy1d6"}],["path",{d:"m7 8-4 4 4 4",key:"o5hrat"}]]),_g=fs("IndentIncrease",[["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 18H11",key:"4wu86t"}],["path",{d:"M21 6H11",key:"6dy1d6"}],["path",{d:"m3 8 4 4-4 4",key:"1a3j6y"}]]),Lg=fs("IndianRupee",[["path",{d:"M6 3h12",key:"ggurg9"}],["path",{d:"M6 8h12",key:"6g4wlu"}],["path",{d:"m6 13 8.5 8",key:"u1kupk"}],["path",{d:"M6 13h3",key:"wdp6ag"}],["path",{d:"M9 13c6.667 0 6.667-10 0-10",key:"1nkvk2"}]]),Fg=fs("Infinity",[["path",{d:"M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z",key:"1z0uae"}]]),Wg=fs("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),Hg=fs("InspectionPanel",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 7h.01",key:"7u93v4"}],["path",{d:"M17 7h.01",key:"14a9sn"}],["path",{d:"M7 17h.01",key:"19xn7k"}],["path",{d:"M17 17h.01",key:"1sd3ek"}]]),Vg=fs("Instagram",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]]),Bg=fs("Italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]),Gg=fs("IterationCcw",[["path",{d:"M20 10c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8h8",key:"4znkd0"}],["polyline",{points:"16 14 20 18 16 22",key:"11njsm"}]]),Ug=fs("IterationCw",[["path",{d:"M4 10c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8H4",key:"tuf4su"}],["polyline",{points:"8 22 4 18 8 14",key:"evkj9s"}]]),$g=fs("JapaneseYen",[["path",{d:"M12 9.5V21m0-11.5L6 3m6 6.5L18 3",key:"2ej80x"}],["path",{d:"M6 15h12",key:"1hwgt5"}],["path",{d:"M6 11h12",key:"wf4gp6"}]]),Yg=fs("Joystick",[["path",{d:"M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z",key:"jg2n2t"}],["path",{d:"M6 15v-2",key:"gd6mvg"}],["path",{d:"M12 15V9",key:"8c7uyn"}],["circle",{cx:"12",cy:"6",r:"3",key:"1gm2ql"}]]),Kg=fs("Kanban",[["path",{d:"M6 5v11",key:"mdvv1e"}],["path",{d:"M12 5v6",key:"14ar3b"}],["path",{d:"M18 5v14",key:"7ji314"}]]),Qg=fs("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]),Zg=fs("KeySquare",[["path",{d:"M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z",key:"165ttr"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814",key:"1ubxi2"}]]),Jg=fs("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]),Xg=fs("KeyboardMusic",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"M6 8h4",key:"utf9t1"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"M6 12v4",key:"dy92yo"}],["path",{d:"M10 12v4",key:"1fxnav"}],["path",{d:"M14 12v4",key:"1hft58"}],["path",{d:"M18 12v4",key:"tjjnbz"}]]),ef=fs("KeyboardOff",[["path",{d:"M 20 4 A2 2 0 0 1 22 6",key:"1g1fkt"}],["path",{d:"M 22 6 L 22 16.41",key:"1qjg3w"}],["path",{d:"M 7 16 L 16 16",key:"n0yqwb"}],["path",{d:"M 9.69 4 L 20 4",key:"kbpcgx"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2",key:"s23sx2"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M8 12h.01",key:"czm47f"}]]),tf=fs("Keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),sf=fs("LampCeiling",[["path",{d:"M12 2v5",key:"nd4vlx"}],["path",{d:"M6 7h12l4 9H2l4-9Z",key:"123d64"}],["path",{d:"M9.17 16a3 3 0 1 0 5.66 0",key:"1061mw"}]]),af=fs("LampDesk",[["path",{d:"m14 5-3 3 2 7 8-8-7-2Z",key:"1b0msb"}],["path",{d:"m14 5-3 3-3-3 3-3 3 3Z",key:"1uemms"}],["path",{d:"M9.5 6.5 4 12l3 6",key:"1bx08v"}],["path",{d:"M3 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H3Z",key:"wap775"}]]),rf=fs("LampFloor",[["path",{d:"M9 2h6l3 7H6l3-7Z",key:"wcx6mj"}],["path",{d:"M12 9v13",key:"3n1su1"}],["path",{d:"M9 22h6",key:"1rlq3v"}]]),nf=fs("LampWallDown",[["path",{d:"M11 13h6l3 7H8l3-7Z",key:"9n3qlo"}],["path",{d:"M14 13V8a2 2 0 0 0-2-2H8",key:"1hu4hb"}],["path",{d:"M4 9h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4v6Z",key:"s053bc"}]]),of=fs("LampWallUp",[["path",{d:"M11 4h6l3 7H8l3-7Z",key:"11x1ee"}],["path",{d:"M14 11v5a2 2 0 0 1-2 2H8",key:"eutp5o"}],["path",{d:"M4 15h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4v-6Z",key:"1iuthr"}]]),lf=fs("Lamp",[["path",{d:"M8 2h8l4 10H4L8 2Z",key:"9dma5w"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M8 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H8Z",key:"mwf4oh"}]]),df=fs("LandPlot",[["path",{d:"m12 8 6-3-6-3v10",key:"mvpnpy"}],["path",{d:"m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12",key:"ek95tt"}],["path",{d:"m6.49 12.85 11.02 6.3",key:"1kt42w"}],["path",{d:"M17.51 12.85 6.5 19.15",key:"v55bdg"}]]),cf=fs("Landmark",[["line",{x1:"3",x2:"21",y1:"22",y2:"22",key:"j8o0r"}],["line",{x1:"6",x2:"6",y1:"18",y2:"11",key:"10tf0k"}],["line",{x1:"10",x2:"10",y1:"18",y2:"11",key:"54lgf6"}],["line",{x1:"14",x2:"14",y1:"18",y2:"11",key:"380y"}],["line",{x1:"18",x2:"18",y1:"18",y2:"11",key:"1kevvc"}],["polygon",{points:"12 2 20 7 4 7",key:"jkujk7"}]]),mf=fs("Languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),hf=fs("LaptopMinimalCheck",[["path",{d:"M2 20h20",key:"owomy5"}],["path",{d:"m9 10 2 2 4-4",key:"1gnqz4"}],["rect",{x:"3",y:"4",width:"18",height:"12",rx:"2",key:"8ur36m"}]]),xf=fs("LaptopMinimal",[["rect",{width:"18",height:"12",x:"3",y:"4",rx:"2",ry:"2",key:"1qhy41"}],["line",{x1:"2",x2:"22",y1:"20",y2:"20",key:"ni3hll"}]]),uf=fs("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]),pf=fs("LassoSelect",[["path",{d:"M7 22a5 5 0 0 1-2-4",key:"umushi"}],["path",{d:"M7 16.93c.96.43 1.96.74 2.99.91",key:"ybbtv3"}],["path",{d:"M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2",key:"gt5e1w"}],["path",{d:"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z",key:"bq3ynw"}],["path",{d:"M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z",key:"72q637"}]]),gf=fs("Lasso",[["path",{d:"M7 22a5 5 0 0 1-2-4",key:"umushi"}],["path",{d:"M3.3 14A6.8 6.8 0 0 1 2 10c0-4.4 4.5-8 10-8s10 3.6 10 8-4.5 8-10 8a12 12 0 0 1-5-1",key:"146dds"}],["path",{d:"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z",key:"bq3ynw"}]]),ff=fs("Laugh",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z",key:"b2q4dd"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]),yf=fs("Layers2",[["path",{d:"m16.02 12 5.48 3.13a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74L7.98 12",key:"1cuww1"}],["path",{d:"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74Z",key:"pdlvxu"}]]),bf=fs("Layers3",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m6.08 9.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59",key:"1e5n1m"}],["path",{d:"m6.08 14.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59",key:"1iwflc"}]]),vf=fs("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]),jf=fs("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),Nf=fs("LayoutGrid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),wf=fs("LayoutList",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["path",{d:"M14 4h7",key:"3xa0d5"}],["path",{d:"M14 9h7",key:"1icrd9"}],["path",{d:"M14 15h7",key:"1mj8o2"}],["path",{d:"M14 20h7",key:"11slyb"}]]),kf=fs("LayoutPanelLeft",[["rect",{width:"7",height:"18",x:"3",y:"3",rx:"1",key:"2obqm"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}]]),Mf=fs("LayoutPanelTop",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}]]),Af=fs("LayoutTemplate",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),Sf=fs("Leaf",[["path",{d:"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z",key:"nnexq3"}],["path",{d:"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12",key:"mt58a7"}]]),Cf=fs("LeafyGreen",[["path",{d:"M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22",key:"1134nt"}],["path",{d:"M2 22 17 7",key:"1q7jp2"}]]),If=fs("Lectern",[["path",{d:"M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3",key:"13jjxg"}],["path",{d:"M18 6V3a1 1 0 0 0-1-1h-3",key:"1550fe"}],["rect",{width:"8",height:"12",x:"8",y:"10",rx:"1",key:"qmu8b6"}]]),Pf=fs("LetterText",[["path",{d:"M15 12h6",key:"upa0zy"}],["path",{d:"M15 6h6",key:"1jlkvy"}],["path",{d:"m3 13 3.553-7.724a.5.5 0 0 1 .894 0L11 13",key:"blevx4"}],["path",{d:"M3 18h18",key:"1h113x"}],["path",{d:"M4 11h6",key:"olkgv1"}]]),Tf=fs("LibraryBig",[["rect",{width:"8",height:"18",x:"3",y:"3",rx:"1",key:"oynpb5"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z",key:"1qboyk"}]]),Rf=fs("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]),Of=fs("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]),Df=fs("Ligature",[["path",{d:"M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2",key:"1rtphz"}],["path",{d:"M6 12h4",key:"a4o3ry"}],["path",{d:"M14 12h2v8",key:"c1fccl"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 20h4",key:"lzx1xo"}]]),qf=fs("LightbulbOff",[["path",{d:"M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5",key:"1fkcox"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5",key:"10m8kw"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]),Ef=fs("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]),zf=fs("Link2Off",[["path",{d:"M9 17H7A5 5 0 0 1 7 7",key:"10o201"}],["path",{d:"M15 7h2a5 5 0 0 1 4 8",key:"1d3206"}],["line",{x1:"8",x2:"12",y1:"12",y2:"12",key:"rvw6j4"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),_f=fs("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),Lf=fs("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),Ff=fs("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]),Wf=fs("ListCheck",[["path",{d:"M11 18H3",key:"n3j2dh"}],["path",{d:"m15 18 2 2 4-4",key:"1szwhi"}],["path",{d:"M16 12H3",key:"1a2rj7"}],["path",{d:"M16 6H3",key:"1wxfjs"}]]),Hf=fs("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]),Vf=fs("ListCollapse",[["path",{d:"m3 10 2.5-2.5L3 5",key:"i6eama"}],["path",{d:"m3 19 2.5-2.5L3 14",key:"w2gmor"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}]]),Bf=fs("ListEnd",[["path",{d:"M16 12H3",key:"1a2rj7"}],["path",{d:"M16 6H3",key:"1wxfjs"}],["path",{d:"M10 18H3",key:"13769t"}],["path",{d:"M21 6v10a2 2 0 0 1-2 2h-5",key:"ilrcs8"}],["path",{d:"m16 16-2 2 2 2",key:"kkc6pm"}]]),Gf=fs("ListFilter",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M10 18h4",key:"1ulq68"}]]),Uf=fs("ListMinus",[["path",{d:"M11 12H3",key:"51ecnj"}],["path",{d:"M16 6H3",key:"1wxfjs"}],["path",{d:"M16 18H3",key:"12xzn7"}],["path",{d:"M21 12h-6",key:"bt1uis"}]]),$f=fs("ListMusic",[["path",{d:"M21 15V6",key:"h1cx4g"}],["path",{d:"M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z",key:"8saifv"}],["path",{d:"M12 12H3",key:"18klou"}],["path",{d:"M16 6H3",key:"1wxfjs"}],["path",{d:"M12 18H3",key:"11ftsu"}]]),Yf=fs("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]),Kf=fs("ListPlus",[["path",{d:"M11 12H3",key:"51ecnj"}],["path",{d:"M16 6H3",key:"1wxfjs"}],["path",{d:"M16 18H3",key:"12xzn7"}],["path",{d:"M18 9v6",key:"1twb98"}],["path",{d:"M21 12h-6",key:"bt1uis"}]]),Qf=fs("ListRestart",[["path",{d:"M21 6H3",key:"1jwq7v"}],["path",{d:"M7 12H3",key:"13ou7f"}],["path",{d:"M7 18H3",key:"1sijw9"}],["path",{d:"M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14",key:"qth677"}],["path",{d:"M11 10v4h4",key:"172dkj"}]]),Zf=fs("ListStart",[["path",{d:"M16 12H3",key:"1a2rj7"}],["path",{d:"M16 18H3",key:"12xzn7"}],["path",{d:"M10 6H3",key:"lf8lx7"}],["path",{d:"M21 18V8a2 2 0 0 0-2-2h-5",key:"1hghli"}],["path",{d:"m16 8-2-2 2-2",key:"160uvd"}]]),Jf=fs("ListTodo",[["rect",{x:"3",y:"5",width:"6",height:"6",rx:"1",key:"1defrl"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]),Xf=fs("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]),ey=fs("ListVideo",[["path",{d:"M12 12H3",key:"18klou"}],["path",{d:"M16 6H3",key:"1wxfjs"}],["path",{d:"M12 18H3",key:"11ftsu"}],["path",{d:"m16 12 5 3-5 3v-6Z",key:"zpskkp"}]]),ty=fs("ListX",[["path",{d:"M11 12H3",key:"51ecnj"}],["path",{d:"M16 6H3",key:"1wxfjs"}],["path",{d:"M16 18H3",key:"12xzn7"}],["path",{d:"m19 10-4 4",key:"1tz659"}],["path",{d:"m15 10 4 4",key:"1n7nei"}]]),sy=fs("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]),ay=fs("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),ry=fs("LoaderPinwheel",[["path",{d:"M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0",key:"1lzz15"}],["path",{d:"M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6",key:"1gnrpi"}],["path",{d:"M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6",key:"u9yy5q"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),iy=fs("Loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]),ny=fs("LocateFixed",[["line",{x1:"2",x2:"5",y1:"12",y2:"12",key:"bvdh0s"}],["line",{x1:"19",x2:"22",y1:"12",y2:"12",key:"1tbv5k"}],["line",{x1:"12",x2:"12",y1:"2",y2:"5",key:"11lu5j"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}],["circle",{cx:"12",cy:"12",r:"7",key:"fim9np"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),oy=fs("LocateOff",[["line",{x1:"2",x2:"5",y1:"12",y2:"12",key:"bvdh0s"}],["line",{x1:"19",x2:"22",y1:"12",y2:"12",key:"1tbv5k"}],["line",{x1:"12",x2:"12",y1:"2",y2:"5",key:"11lu5j"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}],["path",{d:"M7.11 7.11C5.83 8.39 5 10.1 5 12c0 3.87 3.13 7 7 7 1.9 0 3.61-.83 4.89-2.11",key:"1oh7ia"}],["path",{d:"M18.71 13.96c.19-.63.29-1.29.29-1.96 0-3.87-3.13-7-7-7-.67 0-1.33.1-1.96.29",key:"3qdecy"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),ly=fs("Locate",[["line",{x1:"2",x2:"5",y1:"12",y2:"12",key:"bvdh0s"}],["line",{x1:"19",x2:"22",y1:"12",y2:"12",key:"1tbv5k"}],["line",{x1:"12",x2:"12",y1:"2",y2:"5",key:"11lu5j"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}],["circle",{cx:"12",cy:"12",r:"7",key:"fim9np"}]]),dy=fs("LockKeyholeOpen",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{width:"18",height:"12",x:"3",y:"10",rx:"2",key:"l0tzu3"}],["path",{d:"M7 10V7a5 5 0 0 1 9.33-2.5",key:"car5b7"}]]),cy=fs("LockKeyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]),my=fs("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),hy=fs("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),xy=fs("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]),uy=fs("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]),py=fs("Logs",[["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M3 12h1",key:"lp3yf2"}],["path",{d:"M3 18h1",key:"1eiwyy"}],["path",{d:"M3 6h1",key:"rgxa97"}],["path",{d:"M8 12h1",key:"1con00"}],["path",{d:"M8 18h1",key:"13wk12"}],["path",{d:"M8 6h1",key:"tn6mkg"}]]),gy=fs("Lollipop",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}],["path",{d:"M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0",key:"107gwy"}]]),fy=fs("Luggage",[["path",{d:"M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2",key:"1m57jg"}],["path",{d:"M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14",key:"1l99gc"}],["path",{d:"M10 20h4",key:"ni2waw"}],["circle",{cx:"16",cy:"20",r:"2",key:"1vifvg"}],["circle",{cx:"8",cy:"20",r:"2",key:"ckkr5m"}]]),yy=fs("Magnet",[["path",{d:"m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15",key:"1i3lhw"}],["path",{d:"m5 8 4 4",key:"j6kj7e"}],["path",{d:"m12 15 4 4",key:"lnac28"}]]),by=fs("MailCheck",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]),vy=fs("MailMinus",[["path",{d:"M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"fuxbkv"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M16 19h6",key:"xwg31i"}]]),jy=fs("MailOpen",[["path",{d:"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z",key:"1jhwl8"}],["path",{d:"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10",key:"1qfld7"}]]),Ny=fs("MailPlus",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M16 19h6",key:"xwg31i"}]]),wy=fs("MailQuestion",[["path",{d:"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5",key:"e61zoh"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2",key:"7z9rxb"}],["path",{d:"M20 22v.01",key:"12bgn6"}]]),ky=fs("MailSearch",[["path",{d:"M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5",key:"w80f2v"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",key:"8lzu5m"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["path",{d:"m22 22-1.5-1.5",key:"1x83k4"}]]),My=fs("MailWarning",[["path",{d:"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5",key:"e61zoh"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M20 14v4",key:"1hm744"}],["path",{d:"M20 22v.01",key:"12bgn6"}]]),Ay=fs("MailX",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9",key:"1j9vog"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m17 17 4 4",key:"1b3523"}],["path",{d:"m21 17-4 4",key:"uinynz"}]]),Sy=fs("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]),Cy=fs("Mailbox",[["path",{d:"M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z",key:"1lbycx"}],["polyline",{points:"15,9 18,9 18,11",key:"1pm9c0"}],["path",{d:"M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2",key:"15i455"}],["line",{x1:"6",x2:"7",y1:"10",y2:"10",key:"1e2scm"}]]),Iy=fs("Mails",[["rect",{width:"16",height:"13",x:"6",y:"4",rx:"2",key:"1drq3f"}],["path",{d:"m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7",key:"xn252p"}],["path",{d:"M2 8v11c0 1.1.9 2 2 2h14",key:"n13cji"}]]),Py=fs("MapPinCheckInside",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["path",{d:"m9 10 2 2 4-4",key:"1gnqz4"}]]),Ty=fs("MapPinCheck",[["path",{d:"M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728",key:"1dq61d"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"m16 18 2 2 4-4",key:"1mkfmb"}]]),Ry=fs("MapPinHouse",[["path",{d:"M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z",key:"1p1rcz"}],["path",{d:"M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2",key:"mcbcs9"}],["path",{d:"M18 22v-3",key:"1t1ugv"}],["circle",{cx:"10",cy:"10",r:"3",key:"1ns7v1"}]]),Oy=fs("MapPinMinusInside",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["path",{d:"M9 10h6",key:"9gxzsh"}]]),Dy=fs("MapPinMinus",[["path",{d:"M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738",key:"11uxia"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M16 18h6",key:"987eiv"}]]),qy=fs("MapPinOff",[["path",{d:"M12.75 7.09a3 3 0 0 1 2.16 2.16",key:"1d4wjd"}],["path",{d:"M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568",key:"12yil7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533",key:"lhrkcz"}],["path",{d:"M9.13 9.13a3 3 0 0 0 3.74 3.74",key:"13wojd"}]]),Ey=fs("MapPinPlusInside",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["path",{d:"M12 7v6",key:"lw1j43"}],["path",{d:"M9 10h6",key:"9gxzsh"}]]),zy=fs("MapPinPlus",[["path",{d:"M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738",key:"fcdtly"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M16 18h6",key:"987eiv"}],["path",{d:"M19 15v6",key:"10aioa"}]]),_y=fs("MapPinXInside",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["path",{d:"m14.5 7.5-5 5",key:"3lb6iw"}],["path",{d:"m9.5 7.5 5 5",key:"ko136h"}]]),Ly=fs("MapPinX",[["path",{d:"M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077",key:"y0ewhp"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"m21.5 15.5-5 5",key:"11iqnx"}],["path",{d:"m21.5 20.5-5-5",key:"1bylgx"}]]),Fy=fs("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),Wy=fs("MapPinned",[["path",{d:"M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0",key:"11u0oz"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}],["path",{d:"M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712",key:"q8zwxj"}]]),Hy=fs("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]),Vy=fs("Martini",[["path",{d:"M8 22h8",key:"rmew8v"}],["path",{d:"M12 11v11",key:"ur9y6a"}],["path",{d:"m19 3-7 8-7-8Z",key:"1sgpiw"}]]),By=fs("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]),Gy=fs("Maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),Uy=fs("Medal",[["path",{d:"M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15",key:"143lza"}],["path",{d:"M11 12 5.12 2.2",key:"qhuxz6"}],["path",{d:"m13 12 5.88-9.8",key:"hbye0f"}],["path",{d:"M8 7h8",key:"i86dvs"}],["circle",{cx:"12",cy:"17",r:"5",key:"qbz8iq"}],["path",{d:"M12 18v-2h-.5",key:"fawc4q"}]]),$y=fs("MegaphoneOff",[["path",{d:"M9.26 9.26 3 11v3l14.14 3.14",key:"3429n"}],["path",{d:"M21 15.34V6l-7.31 2.03",key:"4o1dh8"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Yy=fs("Megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]),Ky=fs("Meh",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"8",x2:"16",y1:"15",y2:"15",key:"1xb1d9"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]),Qy=fs("MemoryStick",[["path",{d:"M6 19v-3",key:"1nvgqn"}],["path",{d:"M10 19v-3",key:"iu8nkm"}],["path",{d:"M14 19v-3",key:"kcehxu"}],["path",{d:"M18 19v-3",key:"1vh91z"}],["path",{d:"M8 11V9",key:"63erz4"}],["path",{d:"M16 11V9",key:"fru6f3"}],["path",{d:"M12 11V9",key:"ha00sb"}],["path",{d:"M2 15h20",key:"16ne18"}],["path",{d:"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z",key:"lhddv3"}]]),Zy=fs("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),Jy=fs("Merge",[["path",{d:"m8 6 4-4 4 4",key:"ybng9g"}],["path",{d:"M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22",key:"1hyw0i"}],["path",{d:"m20 22-5-5",key:"1m27yz"}]]),Xy=fs("MessageCircleCode",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22z",key:"k85zhp"}]]),eb=fs("MessageCircleDashed",[["path",{d:"M13.5 3.1c-.5 0-1-.1-1.5-.1s-1 .1-1.5.1",key:"16ll65"}],["path",{d:"M19.3 6.8a10.45 10.45 0 0 0-2.1-2.1",key:"1nq77a"}],["path",{d:"M20.9 13.5c.1-.5.1-1 .1-1.5s-.1-1-.1-1.5",key:"1sf7wn"}],["path",{d:"M17.2 19.3a10.45 10.45 0 0 0 2.1-2.1",key:"x1hs5g"}],["path",{d:"M10.5 20.9c.5.1 1 .1 1.5.1s1-.1 1.5-.1",key:"19m18z"}],["path",{d:"M3.5 17.5 2 22l4.5-1.5",key:"1f36qi"}],["path",{d:"M3.1 10.5c0 .5-.1 1-.1 1.5s.1 1 .1 1.5",key:"1vz3ju"}],["path",{d:"M6.8 4.7a10.45 10.45 0 0 0-2.1 2.1",key:"19f9do"}]]),tb=fs("MessageCircleHeart",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}],["path",{d:"M15.8 9.2a2.5 2.5 0 0 0-3.5 0l-.3.4-.35-.3a2.42 2.42 0 1 0-3.2 3.6l3.6 3.5 3.6-3.5c1.2-1.2 1.1-2.7.2-3.7",key:"43lnbm"}]]),sb=fs("MessageCircleMore",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}],["path",{d:"M8 12h.01",key:"czm47f"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 12h.01",key:"1l6xoz"}]]),ab=fs("MessageCircleOff",[["path",{d:"M20.5 14.9A9 9 0 0 0 9.1 3.5",key:"1iebmn"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.6 5.6C3 8.3 2.2 12.5 4 16l-2 6 6-2c3.4 1.8 7.6 1.1 10.3-1.7",key:"1ov8ce"}]]),rb=fs("MessageCirclePlus",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),ib=fs("MessageCircleQuestion",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),nb=fs("MessageCircleReply",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}],["path",{d:"M7 12h7a2 2 0 0 1 2 2v1",key:"1gheu4"}]]),ob=fs("MessageCircleWarning",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]),lb=fs("MessageCircleX",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),db=fs("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]),cb=fs("MessageSquareCode",[["path",{d:"M10 7.5 8 10l2 2.5",key:"xb17xw"}],["path",{d:"m14 7.5 2 2.5-2 2.5",key:"5rap1v"}],["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]),mb=fs("MessageSquareDashed",[["path",{d:"M10 17H7l-4 4v-7",key:"1r71xu"}],["path",{d:"M14 17h1",key:"nufu4t"}],["path",{d:"M14 3h1",key:"1ec4yj"}],["path",{d:"M19 3a2 2 0 0 1 2 2",key:"18rm91"}],["path",{d:"M21 14v1a2 2 0 0 1-2 2",key:"29akq3"}],["path",{d:"M21 9v1",key:"mxsmne"}],["path",{d:"M3 9v1",key:"1r0deq"}],["path",{d:"M5 3a2 2 0 0 0-2 2",key:"y57alp"}],["path",{d:"M9 3h1",key:"1yesri"}]]),hb=fs("MessageSquareDiff",[["path",{d:"m5 19-2 2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2",key:"1xuzuj"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 7v6",key:"lw1j43"}],["path",{d:"M9 17h6",key:"r8uit2"}]]),xb=fs("MessageSquareDot",[["path",{d:"M11.7 3H5a2 2 0 0 0-2 2v16l4-4h12a2 2 0 0 0 2-2v-2.7",key:"uodpkb"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}]]),ub=fs("MessageSquareHeart",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M14.8 7.5a1.84 1.84 0 0 0-2.6 0l-.2.3-.3-.3a1.84 1.84 0 1 0-2.4 2.8L12 13l2.7-2.7c.9-.9.8-2.1.1-2.8",key:"1blaws"}]]),pb=fs("MessageSquareLock",[["path",{d:"M19 15v-2a2 2 0 1 0-4 0v2",key:"h3d1vz"}],["path",{d:"M9 17H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5",key:"xsnnhn"}],["rect",{x:"13",y:"15",width:"8",height:"5",rx:"1",key:"1ccwuk"}]]),gb=fs("MessageSquareMore",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M16 10h.01",key:"1m94wz"}]]),fb=fs("MessageSquareOff",[["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M3.6 3.6c-.4.3-.6.8-.6 1.4v16l4-4h10",key:"pwpm4a"}]]),yb=fs("MessageSquarePlus",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M12 7v6",key:"lw1j43"}],["path",{d:"M9 10h6",key:"9gxzsh"}]]),bb=fs("MessageSquareQuote",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M8 12a2 2 0 0 0 2-2V8H8",key:"1jfesj"}],["path",{d:"M14 12a2 2 0 0 0 2-2V8h-2",key:"1dq9mh"}]]),vb=fs("MessageSquareReply",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"m10 7-3 3 3 3",key:"1eugdv"}],["path",{d:"M17 13v-1a2 2 0 0 0-2-2H7",key:"ernfh3"}]]),jb=fs("MessageSquareShare",[["path",{d:"M21 12v3a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h7",key:"tqtdkg"}],["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"m16 8 5-5",key:"15mbrl"}]]),Nb=fs("MessageSquareText",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M13 8H7",key:"14i4kc"}],["path",{d:"M17 12H7",key:"16if0g"}]]),wb=fs("MessageSquareWarning",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M12 7v2",key:"stiyo7"}],["path",{d:"M12 13h.01",key:"y0uutt"}]]),kb=fs("MessageSquareX",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"m14.5 7.5-5 5",key:"3lb6iw"}],["path",{d:"m9.5 7.5 5 5",key:"ko136h"}]]),Mb=fs("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]),Ab=fs("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]),Sb=fs("MicOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2",key:"80xlxr"}],["path",{d:"M5 10v2a7 7 0 0 0 12 5",key:"p2k8kg"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]),Cb=fs("MicVocal",[["path",{d:"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12",key:"80a601"}],["path",{d:"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5",key:"j0ngtp"}],["circle",{cx:"16",cy:"7",r:"5",key:"d08jfb"}]]),Ib=fs("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]),Pb=fs("Microchip",[["path",{d:"M18 12h2",key:"quuxs7"}],["path",{d:"M18 16h2",key:"zsn3lv"}],["path",{d:"M18 20h2",key:"9x5y9y"}],["path",{d:"M18 4h2",key:"1luxfb"}],["path",{d:"M18 8h2",key:"nxqzg"}],["path",{d:"M4 12h2",key:"1ltxp0"}],["path",{d:"M4 16h2",key:"8a5zha"}],["path",{d:"M4 20h2",key:"27dk57"}],["path",{d:"M4 4h2",key:"10groj"}],["path",{d:"M4 8h2",key:"18vq6w"}],["path",{d:"M8 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-1.5c-.276 0-.494.227-.562.495a2 2 0 0 1-3.876 0C9.994 2.227 9.776 2 9.5 2z",key:"1681fp"}]]),Tb=fs("Microscope",[["path",{d:"M6 18h8",key:"1borvv"}],["path",{d:"M3 22h18",key:"8prr45"}],["path",{d:"M14 22a7 7 0 1 0 0-14h-1",key:"1jwaiy"}],["path",{d:"M9 14h2",key:"197e7h"}],["path",{d:"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z",key:"1bmzmy"}],["path",{d:"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3",key:"1drr47"}]]),Rb=fs("Microwave",[["rect",{width:"20",height:"15",x:"2",y:"4",rx:"2",key:"2no95f"}],["rect",{width:"8",height:"7",x:"6",y:"8",rx:"1",key:"zh9wx"}],["path",{d:"M18 8v7",key:"o5zi4n"}],["path",{d:"M6 19v2",key:"1loha6"}],["path",{d:"M18 19v2",key:"1dawf0"}]]),Ob=fs("Milestone",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z",key:"1btarq"}]]),Db=fs("MilkOff",[["path",{d:"M8 2h8",key:"1ssgc1"}],["path",{d:"M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3",key:"y0ejgx"}],["path",{d:"M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435",key:"iaxqsy"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),qb=fs("Milk",[["path",{d:"M8 2h8",key:"1ssgc1"}],["path",{d:"M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2",key:"qtp12x"}],["path",{d:"M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0",key:"ygeh44"}]]),Eb=fs("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]),zb=fs("Minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),_b=fs("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),Lb=fs("MonitorCheck",[["path",{d:"m9 10 2 2 4-4",key:"1gnqz4"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]),Fb=fs("MonitorCog",[["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"m15.2 4.9-.9-.4",key:"12wd2u"}],["path",{d:"m15.2 7.1-.9.4",key:"1r2vl7"}],["path",{d:"m16.9 3.2-.4-.9",key:"3zbo91"}],["path",{d:"m16.9 8.8-.4.9",key:"1qr2dn"}],["path",{d:"m19.5 2.3-.4.9",key:"1rjrkq"}],["path",{d:"m19.5 9.7-.4-.9",key:"heryx5"}],["path",{d:"m21.7 4.5-.9.4",key:"17fqt1"}],["path",{d:"m21.7 7.5-.9-.4",key:"14zyni"}],["path",{d:"M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7",key:"1tnzv8"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}]]),Wb=fs("MonitorDot",[["circle",{cx:"19",cy:"6",r:"3",key:"108a5v"}],["path",{d:"M22 12v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9",key:"1fet9y"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]),Hb=fs("MonitorDown",[["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"m15 10-3 3-3-3",key:"lzhmyn"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]),Vb=fs("MonitorOff",[["path",{d:"M17 17H4a2 2 0 0 1-2-2V5c0-1.5 1-2 1-2",key:"k0q8oc"}],["path",{d:"M22 15V5a2 2 0 0 0-2-2H9",key:"cp1ac0"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Bb=fs("MonitorPause",[["path",{d:"M10 13V7",key:"1u13u9"}],["path",{d:"M14 13V7",key:"1vj9om"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]),Gb=fs("MonitorPlay",[["path",{d:"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z",key:"1pctta"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",key:"x3v2xh"}]]),Ub=fs("MonitorSmartphone",[["path",{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8",key:"10dyio"}],["path",{d:"M10 19v-3.96 3.15",key:"1irgej"}],["path",{d:"M7 19h5",key:"qswx4l"}],["rect",{width:"6",height:"10",x:"16",y:"12",rx:"2",key:"1egngj"}]]),$b=fs("MonitorSpeaker",[["path",{d:"M5.5 20H8",key:"1k40s5"}],["path",{d:"M17 9h.01",key:"1j24nn"}],["rect",{width:"10",height:"16",x:"12",y:"4",rx:"2",key:"ixliua"}],["path",{d:"M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4",key:"1mp6e1"}],["circle",{cx:"17",cy:"15",r:"1",key:"tqvash"}]]),Yb=fs("MonitorStop",[["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",key:"x3v2xh"}],["rect",{x:"9",y:"7",width:"6",height:"6",rx:"1",key:"5m2oou"}]]),Kb=fs("MonitorUp",[["path",{d:"m9 10 3-3 3 3",key:"11gsxs"}],["path",{d:"M12 13V7",key:"h0r20n"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]),Qb=fs("MonitorX",[["path",{d:"m14.5 12.5-5-5",key:"1jahn5"}],["path",{d:"m9.5 12.5 5-5",key:"1k2t7b"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]),Zb=fs("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),Jb=fs("MoonStar",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9",key:"4ay0iu"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}]]),Xb=fs("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),ev=fs("MountainSnow",[["path",{d:"m8 3 4 8 5-5 5 15H2L8 3z",key:"otkl63"}],["path",{d:"M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19",key:"1pvmmp"}]]),tv=fs("Mountain",[["path",{d:"m8 3 4 8 5-5 5 15H2L8 3z",key:"otkl63"}]]),sv=fs("MouseOff",[["path",{d:"M12 6v.343",key:"1gyhex"}],["path",{d:"M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218",key:"ukzz01"}],["path",{d:"M19 13.343V9A7 7 0 0 0 8.56 2.902",key:"104jy9"}],["path",{d:"M22 22 2 2",key:"1r8tn9"}]]),av=fs("MousePointer2",[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]]),rv=fs("MousePointerBan",[["path",{d:"M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z",key:"11pp1i"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}],["path",{d:"m11.8 11.8 8.4 8.4",key:"oogvdj"}]]),iv=fs("MousePointerClick",[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]]),nv=fs("MousePointer",[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z",key:"277e5u"}]]),ov=fs("Mouse",[["rect",{x:"5",y:"2",width:"14",height:"20",rx:"7",key:"11ol66"}],["path",{d:"M12 6v4",key:"16clxf"}]]),lv=fs("Move3d",[["path",{d:"M5 3v16h16",key:"1mqmf9"}],["path",{d:"m5 19 6-6",key:"jh6hbb"}],["path",{d:"m2 6 3-3 3 3",key:"tkyvxa"}],["path",{d:"m18 16 3 3-3 3",key:"1d4glt"}]]),dv=fs("MoveDiagonal2",[["path",{d:"M19 13v6h-6",key:"1hxl6d"}],["path",{d:"M5 11V5h6",key:"12e2xe"}],["path",{d:"m5 5 14 14",key:"11anup"}]]),cv=fs("MoveDiagonal",[["path",{d:"M11 19H5v-6",key:"8awifj"}],["path",{d:"M13 5h6v6",key:"7voy1q"}],["path",{d:"M19 5 5 19",key:"wwaj1z"}]]),mv=fs("MoveDownLeft",[["path",{d:"M11 19H5V13",key:"1akmht"}],["path",{d:"M19 5L5 19",key:"72u4yj"}]]),hv=fs("MoveDownRight",[["path",{d:"M19 13V19H13",key:"10vkzq"}],["path",{d:"M5 5L19 19",key:"5zm2fv"}]]),xv=fs("MoveDown",[["path",{d:"M8 18L12 22L16 18",key:"cskvfv"}],["path",{d:"M12 2V22",key:"r89rzk"}]]),uv=fs("MoveHorizontal",[["path",{d:"m18 8 4 4-4 4",key:"1ak13k"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}]]),pv=fs("MoveLeft",[["path",{d:"M6 8L2 12L6 16",key:"kyvwex"}],["path",{d:"M2 12H22",key:"1m8cig"}]]),gv=fs("MoveRight",[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]]),fv=fs("MoveUpLeft",[["path",{d:"M5 11V5H11",key:"3q78g9"}],["path",{d:"M5 5L19 19",key:"5zm2fv"}]]),yv=fs("MoveUpRight",[["path",{d:"M13 5H19V11",key:"1n1gyv"}],["path",{d:"M19 5L5 19",key:"72u4yj"}]]),bv=fs("MoveUp",[["path",{d:"M8 6L12 2L16 6",key:"1yvkyx"}],["path",{d:"M12 2V22",key:"r89rzk"}]]),vv=fs("MoveVertical",[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"m8 18 4 4 4-4",key:"bh5tu3"}],["path",{d:"m8 6 4-4 4 4",key:"ybng9g"}]]),jv=fs("Move",[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"m15 19-3 3-3-3",key:"11eu04"}],["path",{d:"m19 9 3 3-3 3",key:"1mg7y2"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"m5 9-3 3 3 3",key:"j64kie"}],["path",{d:"m9 5 3-3 3 3",key:"l8vdw6"}]]),Nv=fs("Music2",[["circle",{cx:"8",cy:"18",r:"4",key:"1fc0mg"}],["path",{d:"M12 18V2l7 4",key:"g04rme"}]]),wv=fs("Music3",[["circle",{cx:"12",cy:"18",r:"4",key:"m3r9ws"}],["path",{d:"M16 18V2",key:"40x2m5"}]]),kv=fs("Music4",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["path",{d:"m9 9 12-2",key:"1e64n2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]),Mv=fs("Music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]),Av=fs("Navigation2Off",[["path",{d:"M9.31 9.31 5 21l7-4 7 4-1.17-3.17",key:"qoq2o2"}],["path",{d:"M14.53 8.88 12 2l-1.17 3.17",key:"k3sjzy"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Sv=fs("Navigation2",[["polygon",{points:"12 2 19 21 12 17 5 21 12 2",key:"x8c0qg"}]]),Cv=fs("NavigationOff",[["path",{d:"M8.43 8.43 3 11l8 2 2 8 2.57-5.43",key:"1vdtb7"}],["path",{d:"M17.39 11.73 22 2l-9.73 4.61",key:"tya3r6"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Iv=fs("Navigation",[["polygon",{points:"3 11 22 2 13 21 11 13 3 11",key:"1ltx0t"}]]),Pv=fs("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]),Tv=fs("Newspaper",[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]]),Rv=fs("Nfc",[["path",{d:"M6 8.32a7.43 7.43 0 0 1 0 7.36",key:"9iaqei"}],["path",{d:"M9.46 6.21a11.76 11.76 0 0 1 0 11.58",key:"1yha7l"}],["path",{d:"M12.91 4.1a15.91 15.91 0 0 1 .01 15.8",key:"4iu2gk"}],["path",{d:"M16.37 2a20.16 20.16 0 0 1 0 20",key:"sap9u2"}]]),Ov=fs("NotebookPen",[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]),Dv=fs("NotebookTabs",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M15 2v20",key:"dcj49h"}],["path",{d:"M15 7h5",key:"1xj5lc"}],["path",{d:"M15 12h5",key:"w5shd9"}],["path",{d:"M15 17h5",key:"1qaofu"}]]),qv=fs("NotebookText",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]]),Ev=fs("Notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),zv=fs("NotepadTextDashed",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v2",key:"j91f56"}],["path",{d:"M20 12v2",key:"w8o0tu"}],["path",{d:"M20 18v2a2 2 0 0 1-2 2h-1",key:"1c9ggx"}],["path",{d:"M13 22h-2",key:"191ugt"}],["path",{d:"M7 22H6a2 2 0 0 1-2-2v-2",key:"1rt9px"}],["path",{d:"M4 14v-2",key:"1v0sqh"}],["path",{d:"M4 8V6a2 2 0 0 1 2-2h2",key:"1mwabg"}],["path",{d:"M8 10h6",key:"3oa6kw"}],["path",{d:"M8 14h8",key:"1fgep2"}],["path",{d:"M8 18h5",key:"17enja"}]]),_v=fs("NotepadText",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"16",height:"18",x:"4",y:"4",rx:"2",key:"1u9h20"}],["path",{d:"M8 10h6",key:"3oa6kw"}],["path",{d:"M8 14h8",key:"1fgep2"}],["path",{d:"M8 18h5",key:"17enja"}]]),Lv=fs("NutOff",[["path",{d:"M12 4V2",key:"1k5q1u"}],["path",{d:"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939",key:"1xcvy9"}],["path",{d:"M19 10v3.343",key:"163tfc"}],["path",{d:"M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192",key:"17914v"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),Fv=fs("Nut",[["path",{d:"M12 4V2",key:"1k5q1u"}],["path",{d:"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4",key:"1tgyif"}],["path",{d:"M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z",key:"tnsqj"}]]),Wv=fs("OctagonAlert",[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]]),Hv=fs("OctagonMinus",[["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Vv=fs("OctagonPause",[["path",{d:"M10 15V9",key:"1lckn7"}],["path",{d:"M14 15V9",key:"1muqhk"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}]]),Bv=fs("OctagonX",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),Gv=fs("Octagon",[["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}]]),Uv=fs("Omega",[["path",{d:"M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21",key:"1x94xo"}]]),$v=fs("Option",[["path",{d:"M3 3h6l6 18h6",key:"ph9rgk"}],["path",{d:"M14 3h7",key:"16f0ms"}]]),Yv=fs("Orbit",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}],["path",{d:"M10.4 21.9a10 10 0 0 0 9.941-15.416",key:"eohfx2"}],["path",{d:"M13.5 2.1a10 10 0 0 0-9.841 15.416",key:"19pvbm"}]]),Kv=fs("Origami",[["path",{d:"M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025",key:"1bx4vc"}],["path",{d:"m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009",key:"1h3km6"}],["path",{d:"m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027",key:"1hj4wg"}]]),Qv=fs("Package2",[["path",{d:"M3 9h18v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9Z",key:"1ront0"}],["path",{d:"m3 9 2.45-4.9A2 2 0 0 1 7.24 3h9.52a2 2 0 0 1 1.8 1.1L21 9",key:"19h2x1"}],["path",{d:"M12 3v6",key:"1holv5"}]]),Zv=fs("PackageCheck",[["path",{d:"m16 16 2 2 4-4",key:"gfu2re"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]]),Jv=fs("PackageMinus",[["path",{d:"M16 16h6",key:"100bgy"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]]),Xv=fs("PackageOpen",[["path",{d:"M12 22v-9",key:"x3hkom"}],["path",{d:"M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z",key:"2ntwy6"}],["path",{d:"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13",key:"1pmm1c"}],["path",{d:"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z",key:"12ttoo"}]]),ej=fs("PackagePlus",[["path",{d:"M16 16h6",key:"100bgy"}],["path",{d:"M19 13v6",key:"85cyf1"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]]),tj=fs("PackageSearch",[["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}],["circle",{cx:"18.5",cy:"15.5",r:"2.5",key:"b5zd12"}],["path",{d:"M20.27 17.27 22 19",key:"1l4muz"}]]),sj=fs("PackageX",[["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}],["path",{d:"m17 13 5 5m-5 0 5-5",key:"im3w4b"}]]),aj=fs("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]),rj=fs("PaintBucket",[["path",{d:"m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z",key:"irua1i"}],["path",{d:"m5 2 5 5",key:"1lls2c"}],["path",{d:"M2 13h15",key:"1hkzvu"}],["path",{d:"M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z",key:"xk76lq"}]]),ij=fs("PaintRoller",[["rect",{width:"16",height:"6",x:"2",y:"2",rx:"2",key:"jcyz7m"}],["path",{d:"M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2",key:"1b9h7c"}],["rect",{width:"4",height:"6",x:"8",y:"16",rx:"1",key:"d6e7yl"}]]),nj=fs("PaintbrushVertical",[["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M14 2v4",key:"qmzblu"}],["path",{d:"M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z",key:"ycvu00"}],["path",{d:"M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1",key:"iw4wnp"}]]),oj=fs("Paintbrush",[["path",{d:"m14.622 17.897-10.68-2.913",key:"vj2p1u"}],["path",{d:"M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z",key:"18tc5c"}],["path",{d:"M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15",key:"ytzfxy"}]]),lj=fs("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]),dj=fs("PanelBottomClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"m15 8-3 3-3-3",key:"1oxy1z"}]]),cj=fs("PanelBottomDashed",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M14 15h1",key:"171nev"}],["path",{d:"M19 15h2",key:"1vnucp"}],["path",{d:"M3 15h2",key:"8bym0q"}],["path",{d:"M9 15h1",key:"1tg3ks"}]]),mj=fs("PanelBottomOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"m9 10 3-3 3 3",key:"11gsxs"}]]),hj=fs("PanelBottom",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}]]),xj=fs("PanelLeftClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),uj=fs("PanelLeftDashed",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 14v1",key:"askpd8"}],["path",{d:"M9 19v2",key:"16tejx"}],["path",{d:"M9 3v2",key:"1noubl"}],["path",{d:"M9 9v1",key:"19ebxg"}]]),pj=fs("PanelLeftOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),gj=fs("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),fj=fs("PanelRightClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]),yj=fs("PanelRightDashed",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 14v1",key:"ilsfch"}],["path",{d:"M15 19v2",key:"1fst2f"}],["path",{d:"M15 3v2",key:"z204g4"}],["path",{d:"M15 9v1",key:"z2a8b1"}]]),bj=fs("PanelRightOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]]),vj=fs("PanelRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),jj=fs("PanelTopClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"m9 16 3-3 3 3",key:"1idcnm"}]]),Nj=fs("PanelTopDashed",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M14 9h1",key:"l0svgy"}],["path",{d:"M19 9h2",key:"te2zfg"}],["path",{d:"M3 9h2",key:"1h4ldw"}],["path",{d:"M9 9h1",key:"15jzuz"}]]),wj=fs("PanelTopOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"m15 14-3 3-3-3",key:"g215vf"}]]),kj=fs("PanelTop",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}]]),Mj=fs("PanelsLeftBottom",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M9 15h12",key:"5ijen5"}]]),Aj=fs("PanelsRightBottom",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h12",key:"1wkqb3"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),Sj=fs("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),Cj=fs("Paperclip",[["path",{d:"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48",key:"1u3ebp"}]]),Ij=fs("Parentheses",[["path",{d:"M8 21s-4-3-4-9 4-9 4-9",key:"uto9ud"}],["path",{d:"M16 3s4 3 4 9-4 9-4 9",key:"4w2vsq"}]]),Pj=fs("ParkingMeter",[["path",{d:"M11 15h2",key:"199qp6"}],["path",{d:"M12 12v3",key:"158kv8"}],["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z",key:"1jofit"}],["path",{d:"M9 9a3 3 0 1 1 6 0",key:"jdoeu8"}]]),Tj=fs("PartyPopper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]]),Rj=fs("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]),Oj=fs("PawPrint",[["circle",{cx:"11",cy:"4",r:"2",key:"vol9p0"}],["circle",{cx:"18",cy:"8",r:"2",key:"17gozi"}],["circle",{cx:"20",cy:"16",r:"2",key:"1v9bxh"}],["path",{d:"M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z",key:"1ydw1z"}]]),Dj=fs("PcCase",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",key:"1uq1d7"}],["path",{d:"M15 14h.01",key:"1kp3bh"}],["path",{d:"M9 6h6",key:"dgm16u"}],["path",{d:"M9 10h6",key:"9gxzsh"}]]),qj=fs("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]),Ej=fs("PenOff",[["path",{d:"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982",key:"bjo8r8"}],["path",{d:"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353",key:"16h5ne"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),zj=fs("PenTool",[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]]),_j=fs("Pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),Lj=fs("PencilLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}],["path",{d:"m15 5 3 3",key:"1w25hb"}]]),Fj=fs("PencilOff",[["path",{d:"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982",key:"bjo8r8"}],["path",{d:"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353",key:"16h5ne"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Wj=fs("PencilRuler",[["path",{d:"M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13",key:"orapub"}],["path",{d:"m8 6 2-2",key:"115y1s"}],["path",{d:"m18 16 2-2",key:"ee94s4"}],["path",{d:"m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17",key:"cfq27r"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),Hj=fs("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),Vj=fs("Pentagon",[["path",{d:"M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z",key:"2hea0t"}]]),Bj=fs("Percent",[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]]),Gj=fs("PersonStanding",[["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["path",{d:"m9 20 3-6 3 6",key:"se2kox"}],["path",{d:"m6 8 6 2 6-2",key:"4o3us4"}],["path",{d:"M12 10v4",key:"1kjpxc"}]]),Uj=fs("PhilippinePeso",[["path",{d:"M20 11H4",key:"6ut86h"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7",key:"1ana5r"}]]),$j=fs("PhoneCall",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}],["path",{d:"M14.05 2a9 9 0 0 1 8 7.94",key:"vmijpz"}],["path",{d:"M14.05 6A5 5 0 0 1 18 10",key:"13nbpp"}]]),Yj=fs("PhoneForwarded",[["polyline",{points:"18 2 22 6 18 10",key:"6vjanh"}],["line",{x1:"14",x2:"22",y1:"6",y2:"6",key:"1jsywh"}],["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]),Kj=fs("PhoneIncoming",[["polyline",{points:"16 2 16 8 22 8",key:"1ygljm"}],["line",{x1:"22",x2:"16",y1:"2",y2:"8",key:"1xzwqn"}],["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]),Qj=fs("PhoneMissed",[["line",{x1:"22",x2:"16",y1:"2",y2:"8",key:"1xzwqn"}],["line",{x1:"16",x2:"22",y1:"2",y2:"8",key:"13zxdn"}],["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]),Zj=fs("PhoneOff",[["path",{d:"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91",key:"z86iuo"}],["line",{x1:"22",x2:"2",y1:"2",y2:"22",key:"11kh81"}]]),Jj=fs("PhoneOutgoing",[["polyline",{points:"22 8 22 2 16 2",key:"1g204g"}],["line",{x1:"16",x2:"22",y1:"8",y2:"2",key:"1ggias"}],["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]),Xj=fs("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]),eN=fs("Pi",[["line",{x1:"9",x2:"9",y1:"4",y2:"20",key:"ovs5a5"}],["path",{d:"M4 7c0-1.7 1.3-3 3-3h13",key:"10pag4"}],["path",{d:"M18 20c-1.7 0-3-1.3-3-3V4",key:"1gaosr"}]]),tN=fs("Piano",[["path",{d:"M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8",key:"lag0yf"}],["path",{d:"M2 14h20",key:"myj16y"}],["path",{d:"M6 14v4",key:"9ng0ue"}],["path",{d:"M10 14v4",key:"1v8uk5"}],["path",{d:"M14 14v4",key:"1tqops"}],["path",{d:"M18 14v4",key:"18uqwm"}]]),sN=fs("Pickaxe",[["path",{d:"M14.531 12.469 6.619 20.38a1 1 0 1 1-3-3l7.912-7.912",key:"we99rg"}],["path",{d:"M15.686 4.314A12.5 12.5 0 0 0 5.461 2.958 1 1 0 0 0 5.58 4.71a22 22 0 0 1 6.318 3.393",key:"1w6hck"}],["path",{d:"M17.7 3.7a1 1 0 0 0-1.4 0l-4.6 4.6a1 1 0 0 0 0 1.4l2.6 2.6a1 1 0 0 0 1.4 0l4.6-4.6a1 1 0 0 0 0-1.4z",key:"15hgfx"}],["path",{d:"M19.686 8.314a12.501 12.501 0 0 1 1.356 10.225 1 1 0 0 1-1.751-.119 22 22 0 0 0-3.393-6.319",key:"452b4h"}]]),aN=fs("PictureInPicture2",[["path",{d:"M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4",key:"daa4of"}],["rect",{width:"10",height:"7",x:"12",y:"13",rx:"2",key:"1nb8gs"}]]),rN=fs("PictureInPicture",[["path",{d:"M8 4.5v5H3m-1-6 6 6m13 0v-3c0-1.16-.84-2-2-2h-7m-9 9v2c0 1.05.95 2 2 2h3",key:"bcd8fb"}],["rect",{width:"10",height:"7",x:"12",y:"13.5",ry:"2",key:"136fx3"}]]),iN=fs("PiggyBank",[["path",{d:"M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2V5z",key:"1ivx2i"}],["path",{d:"M2 9v1c0 1.1.9 2 2 2h1",key:"nm575m"}],["path",{d:"M16 11h.01",key:"xkw8gn"}]]),nN=fs("PilcrowLeft",[["path",{d:"M14 3v11",key:"mlfb7b"}],["path",{d:"M14 9h-3a3 3 0 0 1 0-6h9",key:"1ulc19"}],["path",{d:"M18 3v11",key:"1phi0r"}],["path",{d:"M22 18H2l4-4",key:"yt65j9"}],["path",{d:"m6 22-4-4",key:"6jgyf5"}]]),oN=fs("PilcrowRight",[["path",{d:"M10 3v11",key:"o3l5kj"}],["path",{d:"M10 9H7a1 1 0 0 1 0-6h8",key:"1wb1nc"}],["path",{d:"M14 3v11",key:"mlfb7b"}],["path",{d:"m18 14 4 4H2",key:"4r8io1"}],["path",{d:"m22 18-4 4",key:"1hjjrd"}]]),lN=fs("Pilcrow",[["path",{d:"M13 4v16",key:"8vvj80"}],["path",{d:"M17 4v16",key:"7dpous"}],["path",{d:"M19 4H9.5a4.5 4.5 0 0 0 0 9H13",key:"sh4n9v"}]]),dN=fs("PillBottle",[["path",{d:"M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4",key:"17ldeb"}],["path",{d:"M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7",key:"nc37y6"}],["rect",{width:"16",height:"5",x:"4",y:"2",rx:"1",key:"3jeezo"}]]),cN=fs("Pill",[["path",{d:"m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z",key:"wa1lgi"}],["path",{d:"m8.5 8.5 7 7",key:"rvfmvr"}]]),mN=fs("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]),hN=fs("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),xN=fs("Pipette",[["path",{d:"m2 22 1-1h3l9-9",key:"1sre89"}],["path",{d:"M3 21v-3l9-9",key:"hpe2y6"}],["path",{d:"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z",key:"196du1"}]]),uN=fs("Pizza",[["path",{d:"m12 14-1 1",key:"11onhr"}],["path",{d:"m13.75 18.25-1.25 1.42",key:"1yisr3"}],["path",{d:"M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12",key:"1qtqk6"}],["path",{d:"M18.8 9.3a1 1 0 0 0 2.1 7.7",key:"fbbbr2"}],["path",{d:"M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z",key:"1hyfdd"}]]),pN=fs("PlaneLanding",[["path",{d:"M2 22h20",key:"272qi7"}],["path",{d:"M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z",key:"1ma21e"}]]),gN=fs("PlaneTakeoff",[["path",{d:"M2 22h20",key:"272qi7"}],["path",{d:"M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z",key:"fkigj9"}]]),fN=fs("Plane",[["path",{d:"M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z",key:"1v9wt8"}]]),yN=fs("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]),bN=fs("Plug2",[["path",{d:"M9 2v6",key:"17ngun"}],["path",{d:"M15 2v6",key:"s7yy2p"}],["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M5 8h14",key:"pcz4l3"}],["path",{d:"M6 11V8h12v3a6 6 0 1 1-12 0Z",key:"wtfw2c"}]]),vN=fs("PlugZap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]),jN=fs("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]),NN=fs("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),wN=fs("PocketKnife",[["path",{d:"M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2",key:"19w3oe"}],["path",{d:"M18 6h.01",key:"1v4wsw"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z",key:"6fykxj"}],["path",{d:"M18 11.66V22a4 4 0 0 0 4-4V6",key:"1utzek"}]]),kN=fs("Pocket",[["path",{d:"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z",key:"1mz881"}],["polyline",{points:"8 10 12 14 16 10",key:"w4mbv5"}]]),MN=fs("Podcast",[["path",{d:"M16.85 18.58a9 9 0 1 0-9.7 0",key:"d71mpg"}],["path",{d:"M8 14a5 5 0 1 1 8 0",key:"fc81rn"}],["circle",{cx:"12",cy:"11",r:"1",key:"1gvufo"}],["path",{d:"M13 17a1 1 0 1 0-2 0l.5 4.5a.5.5 0 1 0 1 0Z",key:"za5kbj"}]]),AN=fs("PointerOff",[["path",{d:"M10 4.5V4a2 2 0 0 0-2.41-1.957",key:"jsi14n"}],["path",{d:"M13.9 8.4a2 2 0 0 0-1.26-1.295",key:"hirc7f"}],["path",{d:"M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158",key:"1jxb2e"}],["path",{d:"m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343",key:"10r7hm"}],["path",{d:"M6 6v8",key:"tv5xkp"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),SN=fs("Pointer",[["path",{d:"M22 14a8 8 0 0 1-8 8",key:"56vcr3"}],["path",{d:"M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1agjmk"}],["path",{d:"M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1",key:"wdbh2u"}],["path",{d:"M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10",key:"1ibuk9"}],["path",{d:"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"g6ys72"}]]),CN=fs("Popcorn",[["path",{d:"M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4",key:"10td1f"}],["path",{d:"M10 22 9 8",key:"yjptiv"}],["path",{d:"m14 22 1-14",key:"8jwc8b"}],["path",{d:"M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z",key:"1qo33t"}]]),IN=fs("Popsicle",[["path",{d:"M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z",key:"1o68ps"}],["path",{d:"m22 22-5.5-5.5",key:"17o70y"}]]),PN=fs("PoundSterling",[["path",{d:"M18 7c0-5.333-8-5.333-8 0",key:"1prm2n"}],["path",{d:"M10 7v14",key:"18tmcs"}],["path",{d:"M6 21h12",key:"4dkmi1"}],["path",{d:"M6 13h10",key:"ybwr4a"}]]),TN=fs("PowerOff",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),RN=fs("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]),ON=fs("Presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),DN=fs("PrinterCheck",[["path",{d:"M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5",key:"qeb09x"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}],["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2",key:"1md90i"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}]]),qN=fs("Printer",[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]]),EN=fs("Projector",[["path",{d:"M5 7 3 5",key:"1yys58"}],["path",{d:"M9 6V3",key:"1ptz9u"}],["path",{d:"m13 7 2-2",key:"1w3vmq"}],["circle",{cx:"9",cy:"13",r:"3",key:"1mma13"}],["path",{d:"M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17",key:"2frwzc"}],["path",{d:"M16 16h2",key:"dnq2od"}]]),zN=fs("Proportions",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"M12 9v11",key:"1fnkrn"}],["path",{d:"M2 9h13a2 2 0 0 1 2 2v9",key:"11z3ex"}]]),_N=fs("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]),LN=fs("Pyramid",[["path",{d:"M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z",key:"aenxs0"}],["path",{d:"M12 2v20",key:"t6zp3m"}]]),FN=fs("QrCode",[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]]),WN=fs("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]),HN=fs("Rabbit",[["path",{d:"M13 16a3 3 0 0 1 2.24 5",key:"1epib5"}],["path",{d:"M18 12h.01",key:"yjnet6"}],["path",{d:"M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3",key:"ue9ozu"}],["path",{d:"M20 8.54V4a2 2 0 1 0-4 0v3",key:"49iql8"}],["path",{d:"M7.612 12.524a3 3 0 1 0-1.6 4.3",key:"1e33i0"}]]),VN=fs("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]),BN=fs("Radiation",[["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M7.5 4.2c-.3-.5-.9-.7-1.3-.4C3.9 5.5 2.3 8.1 2 11c-.1.5.4 1 1 1h5c0-1.5.8-2.8 2-3.4-1.1-1.9-2-3.5-2.5-4.4z",key:"wy49g3"}],["path",{d:"M21 12c.6 0 1-.4 1-1-.3-2.9-1.8-5.5-4.1-7.1-.4-.3-1.1-.2-1.3.3-.6.9-1.5 2.5-2.6 4.3 1.2.7 2 2 2 3.5h5z",key:"vklnvr"}],["path",{d:"M7.5 19.8c-.3.5-.1 1.1.4 1.3 2.6 1.2 5.6 1.2 8.2 0 .5-.2.7-.8.4-1.3-.5-.9-1.4-2.5-2.5-4.3-1.2.7-2.8.7-4 0-1.1 1.8-2 3.4-2.5 4.3z",key:"wkdf1o"}]]),GN=fs("Radical",[["path",{d:"M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21",key:"1mqj8i"}]]),UN=fs("RadioReceiver",[["path",{d:"M5 16v2",key:"g5qcv5"}],["path",{d:"M19 16v2",key:"1gbaio"}],["rect",{width:"20",height:"8",x:"2",y:"8",rx:"2",key:"vjsjur"}],["path",{d:"M18 12h.01",key:"yjnet6"}]]),$N=fs("RadioTower",[["path",{d:"M4.9 16.1C1 12.2 1 5.8 4.9 1.9",key:"s0qx1y"}],["path",{d:"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5",key:"1idnkw"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}],["path",{d:"M16.2 4.8c2 2 2.26 5.11.8 7.47",key:"ojru2q"}],["path",{d:"M19.1 1.9a9.96 9.96 0 0 1 0 14.1",key:"rhi7fg"}],["path",{d:"M9.5 18h5",key:"mfy3pd"}],["path",{d:"m8 22 4-11 4 11",key:"25yftu"}]]),YN=fs("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]),KN=fs("Radius",[["path",{d:"M20.34 17.52a10 10 0 1 0-2.82 2.82",key:"fydyku"}],["circle",{cx:"19",cy:"19",r:"2",key:"17f5cg"}],["path",{d:"m13.41 13.41 4.18 4.18",key:"1gqbwc"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),QN=fs("RailSymbol",[["path",{d:"M5 15h14",key:"m0yey3"}],["path",{d:"M5 9h14",key:"7tsvo6"}],["path",{d:"m14 20-5-5 6-6-5-5",key:"1jo42i"}]]),ZN=fs("Rainbow",[["path",{d:"M22 17a10 10 0 0 0-20 0",key:"ozegv"}],["path",{d:"M6 17a6 6 0 0 1 12 0",key:"5giftw"}],["path",{d:"M10 17a2 2 0 0 1 4 0",key:"gnsikk"}]]),JN=fs("Rat",[["path",{d:"M17 5c0-1.7-1.3-3-3-3s-3 1.3-3 3c0 .8.3 1.5.8 2H11c-3.9 0-7 3.1-7 7c0 2.2 1.8 4 4 4",key:"1wq71c"}],["path",{d:"M16.8 3.9c.3-.3.6-.5 1-.7 1.5-.6 3.3.1 3.9 1.6.6 1.5-.1 3.3-1.6 3.9l1.6 2.8c.2.3.2.7.2 1-.2.8-.9 1.2-1.7 1.1 0 0-1.6-.3-2.7-.6H17c-1.7 0-3 1.3-3 3",key:"1crdmb"}],["path",{d:"M13.2 18a3 3 0 0 0-2.2-5",key:"1ol3lk"}],["path",{d:"M13 22H4a2 2 0 0 1 0-4h12",key:"bt3f23"}],["path",{d:"M16 9h.01",key:"1bdo4e"}]]),XN=fs("Ratio",[["rect",{width:"12",height:"20",x:"6",y:"2",rx:"2",key:"1oxtiu"}],["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}]]),ew=fs("ReceiptCent",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M12 6.5v11",key:"ecfhkf"}],["path",{d:"M15 9.4a4 4 0 1 0 0 5.2",key:"1makmb"}]]),tw=fs("ReceiptEuro",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M8 12h5",key:"1g6qi8"}],["path",{d:"M16 9.5a4 4 0 1 0 0 5.2",key:"b2px4r"}]]),sw=fs("ReceiptIndianRupee",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M8 7h8",key:"i86dvs"}],["path",{d:"M12 17.5 8 15h1a4 4 0 0 0 0-8",key:"grpkl4"}],["path",{d:"M8 11h8",key:"vwpz6n"}]]),aw=fs("ReceiptJapaneseYen",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"m12 10 3-3",key:"1mc12w"}],["path",{d:"m9 7 3 3v7.5",key:"39i0xv"}],["path",{d:"M9 11h6",key:"1fldmi"}],["path",{d:"M9 15h6",key:"cctwl0"}]]),rw=fs("ReceiptPoundSterling",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M8 13h5",key:"1k9z8w"}],["path",{d:"M10 17V9.5a2.5 2.5 0 0 1 5 0",key:"1dzgp0"}],["path",{d:"M8 17h7",key:"8mjdqu"}]]),iw=fs("ReceiptRussianRuble",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M8 15h5",key:"vxg57a"}],["path",{d:"M8 11h5a2 2 0 1 0 0-4h-3v10",key:"1usi5u"}]]),nw=fs("ReceiptSwissFranc",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M10 17V7h5",key:"k7jq18"}],["path",{d:"M10 11h4",key:"1i0mka"}],["path",{d:"M8 15h5",key:"vxg57a"}]]),ow=fs("ReceiptText",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M14 8H8",key:"1l3xfs"}],["path",{d:"M16 12H8",key:"1fr5h0"}],["path",{d:"M13 16H8",key:"wsln4y"}]]),lw=fs("Receipt",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 17.5v-11",key:"1jc1ny"}]]),dw=fs("RectangleEllipsis",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M17 12h.01",key:"1m0b6t"}],["path",{d:"M7 12h.01",key:"eqddd0"}]]),cw=fs("RectangleHorizontal",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}]]),mw=fs("RectangleVertical",[["rect",{width:"12",height:"20",x:"6",y:"2",rx:"2",key:"1oxtiu"}]]),hw=fs("Recycle",[["path",{d:"M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5",key:"x6z5xu"}],["path",{d:"M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12",key:"1x4zh5"}],["path",{d:"m14 16-3 3 3 3",key:"f6jyew"}],["path",{d:"M8.293 13.596 7.196 9.5 3.1 10.598",key:"wf1obh"}],["path",{d:"m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843",key:"9tzpgr"}],["path",{d:"m13.378 9.633 4.096 1.098 1.097-4.096",key:"1oe83g"}]]),xw=fs("Redo2",[["path",{d:"m15 14 5-5-5-5",key:"12vg1m"}],["path",{d:"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",key:"6uklza"}]]),uw=fs("RedoDot",[["circle",{cx:"12",cy:"17",r:"1",key:"1ixnty"}],["path",{d:"M21 7v6h-6",key:"3ptur4"}],["path",{d:"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7",key:"1kgawr"}]]),pw=fs("Redo",[["path",{d:"M21 7v6h-6",key:"3ptur4"}],["path",{d:"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7",key:"1kgawr"}]]),gw=fs("RefreshCcwDot",[["path",{d:"M3 2v6h6",key:"18ldww"}],["path",{d:"M21 12A9 9 0 0 0 6 5.3L3 8",key:"1pbrqz"}],["path",{d:"M21 22v-6h-6",key:"usdfbe"}],["path",{d:"M3 12a9 9 0 0 0 15 6.7l3-2.7",key:"1hosoe"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),fw=fs("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]),yw=fs("RefreshCwOff",[["path",{d:"M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47",key:"1krf6h"}],["path",{d:"M8 16H3v5",key:"1cv678"}],["path",{d:"M3 12C3 9.51 4 7.26 5.64 5.64",key:"ruvoct"}],["path",{d:"m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64",key:"19q130"}],["path",{d:"M21 12c0 1-.16 1.97-.47 2.87",key:"4w8emr"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M22 22 2 2",key:"1r8tn9"}]]),bw=fs("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),vw=fs("Refrigerator",[["path",{d:"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z",key:"fpq118"}],["path",{d:"M5 10h14",key:"elsbfy"}],["path",{d:"M15 7v6",key:"1nx30x"}]]),jw=fs("Regex",[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]]),Nw=fs("RemoveFormatting",[["path",{d:"M4 7V4h16v3",key:"9msm58"}],["path",{d:"M5 20h6",key:"1h6pxn"}],["path",{d:"M13 4 8 20",key:"kqq6aj"}],["path",{d:"m15 15 5 5",key:"me55sn"}],["path",{d:"m20 15-5 5",key:"11p7ol"}]]),ww=fs("Repeat1",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}],["path",{d:"M11 10h1v4",key:"70cz1p"}]]),kw=fs("Repeat2",[["path",{d:"m2 9 3-3 3 3",key:"1ltn5i"}],["path",{d:"M13 18H7a2 2 0 0 1-2-2V6",key:"1r6tfw"}],["path",{d:"m22 15-3 3-3-3",key:"4rnwn2"}],["path",{d:"M11 6h6a2 2 0 0 1 2 2v10",key:"2f72bc"}]]),Mw=fs("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]),Aw=fs("ReplaceAll",[["path",{d:"M14 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2",key:"1yyzbs"}],["path",{d:"M14 4a2 2 0 0 1 2-2",key:"1w2hp7"}],["path",{d:"M16 10a2 2 0 0 1-2-2",key:"shjach"}],["path",{d:"M20 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2",key:"zfj4xr"}],["path",{d:"M20 2a2 2 0 0 1 2 2",key:"188mtx"}],["path",{d:"M22 8a2 2 0 0 1-2 2",key:"ddf4tu"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a 3 3 0 0 1 3-3h1",key:"1ageje"}],["rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",key:"4rksxw"}]]),Sw=fs("Replace",[["path",{d:"M14 4a2 2 0 0 1 2-2",key:"1w2hp7"}],["path",{d:"M16 10a2 2 0 0 1-2-2",key:"shjach"}],["path",{d:"M20 2a2 2 0 0 1 2 2",key:"188mtx"}],["path",{d:"M22 8a2 2 0 0 1-2 2",key:"ddf4tu"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a3 3 0 0 1 3-3h1",key:"3y3t5z"}],["rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",key:"4rksxw"}]]),Cw=fs("ReplyAll",[["polyline",{points:"7 17 2 12 7 7",key:"t83bqg"}],["polyline",{points:"12 17 7 12 12 7",key:"1g4ajm"}],["path",{d:"M22 18v-2a4 4 0 0 0-4-4H7",key:"1fcyog"}]]),Iw=fs("Reply",[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]]),Pw=fs("Rewind",[["polygon",{points:"11 19 2 12 11 5 11 19",key:"14yba5"}],["polygon",{points:"22 19 13 12 22 5 22 19",key:"1pi1cj"}]]),Tw=fs("Ribbon",[["path",{d:"M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22",key:"1rnhq3"}],["path",{d:"m12 18 2.57-3.5",key:"116vt7"}],["path",{d:"M6.243 9.016a7 7 0 0 1 11.507-.009",key:"10dq0b"}],["path",{d:"M9.35 14.53 12 11.22",key:"tdsyp2"}],["path",{d:"M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z",key:"nmifey"}]]),Rw=fs("Rocket",[["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-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]),Ow=fs("RockingChair",[["polyline",{points:"3.5 2 6.5 12.5 18 12.5",key:"y3iy52"}],["line",{x1:"9.5",x2:"5.5",y1:"12.5",y2:"20",key:"19vg5i"}],["line",{x1:"15",x2:"18.5",y1:"12.5",y2:"20",key:"1inpmv"}],["path",{d:"M2.75 18a13 13 0 0 0 18.5 0",key:"1nquas"}]]),Dw=fs("RollerCoaster",[["path",{d:"M6 19V5",key:"1r845m"}],["path",{d:"M10 19V6.8",key:"9j2tfs"}],["path",{d:"M14 19v-7.8",key:"10s8qv"}],["path",{d:"M18 5v4",key:"1tajlv"}],["path",{d:"M18 19v-6",key:"ielfq3"}],["path",{d:"M22 19V9",key:"158nzp"}],["path",{d:"M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65",key:"1930oh"}]]),qw=fs("Rotate3d",[["path",{d:"M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2",key:"10n0gc"}],["path",{d:"m15.194 13.707 3.814 1.86-1.86 3.814",key:"16shm9"}],["path",{d:"M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4",key:"1lxi77"}]]),Ew=fs("RotateCcwSquare",[["path",{d:"M20 9V7a2 2 0 0 0-2-2h-6",key:"19z8uc"}],["path",{d:"m15 2-3 3 3 3",key:"177bxs"}],["path",{d:"M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2",key:"d36hnl"}]]),zw=fs("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),_w=fs("RotateCwSquare",[["path",{d:"M12 5H6a2 2 0 0 0-2 2v3",key:"l96uqu"}],["path",{d:"m9 8 3-3-3-3",key:"1gzgc3"}],["path",{d:"M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2",key:"1w2k5h"}]]),Lw=fs("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),Fw=fs("RouteOff",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5c.4 0 .9-.1 1.3-.2",key:"1effex"}],["path",{d:"M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12",key:"k9y2ds"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M21 15.3a3.5 3.5 0 0 0-3.3-3.3",key:"11nlu2"}],["path",{d:"M15 5h-4.3",key:"6537je"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]),Ww=fs("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]),Hw=fs("Router",[["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6.01 18H6",key:"19vcac"}],["path",{d:"M10.01 18H10",key:"uamcmx"}],["path",{d:"M15 10v4",key:"qjz1xs"}],["path",{d:"M17.84 7.17a4 4 0 0 0-5.66 0",key:"1rif40"}],["path",{d:"M20.66 4.34a8 8 0 0 0-11.31 0",key:"6a5xfq"}]]),Vw=fs("Rows2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 12h18",key:"1i2n21"}]]),Bw=fs("Rows3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]),Gw=fs("Rows4",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 7.5H3",key:"1hm9pq"}],["path",{d:"M21 12H3",key:"2avoz0"}],["path",{d:"M21 16.5H3",key:"n7jzkj"}]]),Uw=fs("Rss",[["path",{d:"M4 11a9 9 0 0 1 9 9",key:"pv89mb"}],["path",{d:"M4 4a16 16 0 0 1 16 16",key:"k0647b"}],["circle",{cx:"5",cy:"19",r:"1",key:"bfqh0e"}]]),$w=fs("Ruler",[["path",{d:"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z",key:"icamh8"}],["path",{d:"m14.5 12.5 2-2",key:"inckbg"}],["path",{d:"m11.5 9.5 2-2",key:"fmmyf7"}],["path",{d:"m8.5 6.5 2-2",key:"vc6u1g"}],["path",{d:"m17.5 15.5 2-2",key:"wo5hmg"}]]),Yw=fs("RussianRuble",[["path",{d:"M6 11h8a4 4 0 0 0 0-8H9v18",key:"18ai8t"}],["path",{d:"M6 15h8",key:"1y8f6l"}]]),Kw=fs("Sailboat",[["path",{d:"M22 18H2a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4Z",key:"1404fh"}],["path",{d:"M21 14 10 2 3 14h18Z",key:"1nzg7v"}],["path",{d:"M10 2v16",key:"1labyt"}]]),Qw=fs("Salad",[["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z",key:"4rw317"}],["path",{d:"M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1",key:"10xrj0"}],["path",{d:"m13 12 4-4",key:"1hckqy"}],["path",{d:"M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2",key:"1p4srx"}]]),Zw=fs("Sandwich",[["path",{d:"m2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777",key:"f1wd0e"}],["path",{d:"M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25",key:"1pfu07"}],["path",{d:"M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9",key:"1oq9qw"}],["path",{d:"m6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2",key:"1fnwu5"}],["rect",{width:"20",height:"4",x:"2",y:"11",rx:"1",key:"itshg"}]]),Jw=fs("SatelliteDish",[["path",{d:"M4 10a7.31 7.31 0 0 0 10 10Z",key:"1fzpp3"}],["path",{d:"m9 15 3-3",key:"88sc13"}],["path",{d:"M17 13a6 6 0 0 0-6-6",key:"15cc6u"}],["path",{d:"M21 13A10 10 0 0 0 11 3",key:"11nf8s"}]]),Xw=fs("Satellite",[["path",{d:"M13 7 9 3 5 7l4 4",key:"vyckw6"}],["path",{d:"m17 11 4 4-4 4-4-4",key:"rchckc"}],["path",{d:"m8 12 4 4 6-6-4-4Z",key:"1sshf7"}],["path",{d:"m16 8 3-3",key:"x428zp"}],["path",{d:"M9 21a6 6 0 0 0-6-6",key:"1iajcf"}]]),ek=fs("SaveAll",[["path",{d:"M10 2v3a1 1 0 0 0 1 1h5",key:"1xspal"}],["path",{d:"M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6",key:"1ra60u"}],["path",{d:"M18 22H4a2 2 0 0 1-2-2V6",key:"pblm9e"}],["path",{d:"M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z",key:"1yve0x"}]]),tk=fs("SaveOff",[["path",{d:"M13 13H8a1 1 0 0 0-1 1v7",key:"h8g396"}],["path",{d:"M14 8h1",key:"1lfen6"}],["path",{d:"M17 21v-4",key:"1yknxs"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41",key:"1t4vdl"}],["path",{d:"M29.5 11.5s5 5 4 5",key:"zzn4i6"}],["path",{d:"M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15",key:"24cby9"}]]),sk=fs("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),ak=fs("Scale3d",[["path",{d:"M5 7v11a1 1 0 0 0 1 1h11",key:"13dt1j"}],["path",{d:"M5.293 18.707 11 13",key:"ezgbsx"}],["circle",{cx:"19",cy:"19",r:"2",key:"17f5cg"}],["circle",{cx:"5",cy:"5",r:"2",key:"1gwv83"}]]),rk=fs("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]),ik=fs("Scaling",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M14 15H9v-5",key:"pi4jk9"}],["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M21 3 9 15",key:"15kdhq"}]]),nk=fs("ScanBarcode",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M8 7v10",key:"23sfjj"}],["path",{d:"M12 7v10",key:"jspqdw"}],["path",{d:"M17 7v10",key:"578dap"}]]),ok=fs("ScanEye",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),lk=fs("ScanFace",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["path",{d:"M9 9h.01",key:"1q5me6"}],["path",{d:"M15 9h.01",key:"x1ddxp"}]]),dk=fs("ScanLine",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7 12h10",key:"b7w52i"}]]),ck=fs("ScanQrCode",[["path",{d:"M17 12v4a1 1 0 0 1-1 1h-4",key:"uk4fdo"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M17 8V7",key:"q2g9wo"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M7 17h.01",key:"19xn7k"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["rect",{x:"7",y:"7",width:"5",height:"5",rx:"1",key:"m9kyts"}]]),mk=fs("ScanSearch",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m16 16-1.9-1.9",key:"1dq9hf"}]]),hk=fs("ScanText",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7 8h8",key:"1jbsf9"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M7 16h6",key:"1vyc9m"}]]),xk=fs("Scan",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]]),uk=fs("School",[["path",{d:"M14 22v-4a2 2 0 1 0-4 0v4",key:"hhkicm"}],["path",{d:"m18 10 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.382a1 1 0 0 1 .553-.894L6 10",key:"1xqip1"}],["path",{d:"M18 5v17",key:"1sw6gf"}],["path",{d:"m4 6 7.106-3.553a2 2 0 0 1 1.788 0L20 6",key:"9d2mlk"}],["path",{d:"M6 5v17",key:"1xfsm0"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}]]),pk=fs("ScissorsLineDashed",[["path",{d:"M5.42 9.42 8 12",key:"12pkuq"}],["circle",{cx:"4",cy:"8",r:"2",key:"107mxr"}],["path",{d:"m14 6-8.58 8.58",key:"gvzu5l"}],["circle",{cx:"4",cy:"16",r:"2",key:"1ehqvc"}],["path",{d:"M10.8 14.8 14 18",key:"ax7m9r"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}]]),gk=fs("Scissors",[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M8.12 8.12 12 12",key:"1alkpv"}],["path",{d:"M20 4 8.12 15.88",key:"xgtan2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M14.8 14.8 20 20",key:"ptml3r"}]]),fk=fs("ScreenShareOff",[["path",{d:"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3",key:"i8wdob"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"m22 3-5 5",key:"12jva0"}],["path",{d:"m17 3 5 5",key:"k36vhe"}]]),yk=fs("ScreenShare",[["path",{d:"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3",key:"i8wdob"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"m17 8 5-5",key:"fqif7o"}],["path",{d:"M17 3h5v5",key:"1o3tu8"}]]),bk=fs("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),vk=fs("Scroll",[["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),jk=fs("SearchCheck",[["path",{d:"m8 11 2 2 4-4",key:"1sed1v"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),Nk=fs("SearchCode",[["path",{d:"m13 13.5 2-2.5-2-2.5",key:"1rvxrh"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}],["path",{d:"M9 8.5 7 11l2 2.5",key:"6ffwbx"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),wk=fs("SearchSlash",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),kk=fs("SearchX",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),Mk=fs("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),Ak=fs("Section",[["path",{d:"M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0",key:"vqan6v"}],["path",{d:"M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0",key:"wdjd8o"}]]),Sk=fs("SendHorizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]),Ck=fs("SendToBack",[["rect",{x:"14",y:"14",width:"8",height:"8",rx:"2",key:"1b0bso"}],["rect",{x:"2",y:"2",width:"8",height:"8",rx:"2",key:"1x09vl"}],["path",{d:"M7 14v1a2 2 0 0 0 2 2h1",key:"pao6x6"}],["path",{d:"M14 7h1a2 2 0 0 1 2 2v1",key:"19tdru"}]]),Ik=fs("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),Pk=fs("SeparatorHorizontal",[["line",{x1:"3",x2:"21",y1:"12",y2:"12",key:"10d38w"}],["polyline",{points:"8 8 12 4 16 8",key:"zo8t4w"}],["polyline",{points:"16 16 12 20 8 16",key:"1oyrid"}]]),Tk=fs("SeparatorVertical",[["line",{x1:"12",x2:"12",y1:"3",y2:"21",key:"1efggb"}],["polyline",{points:"8 8 4 12 8 16",key:"bnfmv4"}],["polyline",{points:"16 16 20 12 16 8",key:"u90052"}]]),Rk=fs("ServerCog",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5",key:"tn8das"}],["path",{d:"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5",key:"1g2pve"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m15.7 13.4-.9-.3",key:"1jwmzr"}],["path",{d:"m9.2 10.9-.9-.3",key:"qapnim"}],["path",{d:"m10.6 15.7.3-.9",key:"quwk0k"}],["path",{d:"m13.6 15.7-.4-1",key:"cb9xp7"}],["path",{d:"m10.8 9.3-.4-1",key:"1uaiz5"}],["path",{d:"m8.3 13.6 1-.4",key:"s6srou"}],["path",{d:"m14.7 10.8 1-.4",key:"4d31cq"}],["path",{d:"m13.4 8.3-.3.9",key:"1bm987"}]]),Ok=fs("ServerCrash",[["path",{d:"M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2",key:"4b9dqc"}],["path",{d:"M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2",key:"22nnkd"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m13 6-4 6h6l-4 6",key:"14hqih"}]]),Dk=fs("ServerOff",[["path",{d:"M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5",key:"bt2siv"}],["path",{d:"M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z",key:"1hjrv1"}],["path",{d:"M22 17v-1a2 2 0 0 0-2-2h-1",key:"1iynyr"}],["path",{d:"M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z",key:"161ggg"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),qk=fs("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]),Ek=fs("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]),zk=fs("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),_k=fs("Shapes",[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]]),Lk=fs("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),Fk=fs("Share",[["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}],["polyline",{points:"16 6 12 2 8 6",key:"m901s6"}],["line",{x1:"12",x2:"12",y1:"2",y2:"15",key:"1p0rca"}]]),Wk=fs("Sheet",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]),Hk=fs("Shell",[["path",{d:"M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44",key:"1cn552"}]]),Vk=fs("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]),Bk=fs("ShieldBan",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m4.243 5.21 14.39 12.472",key:"1c9a7c"}]]),Gk=fs("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),Uk=fs("ShieldEllipsis",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M8 12h.01",key:"czm47f"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 12h.01",key:"1l6xoz"}]]),$k=fs("ShieldHalf",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 22V2",key:"zs6s6o"}]]),Yk=fs("ShieldMinus",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9 12h6",key:"1c52cq"}]]),Kk=fs("ShieldOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]]),Qk=fs("ShieldPlus",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9 12h6",key:"1c52cq"}],["path",{d:"M12 9v6",key:"199k2o"}]]),Zk=fs("ShieldQuestion",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Jk=fs("ShieldX",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]),Xk=fs("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),eM=fs("ShipWheel",[["circle",{cx:"12",cy:"12",r:"8",key:"46899m"}],["path",{d:"M12 2v7.5",key:"1e5rl5"}],["path",{d:"m19 5-5.23 5.23",key:"1ezxxf"}],["path",{d:"M22 12h-7.5",key:"le1719"}],["path",{d:"m19 19-5.23-5.23",key:"p3fmgn"}],["path",{d:"M12 14.5V22",key:"dgcmos"}],["path",{d:"M10.23 13.77 5 19",key:"qwopd4"}],["path",{d:"M9.5 12H2",key:"r7bup8"}],["path",{d:"M10.23 10.23 5 5",key:"k2y7lj"}],["circle",{cx:"12",cy:"12",r:"2.5",key:"ix0uyj"}]]),tM=fs("Ship",[["path",{d:"M12 10.189V14",key:"1p8cqu"}],["path",{d:"M12 2v3",key:"qbqxhf"}],["path",{d:"M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6",key:"qpkstq"}],["path",{d:"M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76",key:"7tigtc"}],["path",{d:"M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"1924j5"}]]),sM=fs("Shirt",[["path",{d:"M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z",key:"1wgbhj"}]]),aM=fs("ShoppingBag",[["path",{d:"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z",key:"hou9p0"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}]]),rM=fs("ShoppingBasket",[["path",{d:"m15 11-1 9",key:"5wnq3a"}],["path",{d:"m19 11-4-7",key:"cnml18"}],["path",{d:"M2 11h20",key:"3eubbj"}],["path",{d:"m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4",key:"yiazzp"}],["path",{d:"M4.5 15.5h15",key:"13mye1"}],["path",{d:"m5 11 4-7",key:"116ra9"}],["path",{d:"m9 11 1 9",key:"1ojof7"}]]),iM=fs("ShoppingCart",[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]]),nM=fs("Shovel",[["path",{d:"M2 22v-5l5-5 5 5-5 5z",key:"1fh25c"}],["path",{d:"M9.5 14.5 16 8",key:"1smz5x"}],["path",{d:"m17 2 5 5-.5.5a3.53 3.53 0 0 1-5 0s0 0 0 0a3.53 3.53 0 0 1 0-5L17 2",key:"1q8uv5"}]]),oM=fs("ShowerHead",[["path",{d:"m4 4 2.5 2.5",key:"uv2vmf"}],["path",{d:"M13.5 6.5a4.95 4.95 0 0 0-7 7",key:"frdkwv"}],["path",{d:"M15 5 5 15",key:"1ag8rq"}],["path",{d:"M14 17v.01",key:"eokfpp"}],["path",{d:"M10 16v.01",key:"14uyyl"}],["path",{d:"M13 13v.01",key:"1v1k97"}],["path",{d:"M16 10v.01",key:"5169yg"}],["path",{d:"M11 20v.01",key:"cj92p8"}],["path",{d:"M17 14v.01",key:"11cswd"}],["path",{d:"M20 11v.01",key:"19e0od"}]]),lM=fs("Shrink",[["path",{d:"m15 15 6 6m-6-6v4.8m0-4.8h4.8",key:"17vawe"}],["path",{d:"M9 19.8V15m0 0H4.2M9 15l-6 6",key:"chjx8e"}],["path",{d:"M15 4.2V9m0 0h4.8M15 9l6-6",key:"lav6yq"}],["path",{d:"M9 4.2V9m0 0H4.2M9 9 3 3",key:"1pxi2q"}]]),dM=fs("Shrub",[["path",{d:"M12 22v-7l-2-2",key:"eqv9mc"}],["path",{d:"M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z",key:"ubcgy"}],["path",{d:"m14 14-2 2",key:"847xa2"}]]),cM=fs("Shuffle",[["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22",key:"1ailkh"}],["path",{d:"M2 6h1.972a4 4 0 0 1 3.6 2.2",key:"km57vx"}],["path",{d:"M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45",key:"os18l9"}]]),mM=fs("Sigma",[["path",{d:"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2",key:"wuwx1p"}]]),hM=fs("SignalHigh",[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M17 20V8",key:"1tkaf5"}]]),xM=fs("SignalLow",[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}]]),uM=fs("SignalMedium",[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}]]),pM=fs("SignalZero",[["path",{d:"M2 20h.01",key:"4haj6o"}]]),gM=fs("Signal",[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M17 20V8",key:"1tkaf5"}],["path",{d:"M22 4v16",key:"sih9yq"}]]),fM=fs("Signature",[["path",{d:"m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284",key:"y32ogt"}],["path",{d:"M3 21h18",key:"itz85i"}]]),yM=fs("SignpostBig",[["path",{d:"M10 9H4L2 7l2-2h6",key:"1hq7x2"}],["path",{d:"M14 5h6l2 2-2 2h-6",key:"bv62ej"}],["path",{d:"M10 22V4a2 2 0 1 1 4 0v18",key:"eqpcf2"}],["path",{d:"M8 22h8",key:"rmew8v"}]]),bM=fs("Signpost",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M18 6a2 2 0 0 1 1.387.56l2.307 2.22a1 1 0 0 1 0 1.44l-2.307 2.22A2 2 0 0 1 18 13H6a2 2 0 0 1-1.387-.56l-2.306-2.22a1 1 0 0 1 0-1.44l2.306-2.22A2 2 0 0 1 6 6z",key:"gqqp9m"}]]),vM=fs("Siren",[["path",{d:"M7 18v-6a5 5 0 1 1 10 0v6",key:"pcx96s"}],["path",{d:"M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z",key:"1b4s83"}],["path",{d:"M21 12h1",key:"jtio3y"}],["path",{d:"M18.5 4.5 18 5",key:"g5sp9y"}],["path",{d:"M2 12h1",key:"1uaihz"}],["path",{d:"M12 2v1",key:"11qlp1"}],["path",{d:"m4.929 4.929.707.707",key:"1i51kw"}],["path",{d:"M12 12v6",key:"3ahymv"}]]),jM=fs("SkipBack",[["polygon",{points:"19 20 9 12 19 4 19 20",key:"o2sva"}],["line",{x1:"5",x2:"5",y1:"19",y2:"5",key:"1ocqjk"}]]),NM=fs("SkipForward",[["polygon",{points:"5 4 15 12 5 20 5 4",key:"16p6eg"}],["line",{x1:"19",x2:"19",y1:"5",y2:"19",key:"futhcm"}]]),wM=fs("Skull",[["path",{d:"m12.5 17-.5-1-.5 1h1z",key:"3me087"}],["path",{d:"M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z",key:"1o5pge"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}]]),kM=fs("Slack",[["rect",{width:"3",height:"8",x:"13",y:"2",rx:"1.5",key:"diqz80"}],["path",{d:"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5",key:"183iwg"}],["rect",{width:"3",height:"8",x:"8",y:"14",rx:"1.5",key:"hqg7r1"}],["path",{d:"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5",key:"76g71w"}],["rect",{width:"8",height:"3",x:"14",y:"13",rx:"1.5",key:"1kmz0a"}],["path",{d:"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5",key:"jc4sz0"}],["rect",{width:"8",height:"3",x:"2",y:"8",rx:"1.5",key:"1omvl4"}],["path",{d:"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5",key:"16f3cl"}]]),MM=fs("Slash",[["path",{d:"M22 2 2 22",key:"y4kqgn"}]]),AM=fs("Slice",[["path",{d:"M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14",key:"1sllp5"}]]),SM=fs("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),CM=fs("SlidersVertical",[["line",{x1:"4",x2:"4",y1:"21",y2:"14",key:"1p332r"}],["line",{x1:"4",x2:"4",y1:"10",y2:"3",key:"gb41h5"}],["line",{x1:"12",x2:"12",y1:"21",y2:"12",key:"hf2csr"}],["line",{x1:"12",x2:"12",y1:"8",y2:"3",key:"1kfi7u"}],["line",{x1:"20",x2:"20",y1:"21",y2:"16",key:"1lhrwl"}],["line",{x1:"20",x2:"20",y1:"12",y2:"3",key:"16vvfq"}],["line",{x1:"2",x2:"6",y1:"14",y2:"14",key:"1uebub"}],["line",{x1:"10",x2:"14",y1:"8",y2:"8",key:"1yglbp"}],["line",{x1:"18",x2:"22",y1:"16",y2:"16",key:"1jxqpz"}]]),IM=fs("SmartphoneCharging",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12.667 8 10 12h4l-2.667 4",key:"h9lk2d"}]]),PM=fs("SmartphoneNfc",[["rect",{width:"7",height:"12",x:"2",y:"6",rx:"1",key:"5nje8w"}],["path",{d:"M13 8.32a7.43 7.43 0 0 1 0 7.36",key:"1g306n"}],["path",{d:"M16.46 6.21a11.76 11.76 0 0 1 0 11.58",key:"uqvjvo"}],["path",{d:"M19.91 4.1a15.91 15.91 0 0 1 .01 15.8",key:"ujntz3"}]]),TM=fs("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]),RM=fs("SmilePlus",[["path",{d:"M22 11v1a10 10 0 1 1-9-10",key:"ew0xw9"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}],["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}]]),OM=fs("Smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]),DM=fs("Snail",[["path",{d:"M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0",key:"hneq2s"}],["circle",{cx:"10",cy:"13",r:"8",key:"194lz3"}],["path",{d:"M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6",key:"ixqyt7"}],["path",{d:"M18 3 19.1 5.2",key:"9tjm43"}],["path",{d:"M22 3 20.9 5.2",key:"j3odrs"}]]),qM=fs("Snowflake",[["line",{x1:"2",x2:"22",y1:"12",y2:"12",key:"1dnqot"}],["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"m20 16-4-4 4-4",key:"rquw4f"}],["path",{d:"m4 8 4 4-4 4",key:"12s3z9"}],["path",{d:"m16 4-4 4-4-4",key:"1tumq1"}],["path",{d:"m8 20 4-4 4 4",key:"9p200w"}]]),EM=fs("Sofa",[["path",{d:"M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3",key:"1dgpiv"}],["path",{d:"M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z",key:"xacw8m"}],["path",{d:"M4 18v2",key:"jwo5n2"}],["path",{d:"M20 18v2",key:"1ar1qi"}],["path",{d:"M12 4v9",key:"oqhhn3"}]]),zM=fs("Soup",[["path",{d:"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z",key:"4rw317"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M19.5 12 22 6",key:"shfsr5"}],["path",{d:"M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62",key:"rpc6vp"}],["path",{d:"M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62",key:"1lf63m"}],["path",{d:"M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62",key:"97tijn"}]]),_M=fs("Space",[["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]]),LM=fs("Spade",[["path",{d:"M5 9c-1.5 1.5-3 3.2-3 5.5A5.5 5.5 0 0 0 7.5 20c1.8 0 3-.5 4.5-2 1.5 1.5 2.7 2 4.5 2a5.5 5.5 0 0 0 5.5-5.5c0-2.3-1.5-4-3-5.5l-7-7-7 7Z",key:"40bo9n"}],["path",{d:"M12 18v4",key:"jadmvz"}]]),FM=fs("Sparkle",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}]]),WM=fs("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]),HM=fs("Speaker",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["circle",{cx:"12",cy:"14",r:"4",key:"1jruaj"}],["path",{d:"M12 14h.01",key:"1etili"}]]),VM=fs("Speech",[["path",{d:"M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20",key:"11atix"}],["path",{d:"M19.8 17.8a7.5 7.5 0 0 0 .003-10.603",key:"yol142"}],["path",{d:"M17 15a3.5 3.5 0 0 0-.025-4.975",key:"ssbmkc"}]]),BM=fs("SpellCheck2",[["path",{d:"m6 16 6-12 6 12",key:"1b4byz"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1",key:"8mdmtu"}]]),GM=fs("SpellCheck",[["path",{d:"m6 16 6-12 6 12",key:"1b4byz"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m16 20 2 2 4-4",key:"13tcca"}]]),UM=fs("Spline",[["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}],["path",{d:"M5 17A12 12 0 0 1 17 5",key:"1okkup"}]]),$M=fs("Split",[["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M8 3H3v5",key:"15dfkv"}],["path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3",key:"1qrqzj"}],["path",{d:"m15 9 6-6",key:"ko1vev"}]]),YM=fs("SprayCan",[["path",{d:"M3 3h.01",key:"159qn6"}],["path",{d:"M7 5h.01",key:"1hq22a"}],["path",{d:"M11 7h.01",key:"1osv80"}],["path",{d:"M3 7h.01",key:"1xzrh3"}],["path",{d:"M7 9h.01",key:"19b3jx"}],["path",{d:"M3 11h.01",key:"1eifu7"}],["rect",{width:"4",height:"4",x:"15",y:"5",key:"mri9e4"}],["path",{d:"m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2",key:"aib6hk"}],["path",{d:"m13 14 8-2",key:"1d7bmk"}],["path",{d:"m13 19 8-2",key:"1y2vml"}]]),KM=fs("Sprout",[["path",{d:"M7 20h10",key:"e6iznv"}],["path",{d:"M10 20c5.5-2.5.8-6.4 3-10",key:"161w41"}],["path",{d:"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z",key:"9gtqwd"}],["path",{d:"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z",key:"bkxnd2"}]]),QM=fs("SquareActivity",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M17 12h-2l-2 5-2-10-2 5H7",key:"15hlnc"}]]),ZM=fs("SquareArrowDownLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m16 8-8 8",key:"166keh"}],["path",{d:"M16 16H8V8",key:"1w2ppm"}]]),JM=fs("SquareArrowDownRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m8 8 8 8",key:"1imecy"}],["path",{d:"M16 8v8H8",key:"1lbpgo"}]]),XM=fs("SquareArrowDown",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"m8 12 4 4 4-4",key:"k98ssh"}]]),eA=fs("SquareArrowLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m12 8-4 4 4 4",key:"15vm53"}],["path",{d:"M16 12H8",key:"1fr5h0"}]]),tA=fs("SquareArrowOutDownLeft",[["path",{d:"M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6",key:"14qz4y"}],["path",{d:"m3 21 9-9",key:"1jfql5"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]),sA=fs("SquareArrowOutDownRight",[["path",{d:"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6",key:"14rsvq"}],["path",{d:"m21 21-9-9",key:"1et2py"}],["path",{d:"M21 15v6h-6",key:"1jko0i"}]]),aA=fs("SquareArrowOutUpLeft",[["path",{d:"M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6",key:"14mv1t"}],["path",{d:"m3 3 9 9",key:"rks13r"}],["path",{d:"M3 9V3h6",key:"ira0h2"}]]),rA=fs("SquareArrowOutUpRight",[["path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6",key:"y09zxi"}],["path",{d:"m21 3-9 9",key:"mpx6sq"}],["path",{d:"M15 3h6v6",key:"1q9fwt"}]]),iA=fs("SquareArrowRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m12 16 4-4-4-4",key:"1i9zcv"}]]),nA=fs("SquareArrowUpLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 16V8h8",key:"19xb1h"}],["path",{d:"M16 16 8 8",key:"1qdy8n"}]]),oA=fs("SquareArrowUpRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 8h8v8",key:"b65dnt"}],["path",{d:"m8 16 8-8",key:"13b9ih"}]]),lA=fs("SquareArrowUp",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]),dA=fs("SquareAsterisk",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"m8.5 14 7-4",key:"12hpby"}],["path",{d:"m8.5 10 7 4",key:"wwy2dy"}]]),cA=fs("SquareBottomDashedScissors",[["path",{d:"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2",key:"1vzg26"}],["path",{d:"M10 22H8",key:"euku7a"}],["path",{d:"M16 22h-2",key:"18d249"}],["circle",{cx:"8",cy:"8",r:"2",key:"14cg06"}],["path",{d:"M9.414 9.414 12 12",key:"qz4lzr"}],["path",{d:"M14.8 14.8 18 18",key:"11flf1"}],["circle",{cx:"8",cy:"16",r:"2",key:"1acxsx"}],["path",{d:"m18 6-8.586 8.586",key:"11kzk1"}]]),mA=fs("SquareChartGantt",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 8h7",key:"kbo1nt"}],["path",{d:"M8 12h6",key:"ikassy"}],["path",{d:"M11 16h5",key:"oq65wt"}]]),hA=fs("SquareCheckBig",[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),xA=fs("SquareCheck",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),uA=fs("SquareChevronDown",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),pA=fs("SquareChevronLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m14 16-4-4 4-4",key:"ojs7w8"}]]),gA=fs("SquareChevronRight",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),fA=fs("SquareChevronUp",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m8 14 4-4 4 4",key:"fy2ptz"}]]),yA=fs("SquareCode",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),bA=fs("SquareDashedBottomCode",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"M14 21h1",key:"v9vybs"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["path",{d:"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2",key:"as5y1o"}],["path",{d:"M9 21h1",key:"15o7lz"}]]),vA=fs("SquareDashedBottom",[["path",{d:"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2",key:"as5y1o"}],["path",{d:"M9 21h1",key:"15o7lz"}],["path",{d:"M14 21h1",key:"v9vybs"}]]),jA=fs("SquareDashedKanban",[["path",{d:"M8 7v7",key:"1x2jlm"}],["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M16 7v9",key:"1hp2iy"}],["path",{d:"M5 3a2 2 0 0 0-2 2",key:"y57alp"}],["path",{d:"M9 3h1",key:"1yesri"}],["path",{d:"M14 3h1",key:"1ec4yj"}],["path",{d:"M19 3a2 2 0 0 1 2 2",key:"18rm91"}],["path",{d:"M21 9v1",key:"mxsmne"}],["path",{d:"M21 14v1",key:"169vum"}],["path",{d:"M21 19a2 2 0 0 1-2 2",key:"1j7049"}],["path",{d:"M14 21h1",key:"v9vybs"}],["path",{d:"M9 21h1",key:"15o7lz"}],["path",{d:"M5 21a2 2 0 0 1-2-2",key:"sbafld"}],["path",{d:"M3 14v1",key:"vnatye"}],["path",{d:"M3 9v1",key:"1r0deq"}]]),NA=fs("SquareDashedMousePointer",[["path",{d:"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z",key:"xwnzip"}],["path",{d:"M5 3a2 2 0 0 0-2 2",key:"y57alp"}],["path",{d:"M19 3a2 2 0 0 1 2 2",key:"18rm91"}],["path",{d:"M5 21a2 2 0 0 1-2-2",key:"sbafld"}],["path",{d:"M9 3h1",key:"1yesri"}],["path",{d:"M9 21h2",key:"1qve2z"}],["path",{d:"M14 3h1",key:"1ec4yj"}],["path",{d:"M3 9v1",key:"1r0deq"}],["path",{d:"M21 9v2",key:"p14lih"}],["path",{d:"M3 14v1",key:"vnatye"}]]),wA=fs("SquareDashed",[["path",{d:"M5 3a2 2 0 0 0-2 2",key:"y57alp"}],["path",{d:"M19 3a2 2 0 0 1 2 2",key:"18rm91"}],["path",{d:"M21 19a2 2 0 0 1-2 2",key:"1j7049"}],["path",{d:"M5 21a2 2 0 0 1-2-2",key:"sbafld"}],["path",{d:"M9 3h1",key:"1yesri"}],["path",{d:"M9 21h1",key:"15o7lz"}],["path",{d:"M14 3h1",key:"1ec4yj"}],["path",{d:"M14 21h1",key:"v9vybs"}],["path",{d:"M3 9v1",key:"1r0deq"}],["path",{d:"M21 9v1",key:"mxsmne"}],["path",{d:"M3 14v1",key:"vnatye"}],["path",{d:"M21 14v1",key:"169vum"}]]),kA=fs("SquareDivide",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}],["line",{x1:"12",x2:"12",y1:"16",y2:"16",key:"aqc6ln"}],["line",{x1:"12",x2:"12",y1:"8",y2:"8",key:"1mkcni"}]]),MA=fs("SquareDot",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),AA=fs("SquareEqual",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M7 14h10",key:"1mhdw3"}]]),SA=fs("SquareFunction",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3",key:"m1af9g"}],["path",{d:"M9 11.2h5.7",key:"3zgcl2"}]]),CA=fs("SquareKanban",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 7v7",key:"1x2jlm"}],["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M16 7v9",key:"1hp2iy"}]]),IA=fs("SquareLibrary",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 7v10",key:"d5nglc"}],["path",{d:"M11 7v10",key:"pptsnr"}],["path",{d:"m15 7 2 10",key:"1m7qm5"}]]),PA=fs("SquareM",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 16V8l4 4 4-4v8",key:"141u4e"}]]),TA=fs("SquareMenu",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 8h10",key:"1jw688"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M7 16h10",key:"wp8him"}]]),RA=fs("SquareMinus",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),OA=fs("SquareMousePointer",[["path",{d:"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z",key:"xwnzip"}],["path",{d:"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6",key:"14rsvq"}]]),DA=fs("SquareParkingOff",[["path",{d:"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41",key:"9l1ft6"}],["path",{d:"M3 8.7V19a2 2 0 0 0 2 2h10.3",key:"17knke"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M13 13a3 3 0 1 0 0-6H9v2",key:"uoagbd"}],["path",{d:"M9 17v-2.3",key:"1jxgo2"}]]),qA=fs("SquareParking",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 17V7h4a3 3 0 0 1 0 6H9",key:"1dfk2c"}]]),EA=fs("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]),zA=fs("SquarePercent",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M9 9h.01",key:"1q5me6"}],["path",{d:"M15 15h.01",key:"lqbp3k"}]]),_A=fs("SquarePi",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 7h10",key:"udp07y"}],["path",{d:"M10 7v10",key:"i1d9ee"}],["path",{d:"M16 17a2 2 0 0 1-2-2V7",key:"ftwdc7"}]]),LA=fs("SquarePilcrow",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 12H9.5a2.5 2.5 0 0 1 0-5H17",key:"1l9586"}],["path",{d:"M12 7v10",key:"jspqdw"}],["path",{d:"M16 7v10",key:"lavkr4"}]]),FA=fs("SquarePlay",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m9 8 6 4-6 4Z",key:"f1r3lt"}]]),WA=fs("SquarePlus",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),HA=fs("SquarePower",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),VA=fs("SquareRadical",[["path",{d:"M7 12h2l2 5 2-10h4",key:"1fxv6h"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),BA=fs("SquareScissors",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"2",key:"1btzen"}],["circle",{cx:"8",cy:"8",r:"2",key:"14cg06"}],["path",{d:"M9.414 9.414 12 12",key:"qz4lzr"}],["path",{d:"M14.8 14.8 18 18",key:"11flf1"}],["circle",{cx:"8",cy:"16",r:"2",key:"1acxsx"}],["path",{d:"m18 6-8.586 8.586",key:"11kzk1"}]]),GA=fs("SquareSigma",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M16 8.9V7H8l4 5-4 5h8v-1.9",key:"9nih0i"}]]),UA=fs("SquareSlash",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),$A=fs("SquareSplitHorizontal",[["path",{d:"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3",key:"lubmu8"}],["path",{d:"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3",key:"1ag34g"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]),YA=fs("SquareSplitVertical",[["path",{d:"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3",key:"1pi83i"}],["path",{d:"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3",key:"ido5k7"}],["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}]]),KA=fs("SquareSquare",[["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),QA=fs("SquareStack",[["path",{d:"M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2",key:"4i38lg"}],["path",{d:"M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2",key:"mlte4a"}],["rect",{width:"8",height:"8",x:"14",y:"14",rx:"2",key:"1fa9i4"}]]),ZA=fs("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),JA=fs("SquareUserRound",[["path",{d:"M18 21a6 6 0 0 0-12 0",key:"kaz2du"}],["circle",{cx:"12",cy:"11",r:"4",key:"1gt34v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),XA=fs("SquareUser",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2",key:"1m6ac2"}]]),eS=fs("SquareX",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),tS=fs("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),sS=fs("Squircle",[["path",{d:"M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9",key:"garfkc"}]]),aS=fs("Squirrel",[["path",{d:"M15.236 22a3 3 0 0 0-2.2-5",key:"21bitc"}],["path",{d:"M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4",key:"oh0fg0"}],["path",{d:"M18 13h.01",key:"9veqaj"}],["path",{d:"M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10",key:"980v8a"}]]),rS=fs("Stamp",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z",key:"1sy9ra"}],["path",{d:"M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13",key:"cnxgux"}]]),iS=fs("StarHalf",[["path",{d:"M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2",key:"2ksp49"}]]),nS=fs("StarOff",[["path",{d:"M8.34 8.34 2 9.27l5 4.87L5.82 21 12 17.77 18.18 21l-.59-3.43",key:"16m0ql"}],["path",{d:"M18.42 12.76 22 9.27l-6.91-1L12 2l-1.44 2.91",key:"1vt8nq"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),oS=fs("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),lS=fs("StepBack",[["line",{x1:"18",x2:"18",y1:"20",y2:"4",key:"cun8e5"}],["polygon",{points:"14,20 4,12 14,4",key:"ypakod"}]]),dS=fs("StepForward",[["line",{x1:"6",x2:"6",y1:"4",y2:"20",key:"fy8qot"}],["polygon",{points:"10,4 20,12 10,20",key:"1mc1pf"}]]),cS=fs("Stethoscope",[["path",{d:"M11 2v2",key:"1539x4"}],["path",{d:"M5 2v2",key:"1yf1q8"}],["path",{d:"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1",key:"rb5t3r"}],["path",{d:"M8 15a6 6 0 0 0 12 0v-3",key:"x18d4x"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]]),mS=fs("Sticker",[["path",{d:"M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z",key:"1wis1t"}],["path",{d:"M14 3v4a2 2 0 0 0 2 2h4",key:"36rjfy"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M10 16s.8 1 2 1c1.3 0 2-1 2-1",key:"1vvgv3"}]]),hS=fs("StickyNote",[["path",{d:"M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z",key:"qazsjp"}],["path",{d:"M15 3v4a2 2 0 0 0 2 2h4",key:"40519r"}]]),xS=fs("Store",[["path",{d:"m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7",key:"ztvudi"}],["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}],["path",{d:"M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4",key:"2ebpfo"}],["path",{d:"M2 7h20",key:"1fcdvo"}],["path",{d:"M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7",key:"6c3vgh"}]]),uS=fs("StretchHorizontal",[["rect",{width:"20",height:"6",x:"2",y:"4",rx:"2",key:"qdearl"}],["rect",{width:"20",height:"6",x:"2",y:"14",rx:"2",key:"1xrn6j"}]]),pS=fs("StretchVertical",[["rect",{width:"6",height:"20",x:"4",y:"2",rx:"2",key:"19qu7m"}],["rect",{width:"6",height:"20",x:"14",y:"2",rx:"2",key:"24v0nk"}]]),gS=fs("Strikethrough",[["path",{d:"M16 4H9a3 3 0 0 0-2.83 4",key:"43sutm"}],["path",{d:"M14 12a4 4 0 0 1 0 8H6",key:"nlfj13"}],["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}]]),fS=fs("Subscript",[["path",{d:"m4 5 8 8",key:"1eunvl"}],["path",{d:"m12 5-8 8",key:"1ah0jp"}],["path",{d:"M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07",key:"e8ta8j"}]]),yS=fs("SunDim",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 4h.01",key:"1ujb9j"}],["path",{d:"M20 12h.01",key:"1ykeid"}],["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M4 12h.01",key:"158zrr"}],["path",{d:"M17.657 6.343h.01",key:"31pqzk"}],["path",{d:"M17.657 17.657h.01",key:"jehnf4"}],["path",{d:"M6.343 17.657h.01",key:"gdk6ow"}],["path",{d:"M6.343 6.343h.01",key:"1uurf0"}]]),bS=fs("SunMedium",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 3v1",key:"1asbbs"}],["path",{d:"M12 20v1",key:"1wcdkc"}],["path",{d:"M3 12h1",key:"lp3yf2"}],["path",{d:"M20 12h1",key:"1vloll"}],["path",{d:"m18.364 5.636-.707.707",key:"1hakh0"}],["path",{d:"m6.343 17.657-.707.707",key:"18m9nf"}],["path",{d:"m5.636 5.636.707.707",key:"1xv1c5"}],["path",{d:"m17.657 17.657.707.707",key:"vl76zb"}]]),vS=fs("SunMoon",[["path",{d:"M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4",key:"1fu5g2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.9 4.9 1.4 1.4",key:"b9915j"}],["path",{d:"m17.7 17.7 1.4 1.4",key:"qc3ed3"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.3 17.7-1.4 1.4",key:"5gca6"}],["path",{d:"m19.1 4.9-1.4 1.4",key:"wpu9u6"}]]),jS=fs("SunSnow",[["path",{d:"M10 9a3 3 0 1 0 0 6",key:"6zmtdl"}],["path",{d:"M2 12h1",key:"1uaihz"}],["path",{d:"M14 21V3",key:"1llu3z"}],["path",{d:"M10 4V3",key:"pkzwkn"}],["path",{d:"M10 21v-1",key:"1u8rkd"}],["path",{d:"m3.64 18.36.7-.7",key:"105rm9"}],["path",{d:"m4.34 6.34-.7-.7",key:"d3unjp"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"m17 4-3 3",key:"15jcng"}],["path",{d:"m14 17 3 3",key:"6tlq38"}],["path",{d:"m21 15-3-3 3-3",key:"1nlnje"}]]),NS=fs("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),wS=fs("Sunrise",[["path",{d:"M12 2v8",key:"1q4o3n"}],["path",{d:"m4.93 10.93 1.41 1.41",key:"2a7f42"}],["path",{d:"M2 18h2",key:"j10viu"}],["path",{d:"M20 18h2",key:"wocana"}],["path",{d:"m19.07 10.93-1.41 1.41",key:"15zs5n"}],["path",{d:"M22 22H2",key:"19qnx5"}],["path",{d:"m8 6 4-4 4 4",key:"ybng9g"}],["path",{d:"M16 18a4 4 0 0 0-8 0",key:"1lzouq"}]]),kS=fs("Sunset",[["path",{d:"M12 10V2",key:"16sf7g"}],["path",{d:"m4.93 10.93 1.41 1.41",key:"2a7f42"}],["path",{d:"M2 18h2",key:"j10viu"}],["path",{d:"M20 18h2",key:"wocana"}],["path",{d:"m19.07 10.93-1.41 1.41",key:"15zs5n"}],["path",{d:"M22 22H2",key:"19qnx5"}],["path",{d:"m16 6-4 4-4-4",key:"6wukr"}],["path",{d:"M16 18a4 4 0 0 0-8 0",key:"1lzouq"}]]),MS=fs("Superscript",[["path",{d:"m4 19 8-8",key:"hr47gm"}],["path",{d:"m12 19-8-8",key:"1dhhmo"}],["path",{d:"M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06",key:"1dfcux"}]]),AS=fs("SwatchBook",[["path",{d:"M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z",key:"1ldrpk"}],["path",{d:"M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7",key:"11i5po"}],["path",{d:"M 7 17h.01",key:"1euzgo"}],["path",{d:"m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8",key:"o2gii7"}]]),SS=fs("SwissFranc",[["path",{d:"M10 21V3h8",key:"br2l0g"}],["path",{d:"M6 16h9",key:"2py0wn"}],["path",{d:"M10 9.5h7",key:"13dmhz"}]]),CS=fs("SwitchCamera",[["path",{d:"M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5",key:"mtk2lu"}],["path",{d:"M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5",key:"120jsl"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m18 22-3-3 3-3",key:"kgdoj7"}],["path",{d:"m6 2 3 3-3 3",key:"1fnbkv"}]]),IS=fs("Sword",[["polyline",{points:"14.5 17.5 3 6 3 3 6 3 17.5 14.5",key:"1hfsw2"}],["line",{x1:"13",x2:"19",y1:"19",y2:"13",key:"1vrmhu"}],["line",{x1:"16",x2:"20",y1:"16",y2:"20",key:"1bron3"}],["line",{x1:"19",x2:"21",y1:"21",y2:"19",key:"13pww6"}]]),PS=fs("Swords",[["polyline",{points:"14.5 17.5 3 6 3 3 6 3 17.5 14.5",key:"1hfsw2"}],["line",{x1:"13",x2:"19",y1:"19",y2:"13",key:"1vrmhu"}],["line",{x1:"16",x2:"20",y1:"16",y2:"20",key:"1bron3"}],["line",{x1:"19",x2:"21",y1:"21",y2:"19",key:"13pww6"}],["polyline",{points:"14.5 6.5 18 3 21 3 21 6 17.5 9.5",key:"hbey2j"}],["line",{x1:"5",x2:"9",y1:"14",y2:"18",key:"1hf58s"}],["line",{x1:"7",x2:"4",y1:"17",y2:"20",key:"pidxm4"}],["line",{x1:"3",x2:"5",y1:"19",y2:"21",key:"1pehsh"}]]),TS=fs("Syringe",[["path",{d:"m18 2 4 4",key:"22kx64"}],["path",{d:"m17 7 3-3",key:"1w1zoj"}],["path",{d:"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5",key:"1exhtz"}],["path",{d:"m9 11 4 4",key:"rovt3i"}],["path",{d:"m5 19-3 3",key:"59f2uf"}],["path",{d:"m14 4 6 6",key:"yqp9t2"}]]),RS=fs("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),OS=fs("TableCellsMerge",[["path",{d:"M12 21v-6",key:"lihzve"}],["path",{d:"M12 9V3",key:"da5inc"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M3 9h18",key:"1pudct"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),DS=fs("TableCellsSplit",[["path",{d:"M12 15V9",key:"8c7uyn"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M3 9h18",key:"1pudct"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),qS=fs("TableColumnsSplit",[["path",{d:"M14 14v2",key:"w2a1xv"}],["path",{d:"M14 20v2",key:"1lq872"}],["path",{d:"M14 2v2",key:"6buw04"}],["path",{d:"M14 8v2",key:"i67w9a"}],["path",{d:"M2 15h8",key:"82wtch"}],["path",{d:"M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2",key:"up0l64"}],["path",{d:"M2 9h8",key:"yelfik"}],["path",{d:"M22 15h-4",key:"1es58f"}],["path",{d:"M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2",key:"pdjoqf"}],["path",{d:"M22 9h-4",key:"1luja7"}],["path",{d:"M5 3v18",key:"14hmio"}]]),ES=fs("TableOfContents",[["path",{d:"M16 12H3",key:"1a2rj7"}],["path",{d:"M16 18H3",key:"12xzn7"}],["path",{d:"M16 6H3",key:"1wxfjs"}],["path",{d:"M21 12h.01",key:"msek7k"}],["path",{d:"M21 18h.01",key:"1e8rq1"}],["path",{d:"M21 6h.01",key:"1koanj"}]]),zS=fs("TableProperties",[["path",{d:"M15 3v18",key:"14nvp0"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]),_S=fs("TableRowsSplit",[["path",{d:"M14 10h2",key:"1lstlu"}],["path",{d:"M15 22v-8",key:"1fwwgm"}],["path",{d:"M15 2v4",key:"1044rn"}],["path",{d:"M2 10h2",key:"1r8dkt"}],["path",{d:"M20 10h2",key:"1ug425"}],["path",{d:"M3 19h18",key:"awlh7x"}],["path",{d:"M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6",key:"ibqhof"}],["path",{d:"M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2",key:"1uenja"}],["path",{d:"M8 10h2",key:"66od0"}],["path",{d:"M9 22v-8",key:"fmnu31"}],["path",{d:"M9 2v4",key:"j1yeou"}]]),LS=fs("Table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),FS=fs("TabletSmartphone",[["rect",{width:"10",height:"14",x:"3",y:"8",rx:"2",key:"1vrsiq"}],["path",{d:"M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4",key:"1j4zmg"}],["path",{d:"M8 18h.01",key:"lrp35t"}]]),WS=fs("Tablet",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]),HS=fs("Tablets",[["circle",{cx:"7",cy:"7",r:"5",key:"x29byf"}],["circle",{cx:"17",cy:"17",r:"5",key:"1op1d2"}],["path",{d:"M12 17h10",key:"ls21zv"}],["path",{d:"m3.46 10.54 7.08-7.08",key:"1rehiu"}]]),VS=fs("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]),BS=fs("Tags",[["path",{d:"m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19",key:"1cbfv1"}],["path",{d:"M9.586 5.586A2 2 0 0 0 8.172 5H3a1 1 0 0 0-1 1v5.172a2 2 0 0 0 .586 1.414L8.29 18.29a2.426 2.426 0 0 0 3.42 0l3.58-3.58a2.426 2.426 0 0 0 0-3.42z",key:"135mg7"}],["circle",{cx:"6.5",cy:"9.5",r:".5",fill:"currentColor",key:"5pm5xn"}]]),GS=fs("Tally1",[["path",{d:"M4 4v16",key:"6qkkli"}]]),US=fs("Tally2",[["path",{d:"M4 4v16",key:"6qkkli"}],["path",{d:"M9 4v16",key:"81ygyz"}]]),$S=fs("Tally3",[["path",{d:"M4 4v16",key:"6qkkli"}],["path",{d:"M9 4v16",key:"81ygyz"}],["path",{d:"M14 4v16",key:"12vmem"}]]),YS=fs("Tally4",[["path",{d:"M4 4v16",key:"6qkkli"}],["path",{d:"M9 4v16",key:"81ygyz"}],["path",{d:"M14 4v16",key:"12vmem"}],["path",{d:"M19 4v16",key:"8ij5ei"}]]),KS=fs("Tally5",[["path",{d:"M4 4v16",key:"6qkkli"}],["path",{d:"M9 4v16",key:"81ygyz"}],["path",{d:"M14 4v16",key:"12vmem"}],["path",{d:"M19 4v16",key:"8ij5ei"}],["path",{d:"M22 6 2 18",key:"h9moai"}]]),QS=fs("Tangent",[["circle",{cx:"17",cy:"4",r:"2",key:"y5j2s2"}],["path",{d:"M15.59 5.41 5.41 15.59",key:"l0vprr"}],["circle",{cx:"4",cy:"17",r:"2",key:"9p4efm"}],["path",{d:"M12 22s-4-9-1.5-11.5S22 12 22 12",key:"1twk4o"}]]),ZS=fs("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),JS=fs("Telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]]),XS=fs("TentTree",[["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}],["path",{d:"m14 5 3-3 3 3",key:"1sorif"}],["path",{d:"m14 10 3-3 3 3",key:"1jyi9h"}],["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M17 14H7l-5 8h20Z",key:"13ar7p"}],["path",{d:"M8 14v8",key:"1ghmqk"}],["path",{d:"m9 14 5 8",key:"13pgi6"}]]),eC=fs("Tent",[["path",{d:"M3.5 21 14 3",key:"1szst5"}],["path",{d:"M20.5 21 10 3",key:"1310c3"}],["path",{d:"M15.5 21 12 15l-3.5 6",key:"1ddtfw"}],["path",{d:"M2 21h20",key:"1nyx9w"}]]),tC=fs("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),sC=fs("TestTubeDiagonal",[["path",{d:"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3",key:"1ub6xw"}],["path",{d:"m16 2 6 6",key:"1gw87d"}],["path",{d:"M12 16H4",key:"1cjfip"}]]),aC=fs("TestTube",[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]]),rC=fs("TestTubes",[["path",{d:"M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2",key:"1hjrqt"}],["path",{d:"M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2",key:"16lc8n"}],["path",{d:"M3 2h7",key:"7s29d5"}],["path",{d:"M14 2h7",key:"7sicin"}],["path",{d:"M9 16H4",key:"1bfye3"}],["path",{d:"M20 16h-5",key:"ddnjpe"}]]),iC=fs("TextCursorInput",[["path",{d:"M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1",key:"18xjzo"}],["path",{d:"M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5",key:"fj48gi"}],["path",{d:"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1",key:"1n9rhb"}],["path",{d:"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7",key:"13ksps"}],["path",{d:"M9 7v10",key:"1vc8ob"}]]),nC=fs("TextCursor",[["path",{d:"M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1",key:"uvaxm9"}],["path",{d:"M7 22h1a4 4 0 0 0 4-4v-1",key:"11xy8d"}],["path",{d:"M7 2h1a4 4 0 0 1 4 4v1",key:"1uw06m"}]]),oC=fs("TextQuote",[["path",{d:"M17 6H3",key:"16j9eg"}],["path",{d:"M21 12H8",key:"scolzb"}],["path",{d:"M21 18H8",key:"1wfozv"}],["path",{d:"M3 12v6",key:"fv4c87"}]]),lC=fs("TextSearch",[["path",{d:"M21 6H3",key:"1jwq7v"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 18H3",key:"13769t"}],["circle",{cx:"17",cy:"15",r:"3",key:"1upz2a"}],["path",{d:"m21 19-1.9-1.9",key:"dwi7p8"}]]),dC=fs("TextSelect",[["path",{d:"M5 3a2 2 0 0 0-2 2",key:"y57alp"}],["path",{d:"M19 3a2 2 0 0 1 2 2",key:"18rm91"}],["path",{d:"M21 19a2 2 0 0 1-2 2",key:"1j7049"}],["path",{d:"M5 21a2 2 0 0 1-2-2",key:"sbafld"}],["path",{d:"M9 3h1",key:"1yesri"}],["path",{d:"M9 21h1",key:"15o7lz"}],["path",{d:"M14 3h1",key:"1ec4yj"}],["path",{d:"M14 21h1",key:"v9vybs"}],["path",{d:"M3 9v1",key:"1r0deq"}],["path",{d:"M21 9v1",key:"mxsmne"}],["path",{d:"M3 14v1",key:"vnatye"}],["path",{d:"M21 14v1",key:"169vum"}],["line",{x1:"7",x2:"15",y1:"8",y2:"8",key:"1758g8"}],["line",{x1:"7",x2:"17",y1:"12",y2:"12",key:"197423"}],["line",{x1:"7",x2:"13",y1:"16",y2:"16",key:"37cgm6"}]]),cC=fs("Text",[["path",{d:"M17 6.1H3",key:"wptmhv"}],["path",{d:"M21 12.1H3",key:"1j38uz"}],["path",{d:"M15.1 18H3",key:"1nb16a"}]]),mC=fs("Theater",[["path",{d:"M2 10s3-3 3-8",key:"3xiif0"}],["path",{d:"M22 10s-3-3-3-8",key:"ioaa5q"}],["path",{d:"M10 2c0 4.4-3.6 8-8 8",key:"16fkpi"}],["path",{d:"M14 2c0 4.4 3.6 8 8 8",key:"b9eulq"}],["path",{d:"M2 10s2 2 2 5",key:"1au1lb"}],["path",{d:"M22 10s-2 2-2 5",key:"qi2y5e"}],["path",{d:"M8 15h8",key:"45n4r"}],["path",{d:"M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1",key:"1vsc2m"}],["path",{d:"M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1",key:"hrha4u"}]]),hC=fs("ThermometerSnowflake",[["path",{d:"M2 12h10",key:"19562f"}],["path",{d:"M9 4v16",key:"81ygyz"}],["path",{d:"m3 9 3 3-3 3",key:"1sas0l"}],["path",{d:"M12 6 9 9 6 6",key:"pfrgxu"}],["path",{d:"m6 18 3-3 1.5 1.5",key:"1e277p"}],["path",{d:"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"iof6y5"}]]),xC=fs("ThermometerSun",[["path",{d:"M12 9a4 4 0 0 0-2 7.5",key:"1jvsq6"}],["path",{d:"M12 3v2",key:"1w22ol"}],["path",{d:"m6.6 18.4-1.4 1.4",key:"w2yidj"}],["path",{d:"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"iof6y5"}],["path",{d:"M4 13H2",key:"118le4"}],["path",{d:"M6.34 7.34 4.93 5.93",key:"1brd51"}]]),uC=fs("Thermometer",[["path",{d:"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"17jzev"}]]),pC=fs("ThumbsDown",[["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",key:"m61m77"}]]),gC=fs("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]),fC=fs("TicketCheck",[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),yC=fs("TicketMinus",[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"M9 12h6",key:"1c52cq"}]]),bC=fs("TicketPercent",[["path",{d:"M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"1l48ns"}],["path",{d:"M9 9h.01",key:"1q5me6"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M15 15h.01",key:"lqbp3k"}]]),vC=fs("TicketPlus",[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"M9 12h6",key:"1c52cq"}],["path",{d:"M12 9v6",key:"199k2o"}]]),jC=fs("TicketSlash",[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"m9.5 14.5 5-5",key:"qviqfa"}]]),NC=fs("TicketX",[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"m9.5 14.5 5-5",key:"qviqfa"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]),wC=fs("Ticket",[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"M13 5v2",key:"dyzc3o"}],["path",{d:"M13 17v2",key:"1ont0d"}],["path",{d:"M13 11v2",key:"1wjjxi"}]]),kC=fs("TicketsPlane",[["path",{d:"M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12",key:"16muxl"}],["path",{d:"m12 13.5 3.75.5",key:"1i9qhk"}],["path",{d:"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8",key:"12lg5p"}],["path",{d:"M6 10V8",key:"1y41hn"}],["path",{d:"M6 14v1",key:"cao2tf"}],["path",{d:"M6 19v2",key:"1loha6"}],["rect",{x:"2",y:"8",width:"20",height:"13",rx:"2",key:"p3bz5l"}]]),MC=fs("Tickets",[["path",{d:"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8",key:"12lg5p"}],["path",{d:"M6 10V8",key:"1y41hn"}],["path",{d:"M6 14v1",key:"cao2tf"}],["path",{d:"M6 19v2",key:"1loha6"}],["rect",{x:"2",y:"8",width:"20",height:"13",rx:"2",key:"p3bz5l"}]]),AC=fs("TimerOff",[["path",{d:"M10 2h4",key:"n1abiw"}],["path",{d:"M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7",key:"10he05"}],["path",{d:"M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2",key:"15f7sh"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M12 12v-2",key:"fwoke6"}]]),SC=fs("TimerReset",[["path",{d:"M10 2h4",key:"n1abiw"}],["path",{d:"M12 14v-4",key:"1evpnu"}],["path",{d:"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6",key:"1ts96g"}],["path",{d:"M9 17H4v5",key:"8t5av"}]]),CC=fs("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]),IC=fs("ToggleLeft",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"8",cy:"12",r:"2",key:"1nvbw3"}]]),PC=fs("ToggleRight",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"16",cy:"12",r:"2",key:"4ma0v8"}]]),TC=fs("Toilet",[["path",{d:"M7 12h13a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-.598a.5.5 0 0 0-.424.765l1.544 2.47a.5.5 0 0 1-.424.765H5.402a.5.5 0 0 1-.424-.765L7 18",key:"kc4kqr"}],["path",{d:"M8 18a5 5 0 0 1-5-5V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8",key:"1tqs57"}]]),RC=fs("Tornado",[["path",{d:"M21 4H3",key:"1hwok0"}],["path",{d:"M18 8H6",key:"41n648"}],["path",{d:"M19 12H9",key:"1g4lpz"}],["path",{d:"M16 16h-6",key:"1j5d54"}],["path",{d:"M11 20H9",key:"39obr8"}]]),OC=fs("Torus",[["ellipse",{cx:"12",cy:"11",rx:"3",ry:"2",key:"1b2qxu"}],["ellipse",{cx:"12",cy:"12.5",rx:"10",ry:"8.5",key:"h8emeu"}]]),DC=fs("TouchpadOff",[["path",{d:"M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16",key:"lnt0bk"}],["path",{d:"M2 14h12",key:"d8icqz"}],["path",{d:"M22 14h-2",key:"jrx26d"}],["path",{d:"M12 20v-6",key:"1rm09r"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M22 16V6a2 2 0 0 0-2-2H10",key:"11y8e4"}]]),qC=fs("Touchpad",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"M2 14h20",key:"myj16y"}],["path",{d:"M12 20v-6",key:"1rm09r"}]]),EC=fs("TowerControl",[["path",{d:"M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z",key:"1pledb"}],["path",{d:"M8 13v9",key:"hmv0ci"}],["path",{d:"M16 22v-9",key:"ylnf1u"}],["path",{d:"m9 6 1 7",key:"dpdgam"}],["path",{d:"m15 6-1 7",key:"ls7zgu"}],["path",{d:"M12 6V2",key:"1pj48d"}],["path",{d:"M13 2h-2",key:"mj6ths"}]]),zC=fs("ToyBrick",[["rect",{width:"18",height:"12",x:"3",y:"8",rx:"1",key:"158fvp"}],["path",{d:"M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3",key:"s0042v"}],["path",{d:"M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3",key:"9wmeh2"}]]),_C=fs("Tractor",[["path",{d:"m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20",key:"she1j9"}],["path",{d:"M16 18h-5",key:"bq60fd"}],["path",{d:"M18 5a1 1 0 0 0-1 1v5.573",key:"1kv8ia"}],["path",{d:"M3 4h8.129a1 1 0 0 1 .99.863L13 11.246",key:"1q1ert"}],["path",{d:"M4 11V4",key:"9ft8pt"}],["path",{d:"M7 15h.01",key:"k5ht0j"}],["path",{d:"M8 10.1V4",key:"1jgyzo"}],["circle",{cx:"18",cy:"18",r:"2",key:"1emm8v"}],["circle",{cx:"7",cy:"15",r:"5",key:"ddtuc"}]]),LC=fs("TrafficCone",[["path",{d:"M9.3 6.2a4.55 4.55 0 0 0 5.4 0",key:"flyxqv"}],["path",{d:"M7.9 10.7c.9.8 2.4 1.3 4.1 1.3s3.2-.5 4.1-1.3",key:"1nlxxg"}],["path",{d:"M13.9 3.5a1.93 1.93 0 0 0-3.8-.1l-3 10c-.1.2-.1.4-.1.6 0 1.7 2.2 3 5 3s5-1.3 5-3c0-.2 0-.4-.1-.5Z",key:"vz7x1l"}],["path",{d:"m7.5 12.2-4.7 2.7c-.5.3-.8.7-.8 1.1s.3.8.8 1.1l7.6 4.5c.9.5 2.1.5 3 0l7.6-4.5c.7-.3 1-.7 1-1.1s-.3-.8-.8-1.1l-4.7-2.8",key:"1xfzlw"}]]),FC=fs("TrainFrontTunnel",[["path",{d:"M2 22V12a10 10 0 1 1 20 0v10",key:"o0fyp0"}],["path",{d:"M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8",key:"m8q3n9"}],["path",{d:"M10 15h.01",key:"44in9x"}],["path",{d:"M14 15h.01",key:"5mohn5"}],["path",{d:"M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z",key:"hckbmu"}],["path",{d:"m9 19-2 3",key:"iij7hm"}],["path",{d:"m15 19 2 3",key:"npx8sa"}]]),WC=fs("TrainFront",[["path",{d:"M8 3.1V7a4 4 0 0 0 8 0V3.1",key:"1v71zp"}],["path",{d:"m9 15-1-1",key:"1yrq24"}],["path",{d:"m15 15 1-1",key:"1t0d6s"}],["path",{d:"M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z",key:"1p0hjs"}],["path",{d:"m8 19-2 3",key:"13i0xs"}],["path",{d:"m16 19 2 3",key:"xo31yx"}]]),HC=fs("TrainTrack",[["path",{d:"M2 17 17 2",key:"18b09t"}],["path",{d:"m2 14 8 8",key:"1gv9hu"}],["path",{d:"m5 11 8 8",key:"189pqp"}],["path",{d:"m8 8 8 8",key:"1imecy"}],["path",{d:"m11 5 8 8",key:"ummqn6"}],["path",{d:"m14 2 8 8",key:"1vk7dn"}],["path",{d:"M7 22 22 7",key:"15mb1i"}]]),VC=fs("TramFront",[["rect",{width:"16",height:"16",x:"4",y:"3",rx:"2",key:"1wxw4b"}],["path",{d:"M4 11h16",key:"mpoxn0"}],["path",{d:"M12 3v8",key:"1h2ygw"}],["path",{d:"m8 19-2 3",key:"13i0xs"}],["path",{d:"m18 22-2-3",key:"1p0ohu"}],["path",{d:"M8 15h.01",key:"a7atzg"}],["path",{d:"M16 15h.01",key:"rnfrdf"}]]),BC=fs("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),GC=fs("Trash",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]]),UC=fs("TreeDeciduous",[["path",{d:"M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z",key:"oadzkq"}],["path",{d:"M12 19v3",key:"npa21l"}]]),$C=fs("TreePalm",[["path",{d:"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4",key:"foxbe7"}],["path",{d:"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3",key:"18arnh"}],["path",{d:"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35",key:"ywahnh"}],["path",{d:"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14",key:"ft0feo"}]]),YC=fs("TreePine",[["path",{d:"m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z",key:"cpyugq"}],["path",{d:"M12 22v-3",key:"kmzjlo"}]]),KC=fs("Trees",[["path",{d:"M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z",key:"1l6gj6"}],["path",{d:"M7 16v6",key:"1a82de"}],["path",{d:"M13 19v3",key:"13sx9i"}],["path",{d:"M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5",key:"1sj9kv"}]]),QC=fs("Trello",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["rect",{width:"3",height:"9",x:"7",y:"7",key:"14n3xi"}],["rect",{width:"3",height:"5",x:"14",y:"7",key:"s4azjd"}]]),ZC=fs("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]]),JC=fs("TrendingUpDown",[["path",{d:"M14.828 14.828 21 21",key:"ar5fw7"}],["path",{d:"M21 16v5h-5",key:"1ck2sf"}],["path",{d:"m21 3-9 9-4-4-6 6",key:"1h02xo"}],["path",{d:"M21 8V3h-5",key:"1qoq8a"}]]),XC=fs("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]),eI=fs("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),tI=fs("TriangleRight",[["path",{d:"M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z",key:"183wce"}]]),sI=fs("Triangle",[["path",{d:"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"14u9p9"}]]),aI=fs("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]),rI=fs("Truck",[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]]),iI=fs("Turtle",[["path",{d:"m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z",key:"1lbbv7"}],["path",{d:"M4.82 7.9 8 10",key:"m9wose"}],["path",{d:"M15.18 7.9 12 10",key:"p8dp2u"}],["path",{d:"M16.93 10H20a2 2 0 0 1 0 4H2",key:"12nsm7"}]]),nI=fs("TvMinimalPlay",[["path",{d:"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z",key:"1pctta"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}]]),oI=fs("TvMinimal",[["path",{d:"M7 21h10",key:"1b0cd5"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}]]),lI=fs("Tv",[["rect",{width:"20",height:"15",x:"2",y:"7",rx:"2",ry:"2",key:"10ag99"}],["polyline",{points:"17 2 12 7 7 2",key:"11pgbg"}]]),dI=fs("Twitch",[["path",{d:"M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7",key:"c0yzno"}]]),cI=fs("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]),mI=fs("TypeOutline",[["path",{d:"M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z",key:"1reda3"}]]),hI=fs("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]),xI=fs("UmbrellaOff",[["path",{d:"M12 2v1",key:"11qlp1"}],["path",{d:"M15.5 21a1.85 1.85 0 0 1-3.5-1v-8H2a10 10 0 0 1 3.428-6.575",key:"eki10q"}],["path",{d:"M17.5 12H22A10 10 0 0 0 9.004 3.455",key:"n2ayka"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),uI=fs("Umbrella",[["path",{d:"M22 12a10.06 10.06 1 0 0-20 0Z",key:"1teyop"}],["path",{d:"M12 12v8a2 2 0 0 0 4 0",key:"ulpmoc"}],["path",{d:"M12 2v1",key:"11qlp1"}]]),pI=fs("Underline",[["path",{d:"M6 4v6a6 6 0 0 0 12 0V4",key:"9kb039"}],["line",{x1:"4",x2:"20",y1:"20",y2:"20",key:"nun2al"}]]),gI=fs("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),fI=fs("UndoDot",[["path",{d:"M21 17a9 9 0 0 0-15-6.7L3 13",key:"8mp6z9"}],["path",{d:"M3 7v6h6",key:"1v2h90"}],["circle",{cx:"12",cy:"17",r:"1",key:"1ixnty"}]]),yI=fs("Undo",[["path",{d:"M3 7v6h6",key:"1v2h90"}],["path",{d:"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13",key:"1r6uu6"}]]),bI=fs("UnfoldHorizontal",[["path",{d:"M16 12h6",key:"15xry1"}],["path",{d:"M8 12H2",key:"1jqql6"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 8v2",key:"1woqiv"}],["path",{d:"M12 14v2",key:"8jcxud"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m19 15 3-3-3-3",key:"wjy7rq"}],["path",{d:"m5 9-3 3 3 3",key:"j64kie"}]]),vI=fs("UnfoldVertical",[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3 3-3-3",key:"11eu04"}],["path",{d:"m15 5-3-3-3 3",key:"itvq4r"}]]),jI=fs("Ungroup",[["rect",{width:"8",height:"6",x:"5",y:"4",rx:"1",key:"nzclkv"}],["rect",{width:"8",height:"6",x:"11",y:"14",rx:"1",key:"4tytwb"}]]),NI=fs("University",[["circle",{cx:"12",cy:"10",r:"1",key:"1gnqs8"}],["path",{d:"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2",key:"1qj5sn"}],["path",{d:"M6 17v.01",key:"roodi6"}],["path",{d:"M6 13v.01",key:"67c122"}],["path",{d:"M18 17v.01",key:"12ktxm"}],["path",{d:"M18 13v.01",key:"tn1rt1"}],["path",{d:"M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5",key:"11g7fi"}]]),wI=fs("Unlink2",[["path",{d:"M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2",key:"1re2ne"}]]),kI=fs("Unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),MI=fs("Unplug",[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]]),AI=fs("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]),SI=fs("Usb",[["circle",{cx:"10",cy:"7",r:"1",key:"dypaad"}],["circle",{cx:"4",cy:"20",r:"1",key:"22iqad"}],["path",{d:"M4.7 19.3 19 5",key:"1enqfc"}],["path",{d:"m21 3-3 1 2 2Z",key:"d3ov82"}],["path",{d:"M9.26 7.68 5 12l2 5",key:"1esawj"}],["path",{d:"m10 14 5 2 3.5-3.5",key:"v8oal5"}],["path",{d:"m18 12 1-1 1 1-1 1Z",key:"1bh22v"}]]),CI=fs("UserCheck",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["polyline",{points:"16 11 18 13 22 9",key:"1pwet4"}]]),II=fs("UserCog",[["circle",{cx:"18",cy:"15",r:"3",key:"gjjjvw"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M10 15H6a4 4 0 0 0-4 4v2",key:"1nfge6"}],["path",{d:"m21.7 16.4-.9-.3",key:"12j9ji"}],["path",{d:"m15.2 13.9-.9-.3",key:"1fdjdi"}],["path",{d:"m16.6 18.7.3-.9",key:"heedtr"}],["path",{d:"m19.1 12.2.3-.9",key:"1af3ki"}],["path",{d:"m19.6 18.7-.4-1",key:"1x9vze"}],["path",{d:"m16.8 12.3-.4-1",key:"vqeiwj"}],["path",{d:"m14.3 16.6 1-.4",key:"1qlj63"}],["path",{d:"m20.7 13.8 1-.4",key:"1v5t8k"}]]),PI=fs("UserMinus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]),TI=fs("UserPen",[["path",{d:"M11.5 15H7a4 4 0 0 0-4 4v2",key:"15lzij"}],["path",{d:"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1817ys"}],["circle",{cx:"10",cy:"7",r:"4",key:"e45bow"}]]),RI=fs("UserPlus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]),OI=fs("UserRoundCheck",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]),DI=fs("UserRoundCog",[["path",{d:"M2 21a8 8 0 0 1 10.434-7.62",key:"1yezr2"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["path",{d:"m19.5 14.3-.4.9",key:"1eb35c"}],["path",{d:"m16.9 20.8-.4.9",key:"dfjc4z"}],["path",{d:"m21.7 19.5-.9-.4",key:"q4dx6b"}],["path",{d:"m15.2 16.9-.9-.4",key:"1r0w5f"}],["path",{d:"m21.7 16.5-.9.4",key:"1knoei"}],["path",{d:"m15.2 19.1-.9.4",key:"j188fs"}],["path",{d:"m19.5 21.7-.4-.9",key:"1tonu5"}],["path",{d:"m16.9 15.2-.4-.9",key:"699xu"}]]),qI=fs("UserRoundMinus",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 19h-6",key:"vcuq98"}]]),EI=fs("UserRoundPen",[["path",{d:"M2 21a8 8 0 0 1 10.821-7.487",key:"1c8h7z"}],["path",{d:"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"1817ys"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}]]),zI=fs("UserRoundPlus",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M22 19h-6",key:"vcuq98"}]]),_I=fs("UserRoundSearch",[["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M2 21a8 8 0 0 1 10.434-7.62",key:"1yezr2"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["path",{d:"m22 22-1.9-1.9",key:"1e5ubv"}]]),LI=fs("UserRoundX",[["path",{d:"M2 21a8 8 0 0 1 11.873-7",key:"74fkxq"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m17 17 5 5",key:"p7ous7"}],["path",{d:"m22 17-5 5",key:"gqnmv0"}]]),FI=fs("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]),WI=fs("UserSearch",[["circle",{cx:"10",cy:"7",r:"4",key:"e45bow"}],["path",{d:"M10.3 15H7a4 4 0 0 0-4 4v2",key:"3bnktk"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}]]),HI=fs("UserX",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]),VI=fs("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),BI=fs("UsersRound",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),GI=fs("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]),UI=fs("UtensilsCrossed",[["path",{d:"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8",key:"n7qcjb"}],["path",{d:"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7",key:"d0u48b"}],["path",{d:"m2.1 21.8 6.4-6.3",key:"yn04lh"}],["path",{d:"m19 5-7 7",key:"194lzd"}]]),$I=fs("Utensils",[["path",{d:"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2",key:"cjf0a3"}],["path",{d:"M7 2v20",key:"1473qp"}],["path",{d:"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7",key:"j28e5"}]]),YI=fs("UtilityPole",[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M3 3v2",key:"9imdir"}],["path",{d:"M7 3v2",key:"n0os7"}],["path",{d:"M17 3v2",key:"1l2re6"}],["path",{d:"M21 3v2",key:"1duuac"}],["path",{d:"m19 5-7 7-7-7",key:"133zxf"}]]),KI=fs("Variable",[["path",{d:"M8 21s-4-3-4-9 4-9 4-9",key:"uto9ud"}],["path",{d:"M16 3s4 3 4 9-4 9-4 9",key:"4w2vsq"}],["line",{x1:"15",x2:"9",y1:"9",y2:"15",key:"f7djnv"}],["line",{x1:"9",x2:"15",y1:"9",y2:"15",key:"1shsy8"}]]),QI=fs("Vault",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}],["path",{d:"m7.9 7.9 2.7 2.7",key:"hpeyl3"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}],["path",{d:"m13.4 10.6 2.7-2.7",key:"264c1n"}],["circle",{cx:"7.5",cy:"16.5",r:".5",fill:"currentColor",key:"nkw3mc"}],["path",{d:"m7.9 16.1 2.7-2.7",key:"p81g5e"}],["circle",{cx:"16.5",cy:"16.5",r:".5",fill:"currentColor",key:"fubopw"}],["path",{d:"m13.4 13.4 2.7 2.7",key:"abhel3"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),ZI=fs("Vegan",[["path",{d:"M16 8q6 0 6-6-6 0-6 6",key:"qsyyc4"}],["path",{d:"M17.41 3.59a10 10 0 1 0 3 3",key:"41m9h7"}],["path",{d:"M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14",key:"qiv7li"}]]),JI=fs("VenetianMask",[["path",{d:"M18 11c-1.5 0-2.5.5-3 2",key:"1fod00"}],["path",{d:"M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z",key:"d70hit"}],["path",{d:"M6 11c1.5 0 2.5.5 3 2",key:"136fht"}]]),XI=fs("VibrateOff",[["path",{d:"m2 8 2 2-2 2 2 2-2 2",key:"sv1b1"}],["path",{d:"m22 8-2 2 2 2-2 2 2 2",key:"101i4y"}],["path",{d:"M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2",key:"1hbad5"}],["path",{d:"M16 10.34V6c0-.55-.45-1-1-1h-4.34",key:"1x5tf0"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),eP=fs("Vibrate",[["path",{d:"m2 8 2 2-2 2 2 2-2 2",key:"sv1b1"}],["path",{d:"m22 8-2 2 2 2-2 2 2 2",key:"101i4y"}],["rect",{width:"8",height:"14",x:"8",y:"5",rx:"1",key:"1oyrl4"}]]),tP=fs("VideoOff",[["path",{d:"M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196",key:"w8jjjt"}],["path",{d:"M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2",key:"1xawa7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),sP=fs("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),aP=fs("Videotape",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"M2 8h20",key:"d11cs7"}],["circle",{cx:"8",cy:"14",r:"2",key:"1k2qr5"}],["path",{d:"M8 12h8",key:"1wcyev"}],["circle",{cx:"16",cy:"14",r:"2",key:"14k7lr"}]]),rP=fs("View",[["path",{d:"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2",key:"mrq65r"}],["path",{d:"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2",key:"be3xqs"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),iP=fs("Voicemail",[["circle",{cx:"6",cy:"12",r:"4",key:"1ehtga"}],["circle",{cx:"18",cy:"12",r:"4",key:"4vafl8"}],["line",{x1:"6",x2:"18",y1:"16",y2:"16",key:"pmt8us"}]]),nP=fs("Volleyball",[["path",{d:"M11.1 7.1a16.55 16.55 0 0 1 10.9 4",key:"2880wi"}],["path",{d:"M12 12a12.6 12.6 0 0 1-8.7 5",key:"113sja"}],["path",{d:"M16.8 13.6a16.55 16.55 0 0 1-9 7.5",key:"1qmsgl"}],["path",{d:"M20.7 17a12.8 12.8 0 0 0-8.7-5 13.3 13.3 0 0 1 0-10",key:"1bmeqp"}],["path",{d:"M6.3 3.8a16.55 16.55 0 0 0 1.9 11.5",key:"iekzv9"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),oP=fs("Volume1",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}]]),lP=fs("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),dP=fs("VolumeOff",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]),cP=fs("VolumeX",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),mP=fs("Volume",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]]),hP=fs("Vote",[["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}],["path",{d:"M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z",key:"1ezoue"}],["path",{d:"M22 19H2",key:"nuriw5"}]]),xP=fs("WalletCards",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2",key:"4125el"}],["path",{d:"M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21",key:"1dpki6"}]]),uP=fs("WalletMinimal",[["path",{d:"M17 14h.01",key:"7oqj8z"}],["path",{d:"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14",key:"u1rqew"}]]),pP=fs("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]),gP=fs("Wallpaper",[["circle",{cx:"8",cy:"9",r:"2",key:"gjzl9d"}],["path",{d:"m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2",key:"69xh40"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["path",{d:"M12 17v4",key:"1riwvh"}]]),fP=fs("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),yP=fs("Wand",[["path",{d:"M15 4V2",key:"z1p9b7"}],["path",{d:"M15 16v-2",key:"px0unx"}],["path",{d:"M8 9h2",key:"1g203m"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M17.8 11.8 19 13",key:"yihg8r"}],["path",{d:"M15 9h.01",key:"x1ddxp"}],["path",{d:"M17.8 6.2 19 5",key:"fd4us0"}],["path",{d:"m3 21 9-9",key:"1jfql5"}],["path",{d:"M12.2 6.2 11 5",key:"i3da3b"}]]),bP=fs("Warehouse",[["path",{d:"M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z",key:"gksnxg"}],["path",{d:"M6 18h12",key:"9pbo8z"}],["path",{d:"M6 14h12",key:"4cwo0f"}],["rect",{width:"12",height:"12",x:"6",y:"10",key:"apd30q"}]]),vP=fs("WashingMachine",[["path",{d:"M3 6h3",key:"155dbl"}],["path",{d:"M17 6h.01",key:"e2y6kg"}],["rect",{width:"18",height:"20",x:"3",y:"2",rx:"2",key:"od3kk9"}],["circle",{cx:"12",cy:"13",r:"5",key:"nlbqau"}],["path",{d:"M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5",key:"17lach"}]]),jP=fs("Watch",[["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["polyline",{points:"12 10 12 12 13 13",key:"19dquz"}],["path",{d:"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05",key:"18k57s"}],["path",{d:"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05",key:"16ny36"}]]),NP=fs("Waves",[["path",{d:"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"knzxuh"}],["path",{d:"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"2jd2cc"}],["path",{d:"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"rd2r6e"}]]),wP=fs("Waypoints",[["circle",{cx:"12",cy:"4.5",r:"2.5",key:"r5ysbb"}],["path",{d:"m10.2 6.3-3.9 3.9",key:"1nzqf6"}],["circle",{cx:"4.5",cy:"12",r:"2.5",key:"jydg6v"}],["path",{d:"M7 12h10",key:"b7w52i"}],["circle",{cx:"19.5",cy:"12",r:"2.5",key:"1piiel"}],["path",{d:"m13.8 17.7 3.9-3.9",key:"1wyg1y"}],["circle",{cx:"12",cy:"19.5",r:"2.5",key:"13o1pw"}]]),kP=fs("Webcam",[["circle",{cx:"12",cy:"10",r:"8",key:"1gshiw"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 22h10",key:"10w4w3"}],["path",{d:"M12 22v-4",key:"1utk9m"}]]),MP=fs("WebhookOff",[["path",{d:"M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15",key:"1tvl6x"}],["path",{d:"M9 3.4a4 4 0 0 1 6.52.66",key:"q04jfq"}],["path",{d:"m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05",key:"azowf0"}],["path",{d:"M20.3 20.3a4 4 0 0 1-2.3.7",key:"5joiws"}],["path",{d:"M18.6 13a4 4 0 0 1 3.357 3.414",key:"cangb8"}],["path",{d:"m12 6 .6 1",key:"tpjl1n"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),AP=fs("Webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]),SP=fs("Weight",[["circle",{cx:"12",cy:"5",r:"3",key:"rqqgnr"}],["path",{d:"M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z",key:"56o5sh"}]]),CP=fs("WheatOff",[["path",{d:"m2 22 10-10",key:"28ilpk"}],["path",{d:"m16 8-1.17 1.17",key:"1qqm82"}],["path",{d:"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z",key:"1rdhi6"}],["path",{d:"m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97",key:"4wz8re"}],["path",{d:"M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62",key:"rves66"}],["path",{d:"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z",key:"19rau1"}],["path",{d:"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z",key:"tc8ph9"}],["path",{d:"m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98",key:"ak46r"}],["path",{d:"M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28",key:"1tw520"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),IP=fs("Wheat",[["path",{d:"M2 22 16 8",key:"60hf96"}],["path",{d:"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z",key:"1rdhi6"}],["path",{d:"M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z",key:"1sdzmb"}],["path",{d:"M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z",key:"eoatbi"}],["path",{d:"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z",key:"19rau1"}],["path",{d:"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z",key:"tc8ph9"}],["path",{d:"M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z",key:"2m8kc5"}],["path",{d:"M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z",key:"vex3ng"}]]),PP=fs("WholeWord",[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]]),TP=fs("WifiHigh",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),RP=fs("WifiLow",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),OP=fs("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),DP=fs("WifiZero",[["path",{d:"M12 20h.01",key:"zekei9"}]]),qP=fs("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),EP=fs("WindArrowDown",[["path",{d:"M10 2v8",key:"d4bbey"}],["path",{d:"M12.8 21.6A2 2 0 1 0 14 18H2",key:"19kp1d"}],["path",{d:"M17.5 10a2.5 2.5 0 1 1 2 4H2",key:"19kpjc"}],["path",{d:"m6 6 4 4 4-4",key:"k13n16"}]]),zP=fs("Wind",[["path",{d:"M12.8 19.6A2 2 0 1 0 14 16H2",key:"148xed"}],["path",{d:"M17.5 8a2.5 2.5 0 1 1 2 4H2",key:"1u4tom"}],["path",{d:"M9.8 4.4A2 2 0 1 1 11 8H2",key:"75valh"}]]),_P=fs("WineOff",[["path",{d:"M8 22h8",key:"rmew8v"}],["path",{d:"M7 10h3m7 0h-1.343",key:"v48bem"}],["path",{d:"M12 15v7",key:"t2xh3l"}],["path",{d:"M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198",key:"1ymjlu"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),LP=fs("Wine",[["path",{d:"M8 22h8",key:"rmew8v"}],["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M12 15v7",key:"t2xh3l"}],["path",{d:"M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z",key:"10ffi3"}]]),FP=fs("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),WP=fs("Worm",[["path",{d:"m19 12-1.5 3",key:"9bcu4o"}],["path",{d:"M19.63 18.81 22 20",key:"121v98"}],["path",{d:"M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z",key:"1tij6q"}]]),HP=fs("WrapText",[["line",{x1:"3",x2:"21",y1:"6",y2:"6",key:"4m8b97"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["polyline",{points:"16 16 14 18 16 20",key:"1jznyi"}],["line",{x1:"3",x2:"10",y1:"18",y2:"18",key:"1h33wv"}]]),VP=fs("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]),BP=fs("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),GP=fs("Youtube",[["path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17",key:"1q2vi4"}],["path",{d:"m10 15 5-3-5-3z",key:"1jp15x"}]]),UP=fs("ZapOff",[["path",{d:"M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317",key:"193nxd"}],["path",{d:"M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773",key:"27a7lr"}],["path",{d:"M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643",key:"1e0qe9"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),$P=fs("Zap",[["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",key:"1xq2db"}]]),YP=fs("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),KP=fs("ZoomOut",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),QP=Object.freeze(Object.defineProperty({__proto__:null,AArrowDown:ys,AArrowUp:bs,ALargeSmall:vs,Accessibility:js,Activity:Ns,AirVent:ws,Airplay:ks,AlarmClock:Is,AlarmClockCheck:Ms,AlarmClockMinus:As,AlarmClockOff:Ss,AlarmClockPlus:Cs,AlarmSmoke:Ps,Album:Ts,AlignCenter:Ds,AlignCenterHorizontal:Rs,AlignCenterVertical:Os,AlignEndHorizontal:qs,AlignEndVertical:Es,AlignHorizontalDistributeCenter:zs,AlignHorizontalDistributeEnd:_s,AlignHorizontalDistributeStart:Ls,AlignHorizontalJustifyCenter:Fs,AlignHorizontalJustifyEnd:Ws,AlignHorizontalJustifyStart:Hs,AlignHorizontalSpaceAround:Vs,AlignHorizontalSpaceBetween:Bs,AlignJustify:Gs,AlignLeft:Us,AlignRight:$s,AlignStartHorizontal:Ys,AlignStartVertical:Ks,AlignVerticalDistributeCenter:Qs,AlignVerticalDistributeEnd:Zs,AlignVerticalDistributeStart:Js,AlignVerticalJustifyCenter:Xs,AlignVerticalJustifyEnd:ea,AlignVerticalJustifyStart:ta,AlignVerticalSpaceAround:sa,AlignVerticalSpaceBetween:aa,Ambulance:ra,Ampersand:ia,Ampersands:na,Amphora:oa,Anchor:la,Angry:da,Annoyed:ca,Antenna:ma,Anvil:ha,Aperture:xa,AppWindow:pa,AppWindowMac:ua,Apple:ga,Archive:ba,ArchiveRestore:fa,ArchiveX:ya,Armchair:va,ArrowBigDown:Na,ArrowBigDownDash:ja,ArrowBigLeft:ka,ArrowBigLeftDash:wa,ArrowBigRight:Aa,ArrowBigRightDash:Ma,ArrowBigUp:Ca,ArrowBigUpDash:Sa,ArrowDown:Wa,ArrowDown01:Ia,ArrowDown10:Pa,ArrowDownAZ:Ta,ArrowDownFromLine:Ra,ArrowDownLeft:Oa,ArrowDownNarrowWide:Da,ArrowDownRight:qa,ArrowDownToDot:Ea,ArrowDownToLine:za,ArrowDownUp:_a,ArrowDownWideNarrow:La,ArrowDownZA:Fa,ArrowLeft:Ga,ArrowLeftFromLine:Ha,ArrowLeftRight:Va,ArrowLeftToLine:Ba,ArrowRight:Ka,ArrowRightFromLine:Ua,ArrowRightLeft:$a,ArrowRightToLine:Ya,ArrowUp:lr,ArrowUp01:Qa,ArrowUp10:Za,ArrowUpAZ:Ja,ArrowUpDown:Xa,ArrowUpFromDot:er,ArrowUpFromLine:tr,ArrowUpLeft:sr,ArrowUpNarrowWide:ar,ArrowUpRight:rr,ArrowUpToLine:ir,ArrowUpWideNarrow:nr,ArrowUpZA:or,ArrowsUpFromLine:dr,Asterisk:cr,AtSign:mr,Atom:hr,AudioLines:xr,AudioWaveform:ur,Award:pr,Axe:gr,Axis3d:fr,Baby:yr,Backpack:br,Badge:Er,BadgeAlert:vr,BadgeCent:jr,BadgeCheck:Nr,BadgeDollarSign:wr,BadgeEuro:kr,BadgeHelp:Mr,BadgeIndianRupee:Ar,BadgeInfo:Sr,BadgeJapaneseYen:Cr,BadgeMinus:Ir,BadgePercent:Pr,BadgePlus:Tr,BadgePoundSterling:Rr,BadgeRussianRuble:Or,BadgeSwissFranc:Dr,BadgeX:qr,BaggageClaim:zr,Ban:_r,Banana:Lr,Bandage:Fr,Banknote:Wr,Barcode:Hr,Baseline:Vr,Bath:Br,Battery:Qr,BatteryCharging:Gr,BatteryFull:Ur,BatteryLow:$r,BatteryMedium:Yr,BatteryWarning:Kr,Beaker:Zr,Bean:Xr,BeanOff:Jr,Bed:si,BedDouble:ei,BedSingle:ti,Beef:ai,Beer:ii,BeerOff:ri,Bell:hi,BellDot:ni,BellElectric:oi,BellMinus:li,BellOff:di,BellPlus:ci,BellRing:mi,BetweenHorizontalEnd:xi,BetweenHorizontalStart:ui,BetweenVerticalEnd:pi,BetweenVerticalStart:gi,BicepsFlexed:fi,Bike:yi,Binary:bi,Binoculars:vi,Biohazard:ji,Bird:Ni,Bitcoin:wi,Blend:ki,Blinds:Mi,Blocks:Ai,Bluetooth:Pi,BluetoothConnected:Si,BluetoothOff:Ci,BluetoothSearching:Ii,Bold:Ti,Bolt:Ri,Bomb:Oi,Bone:Di,Book:rn,BookA:qi,BookAudio:Ei,BookCheck:zi,BookCopy:_i,BookDashed:Li,BookDown:Fi,BookHeadphones:Wi,BookHeart:Hi,BookImage:Vi,BookKey:Bi,BookLock:Gi,BookMarked:Ui,BookMinus:$i,BookOpen:Qi,BookOpenCheck:Yi,BookOpenText:Ki,BookPlus:Zi,BookText:Ji,BookType:Xi,BookUp:tn,BookUp2:en,BookUser:sn,BookX:an,Bookmark:cn,BookmarkCheck:nn,BookmarkMinus:on,BookmarkPlus:ln,BookmarkX:dn,BoomBox:mn,Bot:un,BotMessageSquare:hn,BotOff:xn,Box:pn,Boxes:gn,Braces:fn,Brackets:yn,Brain:jn,BrainCircuit:bn,BrainCog:vn,BrickWall:Nn,Briefcase:An,BriefcaseBusiness:wn,BriefcaseConveyorBelt:kn,BriefcaseMedical:Mn,BringToFront:Sn,Brush:Cn,Bug:Tn,BugOff:In,BugPlay:Pn,Building:On,Building2:Rn,Bus:qn,BusFront:Dn,Cable:zn,CableCar:En,Cake:Ln,CakeSlice:_n,Calculator:Fn,Calendar:oo,Calendar1:Wn,CalendarArrowDown:Hn,CalendarArrowUp:Vn,CalendarCheck:Gn,CalendarCheck2:Bn,CalendarClock:Un,CalendarCog:$n,CalendarDays:Yn,CalendarFold:Kn,CalendarHeart:Qn,CalendarMinus:Jn,CalendarMinus2:Zn,CalendarOff:Xn,CalendarPlus:to,CalendarPlus2:eo,CalendarRange:so,CalendarSearch:ao,CalendarSync:ro,CalendarX:no,CalendarX2:io,Camera:co,CameraOff:lo,Candy:xo,CandyCane:mo,CandyOff:ho,Cannabis:uo,Captions:go,CaptionsOff:po,Car:bo,CarFront:fo,CarTaxiFront:yo,Caravan:vo,Carrot:jo,CaseLower:No,CaseSensitive:wo,CaseUpper:ko,CassetteTape:Mo,Cast:Ao,Castle:So,Cat:Co,Cctv:Io,ChartArea:Po,ChartBar:qo,ChartBarBig:To,ChartBarDecreasing:Ro,ChartBarIncreasing:Oo,ChartBarStacked:Do,ChartCandlestick:Eo,ChartColumn:Wo,ChartColumnBig:zo,ChartColumnDecreasing:_o,ChartColumnIncreasing:Lo,ChartColumnStacked:Fo,ChartGantt:Ho,ChartLine:Vo,ChartNetwork:Bo,ChartNoAxesColumn:$o,ChartNoAxesColumnDecreasing:Go,ChartNoAxesColumnIncreasing:Uo,ChartNoAxesCombined:Yo,ChartNoAxesGantt:Ko,ChartPie:Qo,ChartScatter:Zo,ChartSpline:Jo,Check:el,CheckCheck:Xo,ChefHat:tl,Cherry:sl,ChevronDown:al,ChevronFirst:rl,ChevronLast:il,ChevronLeft:nl,ChevronRight:ol,ChevronUp:ll,ChevronsDown:cl,ChevronsDownUp:dl,ChevronsLeft:xl,ChevronsLeftRight:hl,ChevronsLeftRightEllipsis:ml,ChevronsRight:pl,ChevronsRightLeft:ul,ChevronsUp:fl,ChevronsUpDown:gl,Chrome:yl,Church:bl,Cigarette:jl,CigaretteOff:vl,Circle:dd,CircleAlert:Nl,CircleArrowDown:wl,CircleArrowLeft:kl,CircleArrowOutDownLeft:Ml,CircleArrowOutDownRight:Al,CircleArrowOutUpLeft:Sl,CircleArrowOutUpRight:Cl,CircleArrowRight:Il,CircleArrowUp:Pl,CircleCheck:Rl,CircleCheckBig:Tl,CircleChevronDown:Ol,CircleChevronLeft:Dl,CircleChevronRight:ql,CircleChevronUp:El,CircleDashed:zl,CircleDivide:_l,CircleDollarSign:Ll,CircleDot:Wl,CircleDotDashed:Fl,CircleEllipsis:Hl,CircleEqual:Vl,CircleFadingArrowUp:Bl,CircleFadingPlus:Gl,CircleGauge:Ul,CircleHelp:$l,CircleMinus:Yl,CircleOff:Kl,CircleParking:Zl,CircleParkingOff:Ql,CirclePause:Jl,CirclePercent:Xl,CirclePlay:ed,CirclePlus:td,CirclePower:sd,CircleSlash:rd,CircleSlash2:ad,CircleStop:id,CircleUser:od,CircleUserRound:nd,CircleX:ld,CircuitBoard:cd,Citrus:md,Clapperboard:hd,Clipboard:wd,ClipboardCheck:xd,ClipboardCopy:ud,ClipboardList:pd,ClipboardMinus:gd,ClipboardPaste:fd,ClipboardPen:bd,ClipboardPenLine:yd,ClipboardPlus:vd,ClipboardType:jd,ClipboardX:Nd,Clock:Ld,Clock1:kd,Clock10:Md,Clock11:Ad,Clock12:Sd,Clock2:Cd,Clock3:Id,Clock4:Pd,Clock5:Td,Clock6:Rd,Clock7:Od,Clock8:Dd,Clock9:qd,ClockAlert:Ed,ClockArrowDown:zd,ClockArrowUp:_d,Cloud:sc,CloudAlert:Fd,CloudCog:Wd,CloudDownload:Hd,CloudDrizzle:Vd,CloudFog:Bd,CloudHail:Gd,CloudLightning:Ud,CloudMoon:Yd,CloudMoonRain:$d,CloudOff:Kd,CloudRain:Zd,CloudRainWind:Qd,CloudSnow:Jd,CloudSun:ec,CloudSunRain:Xd,CloudUpload:tc,Cloudy:ac,Clover:rc,Club:ic,Code:oc,CodeXml:nc,Codepen:lc,Codesandbox:dc,Coffee:cc,Cog:mc,Coins:hc,Columns2:xc,Columns3:uc,Columns4:pc,Combine:gc,Command:fc,Compass:yc,Component:bc,Computer:vc,ConciergeBell:jc,Cone:Nc,Construction:wc,Contact:Mc,ContactRound:kc,Container:Ac,Contrast:Sc,Cookie:Cc,CookingPot:Ic,Copy:qc,CopyCheck:Pc,CopyMinus:Tc,CopyPlus:Rc,CopySlash:Oc,CopyX:Dc,Copyleft:Ec,Copyright:zc,CornerDownLeft:_c,CornerDownRight:Lc,CornerLeftDown:Fc,CornerLeftUp:Wc,CornerRightDown:Hc,CornerRightUp:Vc,CornerUpLeft:Bc,CornerUpRight:Gc,Cpu:Uc,CreativeCommons:$c,CreditCard:Yc,Croissant:Kc,Crop:Qc,Cross:Zc,Crosshair:Jc,Crown:Xc,Cuboid:em,CupSoda:tm,Currency:sm,Cylinder:am,Dam:rm,Database:om,DatabaseBackup:im,DatabaseZap:nm,Delete:lm,Dessert:dm,Diameter:cm,Diamond:um,DiamondMinus:mm,DiamondPercent:hm,DiamondPlus:xm,Dice1:pm,Dice2:gm,Dice3:fm,Dice4:ym,Dice5:bm,Dice6:vm,Dices:jm,Diff:Nm,Disc:Am,Disc2:wm,Disc3:km,DiscAlbum:Mm,Divide:Sm,Dna:Im,DnaOff:Cm,Dock:Pm,Dog:Tm,DollarSign:Rm,Donut:Om,DoorClosed:Dm,DoorOpen:qm,Dot:Em,Download:zm,DraftingCompass:_m,Drama:Lm,Dribbble:Fm,Drill:Wm,Droplet:Hm,Droplets:Vm,Drum:Bm,Drumstick:Gm,Dumbbell:Um,Ear:Ym,EarOff:$m,Earth:Qm,EarthLock:Km,Eclipse:Zm,Egg:eh,EggFried:Jm,EggOff:Xm,Ellipsis:sh,EllipsisVertical:th,Equal:ih,EqualApproximately:ah,EqualNot:rh,Eraser:nh,EthernetPort:oh,Euro:lh,Expand:dh,ExternalLink:ch,Eye:xh,EyeClosed:mh,EyeOff:hh,Facebook:uh,Factory:ph,Fan:gh,FastForward:fh,Feather:yh,Fence:bh,FerrisWheel:vh,Figma:jh,File:Ax,FileArchive:Nh,FileAudio:kh,FileAudio2:wh,FileAxis3d:Mh,FileBadge:Sh,FileBadge2:Ah,FileBox:Ch,FileChartColumn:Ph,FileChartColumnIncreasing:Ih,FileChartLine:Th,FileChartPie:Rh,FileCheck:Dh,FileCheck2:Oh,FileClock:qh,FileCode:zh,FileCode2:Eh,FileCog:_h,FileDiff:Lh,FileDigit:Fh,FileDown:Wh,FileHeart:Hh,FileImage:Vh,FileInput:Bh,FileJson:Uh,FileJson2:Gh,FileKey:Yh,FileKey2:$h,FileLock:Qh,FileLock2:Kh,FileMinus:Jh,FileMinus2:Zh,FileMusic:Xh,FileOutput:ex,FilePen:sx,FilePenLine:tx,FilePlus:rx,FilePlus2:ax,FileQuestion:ix,FileScan:nx,FileSearch:lx,FileSearch2:ox,FileSliders:dx,FileSpreadsheet:cx,FileStack:mx,FileSymlink:hx,FileTerminal:xx,FileText:ux,FileType:gx,FileType2:px,FileUp:fx,FileUser:yx,FileVideo:vx,FileVideo2:bx,FileVolume:Nx,FileVolume2:jx,FileWarning:wx,FileX:Mx,FileX2:kx,Files:Sx,Film:Cx,Filter:Px,FilterX:Ix,Fingerprint:Tx,FireExtinguisher:Rx,Fish:qx,FishOff:Ox,FishSymbol:Dx,Flag:Lx,FlagOff:Ex,FlagTriangleLeft:zx,FlagTriangleRight:_x,Flame:Wx,FlameKindling:Fx,Flashlight:Vx,FlashlightOff:Hx,FlaskConical:Gx,FlaskConicalOff:Bx,FlaskRound:Ux,FlipHorizontal:Yx,FlipHorizontal2:$x,FlipVertical:Qx,FlipVertical2:Kx,Flower:Jx,Flower2:Zx,Focus:Xx,FoldHorizontal:eu,FoldVertical:tu,Folder:Tu,FolderArchive:su,FolderCheck:au,FolderClock:ru,FolderClosed:iu,FolderCode:nu,FolderCog:ou,FolderDot:lu,FolderDown:du,FolderGit:mu,FolderGit2:cu,FolderHeart:hu,FolderInput:xu,FolderKanban:uu,FolderKey:pu,FolderLock:gu,FolderMinus:fu,FolderOpen:bu,FolderOpenDot:yu,FolderOutput:vu,FolderPen:ju,FolderPlus:Nu,FolderRoot:wu,FolderSearch:Mu,FolderSearch2:ku,FolderSymlink:Au,FolderSync:Su,FolderTree:Cu,FolderUp:Iu,FolderX:Pu,Folders:Ru,Footprints:Ou,Forklift:Du,Forward:qu,Frame:Eu,Framer:zu,Frown:_u,Fuel:Lu,Fullscreen:Fu,GalleryHorizontal:Hu,GalleryHorizontalEnd:Wu,GalleryThumbnails:Vu,GalleryVertical:Gu,GalleryVerticalEnd:Bu,Gamepad:$u,Gamepad2:Uu,Gauge:Yu,Gavel:Ku,Gem:Qu,Ghost:Zu,Gift:Ju,GitBranch:ep,GitBranchPlus:Xu,GitCommitHorizontal:tp,GitCommitVertical:sp,GitCompare:rp,GitCompareArrows:ap,GitFork:ip,GitGraph:np,GitMerge:op,GitPullRequest:xp,GitPullRequestArrow:lp,GitPullRequestClosed:dp,GitPullRequestCreate:mp,GitPullRequestCreateArrow:cp,GitPullRequestDraft:hp,Github:up,Gitlab:pp,GlassWater:gp,Glasses:fp,Globe:bp,GlobeLock:yp,Goal:vp,Grab:jp,GraduationCap:Np,Grape:wp,Grid2x2:Sp,Grid2x2Check:kp,Grid2x2Plus:Mp,Grid2x2X:Ap,Grid3x3:Cp,Grip:Tp,GripHorizontal:Ip,GripVertical:Pp,Group:Rp,Guitar:Op,Ham:Dp,Hammer:qp,Hand:Wp,HandCoins:Ep,HandHeart:zp,HandHelping:_p,HandMetal:Lp,HandPlatter:Fp,Handshake:Hp,HardDrive:Gp,HardDriveDownload:Vp,HardDriveUpload:Bp,HardHat:Up,Hash:$p,Haze:Yp,HdmiPort:Kp,Heading:sg,Heading1:Qp,Heading2:Zp,Heading3:Jp,Heading4:Xp,Heading5:eg,Heading6:tg,HeadphoneOff:ag,Headphones:rg,Headset:ig,Heart:cg,HeartCrack:ng,HeartHandshake:og,HeartOff:lg,HeartPulse:dg,Heater:mg,Hexagon:hg,Highlighter:xg,History:ug,Hop:gg,HopOff:pg,Hospital:fg,Hotel:yg,Hourglass:bg,House:Ng,HousePlug:vg,HousePlus:jg,IceCreamBowl:wg,IceCreamCone:kg,IdCard:Mg,Image:Og,ImageDown:Ag,ImageMinus:Sg,ImageOff:Cg,ImagePlay:Ig,ImagePlus:Pg,ImageUp:Tg,ImageUpscale:Rg,Images:Dg,Import:qg,Inbox:Eg,IndentDecrease:zg,IndentIncrease:_g,IndianRupee:Lg,Infinity:Fg,Info:Wg,InspectionPanel:Hg,Instagram:Vg,Italic:Bg,IterationCcw:Gg,IterationCw:Ug,JapaneseYen:$g,Joystick:Yg,Kanban:Kg,Key:Jg,KeyRound:Qg,KeySquare:Zg,Keyboard:tf,KeyboardMusic:Xg,KeyboardOff:ef,Lamp:lf,LampCeiling:sf,LampDesk:af,LampFloor:rf,LampWallDown:nf,LampWallUp:of,LandPlot:df,Landmark:cf,Languages:mf,Laptop:uf,LaptopMinimal:xf,LaptopMinimalCheck:hf,Lasso:gf,LassoSelect:pf,Laugh:ff,Layers:vf,Layers2:yf,Layers3:bf,LayoutDashboard:jf,LayoutGrid:Nf,LayoutList:wf,LayoutPanelLeft:kf,LayoutPanelTop:Mf,LayoutTemplate:Af,Leaf:Sf,LeafyGreen:Cf,Lectern:If,LetterText:Pf,Library:Rf,LibraryBig:Tf,LifeBuoy:Of,Ligature:Df,Lightbulb:Ef,LightbulbOff:qf,Link:Lf,Link2:_f,Link2Off:zf,Linkedin:Ff,List:sy,ListCheck:Wf,ListChecks:Hf,ListCollapse:Vf,ListEnd:Bf,ListFilter:Gf,ListMinus:Uf,ListMusic:$f,ListOrdered:Yf,ListPlus:Kf,ListRestart:Qf,ListStart:Zf,ListTodo:Jf,ListTree:Xf,ListVideo:ey,ListX:ty,Loader:iy,LoaderCircle:ay,LoaderPinwheel:ry,Locate:ly,LocateFixed:ny,LocateOff:oy,Lock:hy,LockKeyhole:cy,LockKeyholeOpen:dy,LockOpen:my,LogIn:xy,LogOut:uy,Logs:py,Lollipop:gy,Luggage:fy,Magnet:yy,Mail:Sy,MailCheck:by,MailMinus:vy,MailOpen:jy,MailPlus:Ny,MailQuestion:wy,MailSearch:ky,MailWarning:My,MailX:Ay,Mailbox:Cy,Mails:Iy,Map:Hy,MapPin:Fy,MapPinCheck:Ty,MapPinCheckInside:Py,MapPinHouse:Ry,MapPinMinus:Dy,MapPinMinusInside:Oy,MapPinOff:qy,MapPinPlus:zy,MapPinPlusInside:Ey,MapPinX:Ly,MapPinXInside:_y,MapPinned:Wy,Martini:Vy,Maximize:Gy,Maximize2:By,Medal:Uy,Megaphone:Yy,MegaphoneOff:$y,Meh:Ky,MemoryStick:Qy,Menu:Zy,Merge:Jy,MessageCircle:db,MessageCircleCode:Xy,MessageCircleDashed:eb,MessageCircleHeart:tb,MessageCircleMore:sb,MessageCircleOff:ab,MessageCirclePlus:rb,MessageCircleQuestion:ib,MessageCircleReply:nb,MessageCircleWarning:ob,MessageCircleX:lb,MessageSquare:Mb,MessageSquareCode:cb,MessageSquareDashed:mb,MessageSquareDiff:hb,MessageSquareDot:xb,MessageSquareHeart:ub,MessageSquareLock:pb,MessageSquareMore:gb,MessageSquareOff:fb,MessageSquarePlus:yb,MessageSquareQuote:bb,MessageSquareReply:vb,MessageSquareShare:jb,MessageSquareText:Nb,MessageSquareWarning:wb,MessageSquareX:kb,MessagesSquare:Ab,Mic:Ib,MicOff:Sb,MicVocal:Cb,Microchip:Pb,Microscope:Tb,Microwave:Rb,Milestone:Ob,Milk:qb,MilkOff:Db,Minimize:zb,Minimize2:Eb,Minus:_b,Monitor:Zb,MonitorCheck:Lb,MonitorCog:Fb,MonitorDot:Wb,MonitorDown:Hb,MonitorOff:Vb,MonitorPause:Bb,MonitorPlay:Gb,MonitorSmartphone:Ub,MonitorSpeaker:$b,MonitorStop:Yb,MonitorUp:Kb,MonitorX:Qb,Moon:Xb,MoonStar:Jb,Mountain:tv,MountainSnow:ev,Mouse:ov,MouseOff:sv,MousePointer:nv,MousePointer2:av,MousePointerBan:rv,MousePointerClick:iv,Move:jv,Move3d:lv,MoveDiagonal:cv,MoveDiagonal2:dv,MoveDown:xv,MoveDownLeft:mv,MoveDownRight:hv,MoveHorizontal:uv,MoveLeft:pv,MoveRight:gv,MoveUp:bv,MoveUpLeft:fv,MoveUpRight:yv,MoveVertical:vv,Music:Mv,Music2:Nv,Music3:wv,Music4:kv,Navigation:Iv,Navigation2:Sv,Navigation2Off:Av,NavigationOff:Cv,Network:Pv,Newspaper:Tv,Nfc:Rv,Notebook:Ev,NotebookPen:Ov,NotebookTabs:Dv,NotebookText:qv,NotepadText:_v,NotepadTextDashed:zv,Nut:Fv,NutOff:Lv,Octagon:Gv,OctagonAlert:Wv,OctagonMinus:Hv,OctagonPause:Vv,OctagonX:Bv,Omega:Uv,Option:$v,Orbit:Yv,Origami:Kv,Package:aj,Package2:Qv,PackageCheck:Zv,PackageMinus:Jv,PackageOpen:Xv,PackagePlus:ej,PackageSearch:tj,PackageX:sj,PaintBucket:rj,PaintRoller:ij,Paintbrush:oj,PaintbrushVertical:nj,Palette:lj,PanelBottom:hj,PanelBottomClose:dj,PanelBottomDashed:cj,PanelBottomOpen:mj,PanelLeft:gj,PanelLeftClose:xj,PanelLeftDashed:uj,PanelLeftOpen:pj,PanelRight:vj,PanelRightClose:fj,PanelRightDashed:yj,PanelRightOpen:bj,PanelTop:kj,PanelTopClose:jj,PanelTopDashed:Nj,PanelTopOpen:wj,PanelsLeftBottom:Mj,PanelsRightBottom:Aj,PanelsTopLeft:Sj,Paperclip:Cj,Parentheses:Ij,ParkingMeter:Pj,PartyPopper:Tj,Pause:Rj,PawPrint:Oj,PcCase:Dj,Pen:_j,PenLine:qj,PenOff:Ej,PenTool:zj,Pencil:Hj,PencilLine:Lj,PencilOff:Fj,PencilRuler:Wj,Pentagon:Vj,Percent:Bj,PersonStanding:Gj,PhilippinePeso:Uj,Phone:Xj,PhoneCall:$j,PhoneForwarded:Yj,PhoneIncoming:Kj,PhoneMissed:Qj,PhoneOff:Zj,PhoneOutgoing:Jj,Pi:eN,Piano:tN,Pickaxe:sN,PictureInPicture:rN,PictureInPicture2:aN,PiggyBank:iN,Pilcrow:lN,PilcrowLeft:nN,PilcrowRight:oN,Pill:cN,PillBottle:dN,Pin:hN,PinOff:mN,Pipette:xN,Pizza:uN,Plane:fN,PlaneLanding:pN,PlaneTakeoff:gN,Play:yN,Plug:jN,Plug2:bN,PlugZap:vN,Plus:NN,Pocket:kN,PocketKnife:wN,Podcast:MN,Pointer:SN,PointerOff:AN,Popcorn:CN,Popsicle:IN,PoundSterling:PN,Power:RN,PowerOff:TN,Presentation:ON,Printer:qN,PrinterCheck:DN,Projector:EN,Proportions:zN,Puzzle:_N,Pyramid:LN,QrCode:FN,Quote:WN,Rabbit:HN,Radar:VN,Radiation:BN,Radical:GN,Radio:YN,RadioReceiver:UN,RadioTower:$N,Radius:KN,RailSymbol:QN,Rainbow:ZN,Rat:JN,Ratio:XN,Receipt:lw,ReceiptCent:ew,ReceiptEuro:tw,ReceiptIndianRupee:sw,ReceiptJapaneseYen:aw,ReceiptPoundSterling:rw,ReceiptRussianRuble:iw,ReceiptSwissFranc:nw,ReceiptText:ow,RectangleEllipsis:dw,RectangleHorizontal:cw,RectangleVertical:mw,Recycle:hw,Redo:pw,Redo2:xw,RedoDot:uw,RefreshCcw:fw,RefreshCcwDot:gw,RefreshCw:bw,RefreshCwOff:yw,Refrigerator:vw,Regex:jw,RemoveFormatting:Nw,Repeat:Mw,Repeat1:ww,Repeat2:kw,Replace:Sw,ReplaceAll:Aw,Reply:Iw,ReplyAll:Cw,Rewind:Pw,Ribbon:Tw,Rocket:Rw,RockingChair:Ow,RollerCoaster:Dw,Rotate3d:qw,RotateCcw:zw,RotateCcwSquare:Ew,RotateCw:Lw,RotateCwSquare:_w,Route:Ww,RouteOff:Fw,Router:Hw,Rows2:Vw,Rows3:Bw,Rows4:Gw,Rss:Uw,Ruler:$w,RussianRuble:Yw,Sailboat:Kw,Salad:Qw,Sandwich:Zw,Satellite:Xw,SatelliteDish:Jw,Save:sk,SaveAll:ek,SaveOff:tk,Scale:rk,Scale3d:ak,Scaling:ik,Scan:xk,ScanBarcode:nk,ScanEye:ok,ScanFace:lk,ScanLine:dk,ScanQrCode:ck,ScanSearch:mk,ScanText:hk,School:uk,Scissors:gk,ScissorsLineDashed:pk,ScreenShare:yk,ScreenShareOff:fk,Scroll:vk,ScrollText:bk,Search:Mk,SearchCheck:jk,SearchCode:Nk,SearchSlash:wk,SearchX:kk,Section:Ak,Send:Ik,SendHorizontal:Sk,SendToBack:Ck,SeparatorHorizontal:Pk,SeparatorVertical:Tk,Server:qk,ServerCog:Rk,ServerCrash:Ok,ServerOff:Dk,Settings:zk,Settings2:Ek,Shapes:_k,Share:Fk,Share2:Lk,Sheet:Wk,Shell:Hk,Shield:Xk,ShieldAlert:Vk,ShieldBan:Bk,ShieldCheck:Gk,ShieldEllipsis:Uk,ShieldHalf:$k,ShieldMinus:Yk,ShieldOff:Kk,ShieldPlus:Qk,ShieldQuestion:Zk,ShieldX:Jk,Ship:tM,ShipWheel:eM,Shirt:sM,ShoppingBag:aM,ShoppingBasket:rM,ShoppingCart:iM,Shovel:nM,ShowerHead:oM,Shrink:lM,Shrub:dM,Shuffle:cM,Sigma:mM,Signal:gM,SignalHigh:hM,SignalLow:xM,SignalMedium:uM,SignalZero:pM,Signature:fM,Signpost:bM,SignpostBig:yM,Siren:vM,SkipBack:jM,SkipForward:NM,Skull:wM,Slack:kM,Slash:MM,Slice:AM,SlidersHorizontal:SM,SlidersVertical:CM,Smartphone:TM,SmartphoneCharging:IM,SmartphoneNfc:PM,Smile:OM,SmilePlus:RM,Snail:DM,Snowflake:qM,Sofa:EM,Soup:zM,Space:_M,Spade:LM,Sparkle:FM,Sparkles:WM,Speaker:HM,Speech:VM,SpellCheck:GM,SpellCheck2:BM,Spline:UM,Split:$M,SprayCan:YM,Sprout:KM,Square:tS,SquareActivity:QM,SquareArrowDown:XM,SquareArrowDownLeft:ZM,SquareArrowDownRight:JM,SquareArrowLeft:eA,SquareArrowOutDownLeft:tA,SquareArrowOutDownRight:sA,SquareArrowOutUpLeft:aA,SquareArrowOutUpRight:rA,SquareArrowRight:iA,SquareArrowUp:lA,SquareArrowUpLeft:nA,SquareArrowUpRight:oA,SquareAsterisk:dA,SquareBottomDashedScissors:cA,SquareChartGantt:mA,SquareCheck:xA,SquareCheckBig:hA,SquareChevronDown:uA,SquareChevronLeft:pA,SquareChevronRight:gA,SquareChevronUp:fA,SquareCode:yA,SquareDashed:wA,SquareDashedBottom:vA,SquareDashedBottomCode:bA,SquareDashedKanban:jA,SquareDashedMousePointer:NA,SquareDivide:kA,SquareDot:MA,SquareEqual:AA,SquareFunction:SA,SquareKanban:CA,SquareLibrary:IA,SquareM:PA,SquareMenu:TA,SquareMinus:RA,SquareMousePointer:OA,SquareParking:qA,SquareParkingOff:DA,SquarePen:EA,SquarePercent:zA,SquarePi:_A,SquarePilcrow:LA,SquarePlay:FA,SquarePlus:WA,SquarePower:HA,SquareRadical:VA,SquareScissors:BA,SquareSigma:GA,SquareSlash:UA,SquareSplitHorizontal:$A,SquareSplitVertical:YA,SquareSquare:KA,SquareStack:QA,SquareTerminal:ZA,SquareUser:XA,SquareUserRound:JA,SquareX:eS,Squircle:sS,Squirrel:aS,Stamp:rS,Star:oS,StarHalf:iS,StarOff:nS,StepBack:lS,StepForward:dS,Stethoscope:cS,Sticker:mS,StickyNote:hS,Store:xS,StretchHorizontal:uS,StretchVertical:pS,Strikethrough:gS,Subscript:fS,Sun:NS,SunDim:yS,SunMedium:bS,SunMoon:vS,SunSnow:jS,Sunrise:wS,Sunset:kS,Superscript:MS,SwatchBook:AS,SwissFranc:SS,SwitchCamera:CS,Sword:IS,Swords:PS,Syringe:TS,Table:LS,Table2:RS,TableCellsMerge:OS,TableCellsSplit:DS,TableColumnsSplit:qS,TableOfContents:ES,TableProperties:zS,TableRowsSplit:_S,Tablet:WS,TabletSmartphone:FS,Tablets:HS,Tag:VS,Tags:BS,Tally1:GS,Tally2:US,Tally3:$S,Tally4:YS,Tally5:KS,Tangent:QS,Target:ZS,Telescope:JS,Tent:eC,TentTree:XS,Terminal:tC,TestTube:aC,TestTubeDiagonal:sC,TestTubes:rC,Text:cC,TextCursor:nC,TextCursorInput:iC,TextQuote:oC,TextSearch:lC,TextSelect:dC,Theater:mC,Thermometer:uC,ThermometerSnowflake:hC,ThermometerSun:xC,ThumbsDown:pC,ThumbsUp:gC,Ticket:wC,TicketCheck:fC,TicketMinus:yC,TicketPercent:bC,TicketPlus:vC,TicketSlash:jC,TicketX:NC,Tickets:MC,TicketsPlane:kC,Timer:CC,TimerOff:AC,TimerReset:SC,ToggleLeft:IC,ToggleRight:PC,Toilet:TC,Tornado:RC,Torus:OC,Touchpad:qC,TouchpadOff:DC,TowerControl:EC,ToyBrick:zC,Tractor:_C,TrafficCone:LC,TrainFront:WC,TrainFrontTunnel:FC,TrainTrack:HC,TramFront:VC,Trash:GC,Trash2:BC,TreeDeciduous:UC,TreePalm:$C,TreePine:YC,Trees:KC,Trello:QC,TrendingDown:ZC,TrendingUp:XC,TrendingUpDown:JC,Triangle:sI,TriangleAlert:eI,TriangleRight:tI,Trophy:aI,Truck:rI,Turtle:iI,Tv:lI,TvMinimal:oI,TvMinimalPlay:nI,Twitch:dI,Twitter:cI,Type:hI,TypeOutline:mI,Umbrella:uI,UmbrellaOff:xI,Underline:pI,Undo:yI,Undo2:gI,UndoDot:fI,UnfoldHorizontal:bI,UnfoldVertical:vI,Ungroup:jI,University:NI,Unlink:kI,Unlink2:wI,Unplug:MI,Upload:AI,Usb:SI,User:VI,UserCheck:CI,UserCog:II,UserMinus:PI,UserPen:TI,UserPlus:RI,UserRound:FI,UserRoundCheck:OI,UserRoundCog:DI,UserRoundMinus:qI,UserRoundPen:EI,UserRoundPlus:zI,UserRoundSearch:_I,UserRoundX:LI,UserSearch:WI,UserX:HI,Users:GI,UsersRound:BI,Utensils:$I,UtensilsCrossed:UI,UtilityPole:YI,Variable:KI,Vault:QI,Vegan:ZI,VenetianMask:JI,Vibrate:eP,VibrateOff:XI,Video:sP,VideoOff:tP,Videotape:aP,View:rP,Voicemail:iP,Volleyball:nP,Volume:mP,Volume1:oP,Volume2:lP,VolumeOff:dP,VolumeX:cP,Vote:hP,Wallet:pP,WalletCards:xP,WalletMinimal:uP,Wallpaper:gP,Wand:yP,WandSparkles:fP,Warehouse:bP,WashingMachine:vP,Watch:jP,Waves:NP,Waypoints:wP,Webcam:kP,Webhook:AP,WebhookOff:MP,Weight:SP,Wheat:IP,WheatOff:CP,WholeWord:PP,Wifi:qP,WifiHigh:TP,WifiLow:RP,WifiOff:OP,WifiZero:DP,Wind:zP,WindArrowDown:EP,Wine:LP,WineOff:_P,Workflow:FP,Worm:WP,WrapText:HP,Wrench:VP,X:BP,Youtube:GP,Zap:$P,ZapOff:UP,ZoomIn:YP,ZoomOut:KP},Symbol.toStringTag,{value:"Module"})),ZP=e=>{const t=tT(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:e=>{const s=e.split("-");return""===s[0]&&1!==s.length&&s.shift(),JP(s,t)||eT(e)},getConflictingClassGroupIds:(e,t)=>{const r=s[e]||[];return t&&a[e]?[...r,...a[e]]:r}}},JP=(e,t)=>{if(0===e.length)return t.classGroupId;const s=e[0],a=t.nextPart.get(s),r=a?JP(e.slice(1),a):void 0;if(r)return r;if(0===t.validators.length)return;const i=e.join("-");return t.validators.find(({validator:e})=>e(i))?.classGroupId},XP=/^\[(.+)\]$/,eT=e=>{if(XP.test(e)){const t=XP.exec(e)[1],s=t?.substring(0,t.indexOf(":"));if(s)return"arbitrary.."+s}},tT=e=>{const{theme:t,prefix:s}=e,a={nextPart:new Map,validators:[]};return iT(Object.entries(e.classGroups),s).forEach(([e,s])=>{sT(s,a,e,t)}),a},sT=(e,t,s,a)=>{e.forEach(e=>{if("string"==typeof e){return void((""===e?t:aT(t,e)).classGroupId=s)}if("function"==typeof e)return rT(e)?void sT(e(a),t,s,a):void t.validators.push({validator:e,classGroupId:s});Object.entries(e).forEach(([e,r])=>{sT(r,aT(t,e),s,a)})})},aT=(e,t)=>{let s=e;return t.split("-").forEach(e=>{s.nextPart.has(e)||s.nextPart.set(e,{nextPart:new Map,validators:[]}),s=s.nextPart.get(e)}),s},rT=e=>e.isThemeGetter,iT=(e,t)=>t?e.map(([e,s])=>[e,s.map(e=>"string"==typeof e?t+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,s])=>[t+e,s])):e)]):e,nT=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,s=new Map,a=new Map;const r=(r,i)=>{s.set(r,i),t++,t>e&&(t=0,a=s,s=new Map)};return{get(e){let t=s.get(e);return void 0!==t?t:void 0!==(t=a.get(e))?(r(e,t),t):void 0},set(e,t){s.has(e)?s.set(e,t):r(e,t)}}},oT=e=>{const{separator:t,experimentalParseClassName:s}=e,a=1===t.length,r=t[0],i=t.length,n=e=>{const s=[];let n,o=0,l=0;for(let m=0;m<e.length;m++){let d=e[m];if(0===o){if(d===r&&(a||e.slice(m,m+i)===t)){s.push(e.slice(l,m)),l=m+i;continue}if("/"===d){n=m;continue}}"["===d?o++:"]"===d&&o--}const d=0===s.length?e:e.substring(l),c=d.startsWith("!");return{modifiers:s,hasImportantModifier:c,baseClassName:c?d.substring(1):d,maybePostfixModifierPosition:n&&n>l?n-l:void 0}};return s?e=>s({className:e,parseClassName:n}):n},lT=e=>{if(e.length<=1)return e;const t=[];let s=[];return e.forEach(e=>{"["===e[0]?(t.push(...s.sort(),e),s=[]):s.push(e)}),t.push(...s.sort()),t},dT=/\s+/;
/**
 * @license lucide-react v0.462.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */function cT(){let e,t,s=0,a="";for(;s<arguments.length;)(e=arguments[s++])&&(t=mT(e))&&(a&&(a+=" "),a+=t);return a}const mT=e=>{if("string"==typeof e)return e;let t,s="";for(let a=0;a<e.length;a++)e[a]&&(t=mT(e[a]))&&(s&&(s+=" "),s+=t);return s};function hT(e,...t){let s,a,r,i=function(o){const l=t.reduce((e,t)=>t(e),e());return s=(e=>({cache:nT(e.cacheSize),parseClassName:oT(e),...ZP(e)}))(l),a=s.cache.get,r=s.cache.set,i=n,n(o)};function n(e){const t=a(e);if(t)return t;const i=((e,t)=>{const{parseClassName:s,getClassGroupId:a,getConflictingClassGroupIds:r}=t,i=[],n=e.trim().split(dT);let o="";for(let l=n.length-1;l>=0;l-=1){const e=n[l],{modifiers:t,hasImportantModifier:d,baseClassName:c,maybePostfixModifierPosition:m}=s(e);let h=Boolean(m),x=a(h?c.substring(0,m):c);if(!x){if(!h){o=e+(o.length>0?" "+o:o);continue}if(x=a(c),!x){o=e+(o.length>0?" "+o:o);continue}h=!1}const u=lT(t).join(":"),p=d?u+"!":u,g=p+x;if(i.includes(g))continue;i.push(g);const f=r(x,h);for(let s=0;s<f.length;++s){const e=f[s];i.push(p+e)}o=e+(o.length>0?" "+o:o)}return o})(e,s);return r(e,i),i}return function(){return i(cT.apply(null,arguments))}}const xT=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},uT=/^\[(?:([a-z-]+):)?(.+)\]$/i,pT=/^\d+\/\d+$/,gT=new Set(["px","full","screen"]),fT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,yT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,bT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,vT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,jT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,NT=e=>kT(e)||gT.has(e)||pT.test(e),wT=e=>zT(e,"length",_T),kT=e=>Boolean(e)&&!Number.isNaN(Number(e)),MT=e=>zT(e,"number",kT),AT=e=>Boolean(e)&&Number.isInteger(Number(e)),ST=e=>e.endsWith("%")&&kT(e.slice(0,-1)),CT=e=>uT.test(e),IT=e=>fT.test(e),PT=new Set(["length","size","percentage"]),TT=e=>zT(e,PT,LT),RT=e=>zT(e,"position",LT),OT=new Set(["image","url"]),DT=e=>zT(e,OT,WT),qT=e=>zT(e,"",FT),ET=()=>!0,zT=(e,t,s)=>{const a=uT.exec(e);return!!a&&(a[1]?"string"==typeof t?a[1]===t:t.has(a[1]):s(a[2]))},_T=e=>yT.test(e)&&!bT.test(e),LT=()=>!1,FT=e=>vT.test(e),WT=e=>jT.test(e),HT=hT(()=>{const e=xT("colors"),t=xT("spacing"),s=xT("blur"),a=xT("brightness"),r=xT("borderColor"),i=xT("borderRadius"),n=xT("borderSpacing"),o=xT("borderWidth"),l=xT("contrast"),d=xT("grayscale"),c=xT("hueRotate"),m=xT("invert"),h=xT("gap"),x=xT("gradientColorStops"),u=xT("gradientColorStopPositions"),p=xT("inset"),g=xT("margin"),f=xT("opacity"),y=xT("padding"),b=xT("saturate"),v=xT("scale"),j=xT("sepia"),N=xT("skew"),w=xT("space"),k=xT("translate"),M=()=>["auto",CT,t],A=()=>[CT,t],S=()=>["",NT,wT],C=()=>["auto",kT,CT],I=()=>["","0",CT],P=()=>[kT,CT];return{cacheSize:500,separator:":",theme:{colors:[ET],spacing:[NT,wT],blur:["none","",IT,CT],brightness:P(),borderColor:[e],borderRadius:["none","","full",IT,CT],borderSpacing:A(),borderWidth:S(),contrast:P(),grayscale:I(),hueRotate:P(),invert:I(),gap:A(),gradientColorStops:[e],gradientColorStopPositions:[ST,wT],inset:M(),margin:M(),opacity:P(),padding:A(),saturate:P(),scale:P(),sepia:I(),skew:P(),space:A(),translate:A()},classGroups:{aspect:[{aspect:["auto","square","video",CT]}],container:["container"],columns:[{columns:[IT]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",CT]}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[p]}],"inset-x":[{"inset-x":[p]}],"inset-y":[{"inset-y":[p]}],start:[{start:[p]}],end:[{end:[p]}],top:[{top:[p]}],right:[{right:[p]}],bottom:[{bottom:[p]}],left:[{left:[p]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",AT,CT]}],basis:[{basis:M()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",CT]}],grow:[{grow:I()}],shrink:[{shrink:I()}],order:[{order:["first","last","none",AT,CT]}],"grid-cols":[{"grid-cols":[ET]}],"col-start-end":[{col:["auto",{span:["full",AT,CT]},CT]}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":[ET]}],"row-start-end":[{row:["auto",{span:[AT,CT]},CT]}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",CT]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",CT]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal","start","end","center","between","around","evenly","stretch"]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[y]}],px:[{px:[y]}],py:[{py:[y]}],ps:[{ps:[y]}],pe:[{pe:[y]}],pt:[{pt:[y]}],pr:[{pr:[y]}],pb:[{pb:[y]}],pl:[{pl:[y]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[w]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[w]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",CT,t]}],"min-w":[{"min-w":[CT,t,"min","max","fit"]}],"max-w":[{"max-w":[CT,t,"none","full","min","max","fit","prose",{screen:[IT]},IT]}],h:[{h:[CT,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[CT,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[CT,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[CT,t,"auto","min","max","fit"]}],"font-size":[{text:["base",IT,wT]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",MT]}],"font-family":[{font:[ET]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",CT]}],"line-clamp":[{"line-clamp":["none",kT,MT]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",NT,CT]}],"list-image":[{"list-image":["none",CT]}],"list-style-type":[{list:["none","disc","decimal",CT]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[f]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[f]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","none","wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",NT,wT]}],"underline-offset":[{"underline-offset":["auto",NT,CT]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",CT]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",CT]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[f]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",RT]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",TT]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},DT]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[u]}],"gradient-via-pos":[{via:[u]}],"gradient-to-pos":[{to:[u]}],"gradient-from":[{from:[x]}],"gradient-via":[{via:[x]}],"gradient-to":[{to:[x]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[o]}],"border-w-x":[{"border-x":[o]}],"border-w-y":[{"border-y":[o]}],"border-w-s":[{"border-s":[o]}],"border-w-e":[{"border-e":[o]}],"border-w-t":[{"border-t":[o]}],"border-w-r":[{"border-r":[o]}],"border-w-b":[{"border-b":[o]}],"border-w-l":[{"border-l":[o]}],"border-opacity":[{"border-opacity":[f]}],"border-style":[{border:["solid","dashed","dotted","double","none","hidden"]}],"divide-x":[{"divide-x":[o]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[o]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[f]}],"divide-style":[{divide:["solid","dashed","dotted","double","none"]}],"border-color":[{border:[r]}],"border-color-x":[{"border-x":[r]}],"border-color-y":[{"border-y":[r]}],"border-color-s":[{"border-s":[r]}],"border-color-e":[{"border-e":[r]}],"border-color-t":[{"border-t":[r]}],"border-color-r":[{"border-r":[r]}],"border-color-b":[{"border-b":[r]}],"border-color-l":[{"border-l":[r]}],"divide-color":[{divide:[r]}],"outline-style":[{outline:["","solid","dashed","dotted","double","none"]}],"outline-offset":[{"outline-offset":[NT,CT]}],"outline-w":[{outline:[NT,wT]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:S()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[f]}],"ring-offset-w":[{"ring-offset":[NT,wT]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",IT,qT]}],"shadow-color":[{shadow:[ET]}],opacity:[{opacity:[f]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],filter:[{filter:["","none"]}],blur:[{blur:[s]}],brightness:[{brightness:[a]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",IT,CT]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[m]}],saturate:[{saturate:[b]}],sepia:[{sepia:[j]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[s]}],"backdrop-brightness":[{"backdrop-brightness":[a]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[f]}],"backdrop-saturate":[{"backdrop-saturate":[b]}],"backdrop-sepia":[{"backdrop-sepia":[j]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[n]}],"border-spacing-x":[{"border-spacing-x":[n]}],"border-spacing-y":[{"border-spacing-y":[n]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",CT]}],duration:[{duration:P()}],ease:[{ease:["linear","in","out","in-out",CT]}],delay:[{delay:P()}],animate:[{animate:["none","spin","ping","pulse","bounce",CT]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[v]}],"scale-x":[{"scale-x":[v]}],"scale-y":[{"scale-y":[v]}],rotate:[{rotate:[AT,CT]}],"translate-x":[{"translate-x":[k]}],"translate-y":[{"translate-y":[k]}],"skew-x":[{"skew-x":[N]}],"skew-y":[{"skew-y":[N]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",CT]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",CT]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",CT]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[NT,wT,MT]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}});function VT(...e){return HT(ct(e))}function BT(){const e=new URLSearchParams(window.location.search);return{utm_source:e.get("utm_source")||"direct",utm_medium:e.get("utm_medium")||"none",utm_campaign:e.get("utm_campaign")||"",utm_content:e.get("utm_content")||"",utm_term:e.get("utm_term")||""}}function GT(e,t){const s=BT(),a=new URLSearchParams;Object.entries(s).forEach(([e,t])=>{t&&"direct"!==t&&"none"!==t&&a.set(e,t)}),t&&Object.entries(t).forEach(([e,t])=>{a.set(e,t)});const r=a.toString();return r?`${e}?${r}`:e}const UT=rs,$T=Qe.forwardRef(({className:e,...t},s)=>J.jsx(is,{ref:s,className:VT("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]",e),...t}));$T.displayName=is.displayName;const YT=xs("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),KT=Qe.forwardRef(({className:e,variant:t,...s},a)=>J.jsx(ns,{ref:a,className:VT(YT({variant:t}),e),...s}));KT.displayName=ns.displayName;Qe.forwardRef(({className:e,...t},s)=>J.jsx(ds,{ref:s,className:VT("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",e),...t})).displayName=ds.displayName;const QT=Qe.forwardRef(({className:e,...t},s)=>J.jsx(cs,{ref:s,className:VT("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:J.jsx(BP,{className:"h-4 w-4"})}));QT.displayName=cs.displayName;const ZT=Qe.forwardRef(({className:e,...t},s)=>J.jsx(os,{ref:s,className:VT("text-sm font-semibold",e),...t}));ZT.displayName=os.displayName;const JT=Qe.forwardRef(({className:e,...t},s)=>J.jsx(ls,{ref:s,className:VT("text-sm opacity-90",e),...t}));function XT(){const{toasts:e}=kt();return J.jsxs(UT,{children:[e.map(function({id:e,title:t,description:s,action:a,...r}){return J.jsxs(KT,{...r,children:[J.jsxs("div",{className:"grid gap-1",children:[t&&J.jsx(ZT,{children:t}),s&&J.jsx(JT,{children:s})]}),a,J.jsx(QT,{})]},e)}),J.jsx($T,{})]})}JT.displayName=ls.displayName;var eR=["light","dark"],tR=Qe.createContext(void 0),sR={setTheme:e=>{},themes:[]};Qe.memo(({forcedTheme:e,storageKey:t,attribute:s,enableSystem:a,enableColorScheme:r,defaultTheme:i,value:n,attrs:o,nonce:l})=>{let d="system"===i,c="class"===s?`var d=document.documentElement,c=d.classList;c.remove(${o.map(e=>`'${e}'`).join(",")});`:`var d=document.documentElement,n='${s}',s='setAttribute';`,m=r?eR.includes(i)&&i?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${i}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",h=(e,t=!1,a=!0)=>{let i=n?n[e]:e,o=t?e+"|| ''":`'${i}'`,l="";return r&&a&&!t&&eR.includes(e)&&(l+=`d.style.colorScheme = '${e}';`),"class"===s?l+=t||i?`c.add(${o})`:"null":i&&(l+=`d[s](n,${o})`),l},x=e?`!function(){${c}${h(e)}}()`:a?`!function(){try{${c}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${d})){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){${h("dark")}}else{${h("light")}}}else if(e){${n?`var x=${JSON.stringify(n)};`:""}${h(n?"x[e]":"e",!0)}}${d?"":"else{"+h(i,!1,!1)+"}"}${m}}catch(e){}}()`:`!function(){try{${c}var e=localStorage.getItem('${t}');if(e){${n?`var x=${JSON.stringify(n)};`:""}${h(n?"x[e]":"e",!0)}}else{${h(i,!1,!1)};}${m}}catch(t){}}();`;return Qe.createElement("script",{nonce:l,dangerouslySetInnerHTML:{__html:x}})});var aR=Array(12).fill(0),rR=({visible:e,className:t})=>Ze.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},Ze.createElement("div",{className:"sonner-spinner"},aR.map((e,t)=>Ze.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${t}`})))),iR=Ze.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Ze.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),nR=Ze.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},Ze.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),oR=Ze.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Ze.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),lR=Ze.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Ze.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),dR=Ze.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},Ze.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Ze.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),cR=1,mR=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:s,...a}=e,r="number"==typeof(null==e?void 0:e.id)||(null==(t=e.id)?void 0:t.length)>0?e.id:cR++,i=this.toasts.find(e=>e.id===r),n=void 0===e.dismissible||e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(t=>t.id===r?(this.publish({...t,...e,id:r,title:s}),{...t,...e,id:r,dismissible:n,title:s}):t):this.addToast({title:s,...a,dismissible:n,id:r}),r},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let s;void 0!==t.loading&&(s=this.create({...t,promise:e,type:"loading",message:t.loading,description:"function"!=typeof t.description?t.description:void 0}));let a,r=e instanceof Promise?e:e(),i=void 0!==s,n=r.then(async e=>{if(a=["resolve",e],Ze.isValidElement(e))i=!1,this.create({id:s,type:"default",message:e});else if(hR(e)&&!e.ok){i=!1;let a="function"==typeof t.error?await t.error(`HTTP error! status: ${e.status}`):t.error,r="function"==typeof t.description?await t.description(`HTTP error! status: ${e.status}`):t.description;this.create({id:s,type:"error",message:a,description:r})}else if(void 0!==t.success){i=!1;let a="function"==typeof t.success?await t.success(e):t.success,r="function"==typeof t.description?await t.description(e):t.description;this.create({id:s,type:"success",message:a,description:r})}}).catch(async e=>{if(a=["reject",e],void 0!==t.error){i=!1;let a="function"==typeof t.error?await t.error(e):t.error,r="function"==typeof t.description?await t.description(e):t.description;this.create({id:s,type:"error",message:a,description:r})}}).finally(()=>{var e;i&&(this.dismiss(s),s=void 0),null==(e=t.finally)||e.call(t)}),o=()=>new Promise((e,t)=>n.then(()=>"reject"===a[0]?t(a[1]):e(a[1])).catch(t));return"string"!=typeof s&&"number"!=typeof s?{unwrap:o}:Object.assign(s,{unwrap:o})},this.custom=(e,t)=>{let s=(null==t?void 0:t.id)||cR++;return this.create({jsx:e(s),id:s,...t}),s},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},hR=e=>e&&"object"==typeof e&&"ok"in e&&"boolean"==typeof e.ok&&"status"in e&&"number"==typeof e.status,xR=(e,t)=>{let s=(null==t?void 0:t.id)||cR++;return mR.addToast({title:e,...t,id:s}),s},uR=Object.assign(xR,{success:mR.success,info:mR.info,warning:mR.warning,error:mR.error,custom:mR.custom,message:mR.message,promise:mR.promise,dismiss:mR.dismiss,loading:mR.loading},{getHistory:()=>mR.toasts,getToasts:()=>mR.getActiveToasts()});function pR(e){return void 0!==e.label}!function(e,{insertAt:t}={}){if("undefined"==typeof document)return;let s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}(':where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}\n');var gR=3,fR=14;function yR(...e){return e.filter(Boolean).join(" ")}var bR=e=>{var t,s,a,r,i,n,o,l,d,c,m;let{invert:h,toast:x,unstyled:u,interacting:p,setHeights:g,visibleToasts:f,heights:y,index:b,toasts:v,expanded:j,removeToast:N,defaultRichColors:w,closeButton:k,style:M,cancelButtonStyle:A,actionButtonStyle:S,className:C="",descriptionClassName:I="",duration:P,position:T,gap:R,loadingIcon:O,expandByDefault:D,classNames:q,icons:E,closeButtonAriaLabel:z="Close toast",pauseWhenPageIsHidden:_}=e,[L,F]=Ze.useState(null),[W,H]=Ze.useState(null),[V,B]=Ze.useState(!1),[G,U]=Ze.useState(!1),[$,Y]=Ze.useState(!1),[K,Q]=Ze.useState(!1),[Z,J]=Ze.useState(!1),[X,ee]=Ze.useState(0),[te,se]=Ze.useState(0),ae=Ze.useRef(x.duration||P||4e3),re=Ze.useRef(null),ie=Ze.useRef(null),ne=0===b,oe=b+1<=f,le=x.type,de=!1!==x.dismissible,ce=x.className||"",me=x.descriptionClassName||"",he=Ze.useMemo(()=>y.findIndex(e=>e.toastId===x.id)||0,[y,x.id]),xe=Ze.useMemo(()=>{var e;return null!=(e=x.closeButton)?e:k},[x.closeButton,k]),ue=Ze.useMemo(()=>x.duration||P||4e3,[x.duration,P]),pe=Ze.useRef(0),ge=Ze.useRef(0),fe=Ze.useRef(0),ye=Ze.useRef(null),[be,ve]=T.split("-"),je=Ze.useMemo(()=>y.reduce((e,t,s)=>s>=he?e:e+t.height,0),[y,he]),Ne=(()=>{let[e,t]=Ze.useState(document.hidden);return Ze.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),e})(),we=x.invert||h,ke="loading"===le;ge.current=Ze.useMemo(()=>he*R+je,[he,je]),Ze.useEffect(()=>{ae.current=ue},[ue]),Ze.useEffect(()=>{B(!0)},[]),Ze.useEffect(()=>{let e=ie.current;if(e){let t=e.getBoundingClientRect().height;return se(t),g(e=>[{toastId:x.id,height:t,position:x.position},...e]),()=>g(e=>e.filter(e=>e.toastId!==x.id))}},[g,x.id]),Ze.useLayoutEffect(()=>{if(!V)return;let e=ie.current,t=e.style.height;e.style.height="auto";let s=e.getBoundingClientRect().height;e.style.height=t,se(s),g(e=>e.find(e=>e.toastId===x.id)?e.map(e=>e.toastId===x.id?{...e,height:s}:e):[{toastId:x.id,height:s,position:x.position},...e])},[V,x.title,x.description,g,x.id]);let Me=Ze.useCallback(()=>{U(!0),ee(ge.current),g(e=>e.filter(e=>e.toastId!==x.id)),setTimeout(()=>{N(x)},200)},[x,N,g,ge]);return Ze.useEffect(()=>{if(x.promise&&"loading"===le||x.duration===1/0||"loading"===x.type)return;let e;return j||p||_&&Ne?(()=>{if(fe.current<pe.current){let e=(new Date).getTime()-pe.current;ae.current=ae.current-e}fe.current=(new Date).getTime()})():ae.current!==1/0&&(pe.current=(new Date).getTime(),e=setTimeout(()=>{var e;null==(e=x.onAutoClose)||e.call(x,x),Me()},ae.current)),()=>clearTimeout(e)},[j,p,x,le,_,Ne,Me]),Ze.useEffect(()=>{x.delete&&Me()},[Me,x.delete]),Ze.createElement("li",{tabIndex:0,ref:ie,className:yR(C,ce,null==q?void 0:q.toast,null==(t=null==x?void 0:x.classNames)?void 0:t.toast,null==q?void 0:q.default,null==q?void 0:q[le],null==(s=null==x?void 0:x.classNames)?void 0:s[le]),"data-sonner-toast":"","data-rich-colors":null!=(a=x.richColors)?a:w,"data-styled":!(x.jsx||x.unstyled||u),"data-mounted":V,"data-promise":!!x.promise,"data-swiped":Z,"data-removed":G,"data-visible":oe,"data-y-position":be,"data-x-position":ve,"data-index":b,"data-front":ne,"data-swiping":$,"data-dismissible":de,"data-type":le,"data-invert":we,"data-swipe-out":K,"data-swipe-direction":W,"data-expanded":!!(j||D&&V),style:{"--index":b,"--toasts-before":b,"--z-index":v.length-b,"--offset":`${G?X:ge.current}px`,"--initial-height":D?"auto":`${te}px`,...M,...x.style},onDragEnd:()=>{Y(!1),F(null),ye.current=null},onPointerDown:e=>{ke||!de||(re.current=new Date,ee(ge.current),e.target.setPointerCapture(e.pointerId),"BUTTON"!==e.target.tagName&&(Y(!0),ye.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e,t,s,a;if(K||!de)return;ye.current=null;let r=Number((null==(e=ie.current)?void 0:e.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),i=Number((null==(t=ie.current)?void 0:t.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),n=(new Date).getTime()-(null==(s=re.current)?void 0:s.getTime()),o="x"===L?r:i,l=Math.abs(o)/n;if(Math.abs(o)>=20||l>.11)return ee(ge.current),null==(a=x.onDismiss)||a.call(x,x),H("x"===L?r>0?"right":"left":i>0?"down":"up"),Me(),Q(!0),void J(!1);Y(!1),F(null)},onPointerMove:t=>{var s,a,r,i;if(!ye.current||!de||(null==(s=window.getSelection())?void 0:s.toString().length)>0)return;let n=t.clientY-ye.current.y,o=t.clientX-ye.current.x,l=null!=(a=e.swipeDirections)?a:function(e){let[t,s]=e.split("-"),a=[];return t&&a.push(t),s&&a.push(s),a}(T);!L&&(Math.abs(o)>1||Math.abs(n)>1)&&F(Math.abs(o)>Math.abs(n)?"x":"y");let d={x:0,y:0};"y"===L?(l.includes("top")||l.includes("bottom"))&&(l.includes("top")&&n<0||l.includes("bottom")&&n>0)&&(d.y=n):"x"===L&&(l.includes("left")||l.includes("right"))&&(l.includes("left")&&o<0||l.includes("right")&&o>0)&&(d.x=o),(Math.abs(d.x)>0||Math.abs(d.y)>0)&&J(!0),null==(r=ie.current)||r.style.setProperty("--swipe-amount-x",`${d.x}px`),null==(i=ie.current)||i.style.setProperty("--swipe-amount-y",`${d.y}px`)}},xe&&!x.jsx?Ze.createElement("button",{"aria-label":z,"data-disabled":ke,"data-close-button":!0,onClick:ke||!de?()=>{}:()=>{var e;Me(),null==(e=x.onDismiss)||e.call(x,x)},className:yR(null==q?void 0:q.closeButton,null==(r=null==x?void 0:x.classNames)?void 0:r.closeButton)},null!=(i=null==E?void 0:E.close)?i:dR):null,x.jsx||Qe.isValidElement(x.title)?x.jsx?x.jsx:"function"==typeof x.title?x.title():x.title:Ze.createElement(Ze.Fragment,null,le||x.icon||x.promise?Ze.createElement("div",{"data-icon":"",className:yR(null==q?void 0:q.icon,null==(n=null==x?void 0:x.classNames)?void 0:n.icon)},x.promise||"loading"===x.type&&!x.icon?x.icon||(null!=E&&E.loading?Ze.createElement("div",{className:yR(null==q?void 0:q.loader,null==(Ae=null==x?void 0:x.classNames)?void 0:Ae.loader,"sonner-loader"),"data-visible":"loading"===le},E.loading):O?Ze.createElement("div",{className:yR(null==q?void 0:q.loader,null==(Se=null==x?void 0:x.classNames)?void 0:Se.loader,"sonner-loader"),"data-visible":"loading"===le},O):Ze.createElement(rR,{className:yR(null==q?void 0:q.loader,null==(Ce=null==x?void 0:x.classNames)?void 0:Ce.loader),visible:"loading"===le})):null,"loading"!==x.type?x.icon||(null==E?void 0:E[le])||(e=>{switch(e){case"success":return iR;case"info":return oR;case"warning":return nR;case"error":return lR;default:return null}})(le):null):null,Ze.createElement("div",{"data-content":"",className:yR(null==q?void 0:q.content,null==(o=null==x?void 0:x.classNames)?void 0:o.content)},Ze.createElement("div",{"data-title":"",className:yR(null==q?void 0:q.title,null==(l=null==x?void 0:x.classNames)?void 0:l.title)},"function"==typeof x.title?x.title():x.title),x.description?Ze.createElement("div",{"data-description":"",className:yR(I,me,null==q?void 0:q.description,null==(d=null==x?void 0:x.classNames)?void 0:d.description)},"function"==typeof x.description?x.description():x.description):null),Qe.isValidElement(x.cancel)?x.cancel:x.cancel&&pR(x.cancel)?Ze.createElement("button",{"data-button":!0,"data-cancel":!0,style:x.cancelButtonStyle||A,onClick:e=>{var t,s;pR(x.cancel)&&de&&(null==(s=(t=x.cancel).onClick)||s.call(t,e),Me())},className:yR(null==q?void 0:q.cancelButton,null==(c=null==x?void 0:x.classNames)?void 0:c.cancelButton)},x.cancel.label):null,Qe.isValidElement(x.action)?x.action:x.action&&pR(x.action)?Ze.createElement("button",{"data-button":!0,"data-action":!0,style:x.actionButtonStyle||S,onClick:e=>{var t,s;pR(x.action)&&(null==(s=(t=x.action).onClick)||s.call(t,e),!e.defaultPrevented&&Me())},className:yR(null==q?void 0:q.actionButton,null==(m=null==x?void 0:x.classNames)?void 0:m.actionButton)},x.action.label):null));var Ae,Se,Ce};function vR(){if("undefined"==typeof window||"undefined"==typeof document)return"ltr";let e=document.documentElement.getAttribute("dir");return"auto"!==e&&e?e:window.getComputedStyle(document.documentElement).direction}function jR(e,t){let s={};return[e,t].forEach((e,t)=>{let a=1===t,r=a?"--mobile-offset":"--offset",i=a?"16px":"32px";function n(e){["top","right","bottom","left"].forEach(t=>{s[`${r}-${t}`]="number"==typeof e?`${e}px`:e})}"number"==typeof e||"string"==typeof e?n(e):"object"==typeof e?["top","right","bottom","left"].forEach(t=>{void 0===e[t]?s[`${r}-${t}`]=i:s[`${r}-${t}`]="number"==typeof e[t]?`${e[t]}px`:e[t]}):n(i)}),s}var NR=Qe.forwardRef(function(e,t){let{invert:s,position:a="bottom-right",hotkey:r=["altKey","KeyT"],expand:i,closeButton:n,className:o,offset:l,mobileOffset:d,theme:c="light",richColors:m,duration:h,style:x,visibleToasts:u=gR,toastOptions:p,dir:g=vR(),gap:f=fR,loadingIcon:y,icons:b,containerAriaLabel:v="Notifications",pauseWhenPageIsHidden:j}=e,[N,w]=Ze.useState([]),k=Ze.useMemo(()=>Array.from(new Set([a].concat(N.filter(e=>e.position).map(e=>e.position)))),[N,a]),[M,A]=Ze.useState([]),[S,C]=Ze.useState(!1),[I,P]=Ze.useState(!1),[T,R]=Ze.useState("system"!==c?c:"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),O=Ze.useRef(null),D=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),q=Ze.useRef(null),E=Ze.useRef(!1),z=Ze.useCallback(e=>{w(t=>{var s;return null!=(s=t.find(t=>t.id===e.id))&&s.delete||mR.dismiss(e.id),t.filter(({id:t})=>t!==e.id)})},[]);return Ze.useEffect(()=>mR.subscribe(e=>{e.dismiss?w(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t)):setTimeout(()=>{Je.flushSync(()=>{w(t=>{let s=t.findIndex(t=>t.id===e.id);return-1!==s?[...t.slice(0,s),{...t[s],...e},...t.slice(s+1)]:[e,...t]})})})}),[]),Ze.useEffect(()=>{if("system"!==c)return void R(c);if("system"===c&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?R("dark"):R("light")),"undefined"==typeof window)return;let e=window.matchMedia("(prefers-color-scheme: dark)");try{e.addEventListener("change",({matches:e})=>{R(e?"dark":"light")})}catch(t){e.addListener(({matches:e})=>{try{R(e?"dark":"light")}catch(t){}})}},[c]),Ze.useEffect(()=>{N.length<=1&&C(!1)},[N]),Ze.useEffect(()=>{let e=e=>{var t,s;r.every(t=>e[t]||e.code===t)&&(C(!0),null==(t=O.current)||t.focus()),"Escape"===e.code&&(document.activeElement===O.current||null!=(s=O.current)&&s.contains(document.activeElement))&&C(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[r]),Ze.useEffect(()=>{if(O.current)return()=>{q.current&&(q.current.focus({preventScroll:!0}),q.current=null,E.current=!1)}},[O.current]),Ze.createElement("section",{ref:t,"aria-label":`${v} ${D}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},k.map((t,a)=>{var r;let[c,v]=t.split("-");return N.length?Ze.createElement("ol",{key:t,dir:"auto"===g?vR():g,tabIndex:-1,ref:O,className:o,"data-sonner-toaster":!0,"data-theme":T,"data-y-position":c,"data-lifted":S&&N.length>1&&!i,"data-x-position":v,style:{"--front-toast-height":`${(null==(r=M[0])?void 0:r.height)||0}px`,"--width":"356px","--gap":`${f}px`,...x,...jR(l,d)},onBlur:e=>{E.current&&!e.currentTarget.contains(e.relatedTarget)&&(E.current=!1,q.current&&(q.current.focus({preventScroll:!0}),q.current=null))},onFocus:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||E.current||(E.current=!0,q.current=e.relatedTarget)},onMouseEnter:()=>C(!0),onMouseMove:()=>C(!0),onMouseLeave:()=>{I||C(!1)},onDragEnd:()=>C(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||P(!0)},onPointerUp:()=>P(!1)},N.filter(e=>!e.position&&0===a||e.position===t).map((a,r)=>{var o,l;return Ze.createElement(bR,{key:a.id,icons:b,index:r,toast:a,defaultRichColors:m,duration:null!=(o=null==p?void 0:p.duration)?o:h,className:null==p?void 0:p.className,descriptionClassName:null==p?void 0:p.descriptionClassName,invert:s,visibleToasts:u,closeButton:null!=(l=null==p?void 0:p.closeButton)?l:n,interacting:I,position:t,style:null==p?void 0:p.style,unstyled:null==p?void 0:p.unstyled,classNames:null==p?void 0:p.classNames,cancelButtonStyle:null==p?void 0:p.cancelButtonStyle,actionButtonStyle:null==p?void 0:p.actionButtonStyle,removeToast:z,toasts:N.filter(e=>e.position==a.position),heights:M.filter(e=>e.position==a.position),setHeights:A,expandByDefault:i,gap:f,loadingIcon:y,expanded:S,pauseWhenPageIsHidden:j,swipeDirections:e.swipeDirections})})):null}))});const wR=({...e})=>{const{theme:t="system"}=null!=(s=Qe.useContext(tR))?s:sR;var s;return J.jsx(NR,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})};var[kR,MR]=Q("Tooltip",[ce]),AR=ce(),SR="TooltipProvider",CR=700,IR="tooltip.open",[PR,TR]=kR(SR),RR=e=>{const{__scopeTooltip:t,delayDuration:s=CR,skipDelayDuration:a=300,disableHoverableContent:r=!1,children:i}=e,n=Qe.useRef(!0),o=Qe.useRef(!1),l=Qe.useRef(0);return Qe.useEffect(()=>{const e=l.current;return()=>window.clearTimeout(e)},[]),J.jsx(PR,{scope:t,isOpenDelayedRef:n,delayDuration:s,onOpen:Qe.useCallback(()=>{window.clearTimeout(l.current),n.current=!1},[]),onClose:Qe.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>n.current=!0,a)},[a]),isPointerInTransitRef:o,onPointerInTransitChange:Qe.useCallback(e=>{o.current=e},[]),disableHoverableContent:r,children:i})};RR.displayName=SR;var OR="Tooltip",[DR,qR]=kR(OR),ER=e=>{const{__scopeTooltip:t,children:s,open:a,defaultOpen:r,onOpenChange:i,disableHoverableContent:n,delayDuration:o}=e,l=TR(OR,e.__scopeTooltip),d=AR(t),[c,m]=Qe.useState(null),h=fe(),x=Qe.useRef(0),u=n??l.disableHoverableContent,p=o??l.delayDuration,g=Qe.useRef(!1),[f,y]=se({prop:a,defaultProp:r??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(IR))):l.onClose(),i?.(e)},caller:OR}),b=Qe.useMemo(()=>f?g.current?"delayed-open":"instant-open":"closed",[f]),v=Qe.useCallback(()=>{window.clearTimeout(x.current),x.current=0,g.current=!1,y(!0)},[y]),j=Qe.useCallback(()=>{window.clearTimeout(x.current),x.current=0,y(!1)},[y]),N=Qe.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{g.current=!0,y(!0),x.current=0},p)},[p,y]);return Qe.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),J.jsx(ye,{...d,children:J.jsx(DR,{scope:t,contentId:h,open:f,stateAttribute:b,trigger:c,onTriggerChange:m,onTriggerEnter:Qe.useCallback(()=>{l.isOpenDelayedRef.current?N():v()},[l.isOpenDelayedRef,N,v]),onTriggerLeave:Qe.useCallback(()=>{u?j():(window.clearTimeout(x.current),x.current=0)},[j,u]),onOpen:v,onClose:j,disableHoverableContent:u,children:s})})};ER.displayName=OR;var zR="TooltipTrigger",_R=Qe.forwardRef((e,t)=>{const{__scopeTooltip:s,...a}=e,r=qR(zR,s),i=TR(zR,s),n=AR(s),o=Qe.useRef(null),l=Z(t,o,r.onTriggerChange),d=Qe.useRef(!1),c=Qe.useRef(!1),m=Qe.useCallback(()=>d.current=!1,[]);return Qe.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),J.jsx(me,{asChild:!0,...n,children:J.jsx(ee.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...a,ref:l,onPointerMove:ie(e.onPointerMove,e=>{"touch"!==e.pointerType&&(c.current||i.isPointerInTransitRef.current||(r.onTriggerEnter(),c.current=!0))}),onPointerLeave:ie(e.onPointerLeave,()=>{r.onTriggerLeave(),c.current=!1}),onPointerDown:ie(e.onPointerDown,()=>{r.open&&r.onClose(),d.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:ie(e.onFocus,()=>{d.current||r.onOpen()}),onBlur:ie(e.onBlur,r.onClose),onClick:ie(e.onClick,r.onClose)})})});_R.displayName=zR;var[LR,FR]=kR("TooltipPortal",{forceMount:void 0}),WR="TooltipContent",HR=Qe.forwardRef((e,t)=>{const s=FR(WR,e.__scopeTooltip),{forceMount:a=s.forceMount,side:r="top",...i}=e,n=qR(WR,e.__scopeTooltip);return J.jsx(ae,{present:a||n.open,children:n.disableHoverableContent?J.jsx($R,{side:r,...i,ref:t}):J.jsx(VR,{side:r,...i,ref:t})})}),VR=Qe.forwardRef((e,t)=>{const s=qR(WR,e.__scopeTooltip),a=TR(WR,e.__scopeTooltip),r=Qe.useRef(null),i=Z(t,r),[n,o]=Qe.useState(null),{trigger:l,onClose:d}=s,c=r.current,{onPointerInTransitChange:m}=a,h=Qe.useCallback(()=>{o(null),m(!1)},[m]),x=Qe.useCallback((e,t)=>{const s=e.currentTarget,a={x:e.clientX,y:e.clientY},r=function(e,t,s=5){const a=[];switch(t){case"top":a.push({x:e.x-s,y:e.y+s},{x:e.x+s,y:e.y+s});break;case"bottom":a.push({x:e.x-s,y:e.y-s},{x:e.x+s,y:e.y-s});break;case"left":a.push({x:e.x+s,y:e.y-s},{x:e.x+s,y:e.y+s});break;case"right":a.push({x:e.x-s,y:e.y-s},{x:e.x-s,y:e.y+s})}return a}(a,function(e,t){const s=Math.abs(t.top-e.y),a=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(s,a,r,i)){case i:return"left";case r:return"right";case s:return"top";case a:return"bottom";default:throw new Error("unreachable")}}(a,s.getBoundingClientRect())),i=function(e){const t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),function(e){if(e.length<=1)return e.slice();const t=[];for(let a=0;a<e.length;a++){const s=e[a];for(;t.length>=2;){const e=t[t.length-1],a=t[t.length-2];if(!((e.x-a.x)*(s.y-a.y)>=(e.y-a.y)*(s.x-a.x)))break;t.pop()}t.push(s)}t.pop();const s=[];for(let a=e.length-1;a>=0;a--){const t=e[a];for(;s.length>=2;){const e=s[s.length-1],a=s[s.length-2];if(!((e.x-a.x)*(t.y-a.y)>=(e.y-a.y)*(t.x-a.x)))break;s.pop()}s.push(t)}return s.pop(),1===t.length&&1===s.length&&t[0].x===s[0].x&&t[0].y===s[0].y?t:t.concat(s)}(t)}([...r,...function(e){const{top:t,right:s,bottom:a,left:r}=e;return[{x:r,y:t},{x:s,y:t},{x:s,y:a},{x:r,y:a}]}(t.getBoundingClientRect())]);o(i),m(!0)},[m]);return Qe.useEffect(()=>()=>h(),[h]),Qe.useEffect(()=>{if(l&&c){const e=e=>x(e,c),t=e=>x(e,l);return l.addEventListener("pointerleave",e),c.addEventListener("pointerleave",t),()=>{l.removeEventListener("pointerleave",e),c.removeEventListener("pointerleave",t)}}},[l,c,x,h]),Qe.useEffect(()=>{if(n){const e=e=>{const t=e.target,s={x:e.clientX,y:e.clientY},a=l?.contains(t)||c?.contains(t),r=!function(e,t){const{x:s,y:a}=e;let r=!1;for(let i=0,n=t.length-1;i<t.length;n=i++){const e=t[i],o=t[n],l=e.x,d=e.y,c=o.x,m=o.y;d>a!=m>a&&s<(c-l)*(a-d)/(m-d)+l&&(r=!r)}return r}(s,n);a?h():r&&(h(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[l,c,n,d,h]),J.jsx($R,{...e,ref:i})}),[BR,GR]=kR(OR,{isInside:!1}),UR=ge("TooltipContent"),$R=Qe.forwardRef((e,t)=>{const{__scopeTooltip:s,children:a,"aria-label":r,onEscapeKeyDown:i,onPointerDownOutside:n,...o}=e,l=qR(WR,s),d=AR(s),{onClose:c}=l;return Qe.useEffect(()=>(document.addEventListener(IR,c),()=>document.removeEventListener(IR,c)),[c]),Qe.useEffect(()=>{if(l.trigger){const e=e=>{const t=e.target;t?.contains(l.trigger)&&c()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[l.trigger,c]),J.jsx(he,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:n,onFocusOutside:e=>e.preventDefault(),onDismiss:c,children:J.jsxs(xe,{"data-state":l.stateAttribute,...d,...o,ref:t,style:{...o.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[J.jsx(UR,{children:a}),J.jsx(BR,{scope:s,isInside:!0,children:J.jsx(ue,{id:l.contentId,role:"tooltip",children:r||a})})]})})});HR.displayName=WR;var YR="TooltipArrow";Qe.forwardRef((e,t)=>{const{__scopeTooltip:s,...a}=e,r=AR(s);return GR(YR,s).isInside?null:J.jsx(pe,{...r,...a,ref:t})}).displayName=YR;var KR=HR;const QR=RR,ZR=ER,JR=_R,XR=Qe.forwardRef(({className:e,sideOffset:t=4,...s},a)=>J.jsx(KR,{ref:a,sideOffset:t,className:VT("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...s}));XR.displayName=KR.displayName;var eO=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},tO="undefined"==typeof window||"Deno"in globalThis;function sO(){}function aO(e,t){return"function"==typeof e?e(t):e}function rO(e,t){const{type:s="all",exact:a,fetchStatus:r,predicate:i,queryKey:n,stale:o}=e;if(n)if(a){if(t.queryHash!==nO(n,t.options))return!1}else if(!lO(t.queryKey,n))return!1;if("all"!==s){const e=t.isActive();if("active"===s&&!e)return!1;if("inactive"===s&&e)return!1}return("boolean"!=typeof o||t.isStale()===o)&&((!r||r===t.state.fetchStatus)&&!(i&&!i(t)))}function iO(e,t){const{exact:s,status:a,predicate:r,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(s){if(oO(t.options.mutationKey)!==oO(i))return!1}else if(!lO(t.options.mutationKey,i))return!1}return(!a||t.state.status===a)&&!(r&&!r(t))}function nO(e,t){return(t?.queryKeyHashFn||oO)(e)}function oO(e){return JSON.stringify(e,(e,t)=>mO(t)?Object.keys(t).sort().reduce((e,s)=>(e[s]=t[s],e),{}):t)}function lO(e,t){return e===t||typeof e==typeof t&&(!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&Object.keys(t).every(s=>lO(e[s],t[s])))}function dO(e,t){if(e===t)return e;const s=cO(e)&&cO(t);if(s||mO(e)&&mO(t)){const a=s?e:Object.keys(e),r=a.length,i=s?t:Object.keys(t),n=i.length,o=s?[]:{},l=new Set(a);let d=0;for(let c=0;c<n;c++){const a=s?c:i[c];(!s&&l.has(a)||s)&&void 0===e[a]&&void 0===t[a]?(o[a]=void 0,d++):(o[a]=dO(e[a],t[a]),o[a]===e[a]&&void 0!==e[a]&&d++)}return r===n&&d===r?e:o}return t}function cO(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function mO(e){if(!hO(e))return!1;const t=e.constructor;if(void 0===t)return!0;const s=t.prototype;return!!hO(s)&&(!!s.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype)}function hO(e){return"[object Object]"===Object.prototype.toString.call(e)}function xO(e,t,s){return"function"==typeof s.structuralSharing?s.structuralSharing(e,t):!1!==s.structuralSharing?dO(e,t):t}function uO(e,t,s=0){const a=[...e,t];return s&&a.length>s?a.slice(1):a}function pO(e,t,s=0){const a=[t,...e];return s&&a.length>s?a.slice(0,-1):a}var gO=Symbol();function fO(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==gO?e.queryFn:()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`))}var yO=new(a=class extends eO{constructor(){super(),G(this,e),G(this,t),G(this,s),U(this,s,e=>{if(!tO&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}})}onSubscribe(){B(this,t)||this.setEventListener(B(this,s))}onUnsubscribe(){var e;this.hasListeners()||(null==(e=B(this,t))||e.call(this),U(this,t,void 0))}setEventListener(e){var a;U(this,s,e),null==(a=B(this,t))||a.call(this),U(this,t,e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(t){B(this,e)!==t&&(U(this,e,t),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof B(this,e)?B(this,e):"hidden"!==globalThis.document?.visibilityState}},e=new WeakMap,t=new WeakMap,s=new WeakMap,a),bO=new(o=class extends eO{constructor(){super(),G(this,r,!0),G(this,i),G(this,n),U(this,n,e=>{if(!tO&&window.addEventListener){const t=()=>e(!0),s=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",s)}}})}onSubscribe(){B(this,i)||this.setEventListener(B(this,n))}onUnsubscribe(){var e;this.hasListeners()||(null==(e=B(this,i))||e.call(this),U(this,i,void 0))}setEventListener(e){var t;U(this,n,e),null==(t=B(this,i))||t.call(this),U(this,i,e(this.setOnline.bind(this)))}setOnline(e){B(this,r)!==e&&(U(this,r,e),this.listeners.forEach(t=>{t(e)}))}isOnline(){return B(this,r)}},r=new WeakMap,i=new WeakMap,n=new WeakMap,o);function vO(e){return Math.min(1e3*2**e,3e4)}function jO(e){return"online"!==(e??"online")||bO.isOnline()}var NO=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function wO(e){return e instanceof NO}function kO(e){let t,s=!1,a=0,r=!1;const i=function(){let e,t;const s=new Promise((s,a)=>{e=s,t=a});function a(e){Object.assign(s,e),delete s.resolve,delete s.reject}return s.status="pending",s.catch(()=>{}),s.resolve=t=>{a({status:"fulfilled",value:t}),e(t)},s.reject=e=>{a({status:"rejected",reason:e}),t(e)},s}(),n=()=>yO.isFocused()&&("always"===e.networkMode||bO.isOnline())&&e.canRun(),o=()=>jO(e.networkMode)&&e.canRun(),l=s=>{r||(r=!0,e.onSuccess?.(s),t?.(),i.resolve(s))},d=s=>{r||(r=!0,e.onError?.(s),t?.(),i.reject(s))},c=()=>new Promise(s=>{t=e=>{(r||n())&&s(e)},e.onPause?.()}).then(()=>{t=void 0,r||e.onContinue?.()}),m=()=>{if(r)return;let t;const i=0===a?e.initialPromise:void 0;try{t=i??e.fn()}catch(o){t=Promise.reject(o)}Promise.resolve(t).then(l).catch(t=>{if(r)return;const i=e.retry??(tO?0:3),o=e.retryDelay??vO,l="function"==typeof o?o(a,t):o,h=!0===i||"number"==typeof i&&a<i||"function"==typeof i&&i(a,t);var x;!s&&h?(a++,e.onFail?.(a,t),(x=l,new Promise(e=>{setTimeout(e,x)})).then(()=>n()?void 0:c()).then(()=>{s?d(t):m()})):d(t)})};return{promise:i,cancel:t=>{r||(d(new NO(t)),e.abort?.())},continue:()=>(t?.(),i),cancelRetry:()=>{s=!0},continueRetry:()=>{s=!1},canStart:o,start:()=>(o()?m():c().then(m),i)}}var MO=e=>setTimeout(e,0);var AO=function(){let e=[],t=0,s=e=>{e()},a=e=>{e()},r=MO;const i=a=>{t?e.push(a):r(()=>{s(a)})};return{batch:i=>{let n;t++;try{n=i()}finally{t--,t||(()=>{const t=e;e=[],t.length&&r(()=>{a(()=>{t.forEach(e=>{s(e)})})})})()}return n},batchCalls:e=>(...t)=>{i(()=>{e(...t)})},schedule:i,setNotifyFunction:e=>{s=e},setBatchNotifyFunction:e=>{a=e},setScheduler:e=>{r=e}}}(),SO=(d=class{constructor(){G(this,l)}destroy(){this.clearGcTimeout()}scheduleGc(){var e;this.clearGcTimeout(),"number"==typeof(e=this.gcTime)&&e>=0&&e!==1/0&&U(this,l,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(tO?1/0:3e5))}clearGcTimeout(){B(this,l)&&(clearTimeout(B(this,l)),U(this,l,void 0))}},l=new WeakMap,d),CO=(b=class extends SO{constructor(e){super(),G(this,f),G(this,c),G(this,m),G(this,h),G(this,x),G(this,u),G(this,p),G(this,g),U(this,g,!1),U(this,p,e.defaultOptions),this.setOptions(e.options),this.observers=[],U(this,x,e.client),U(this,h,B(this,x).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,U(this,c,function(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,s=void 0!==t,a=s?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:s?a??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}(this.options)),this.state=e.state??B(this,c),this.scheduleGc()}get meta(){return this.options.meta}get promise(){return B(this,u)?.promise}setOptions(e){this.options={...B(this,p),...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||B(this,h).remove(this)}setData(e,t){const s=xO(this.state.data,e,this.options);return $(this,f,y).call(this,{data:s,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),s}setState(e,t){$(this,f,y).call(this,{type:"setState",state:e,setStateOptions:t})}cancel(e){const t=B(this,u)?.promise;return B(this,u)?.cancel(e),t?t.then(sO).catch(sO):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(B(this,c))}isActive(){return this.observers.some(e=>{return!1!==(t=e.options.enabled,s=this,"function"==typeof t?t(s):t);var t,s})}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===gO||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===aO(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!function(e,t){return Math.max(e+(t||0)-Date.now(),0)}(this.state.dataUpdatedAt,e))}onFocus(){const e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),B(this,u)?.continue()}onOnline(){const e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),B(this,u)?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),B(this,h).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(B(this,u)&&(B(this,g)?B(this,u).cancel({revert:!0}):B(this,u).cancelRetry()),this.scheduleGc()),B(this,h).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||$(this,f,y).call(this,{type:"invalidate"})}fetch(e,t){if("idle"!==this.state.fetchStatus)if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(B(this,u))return B(this,u).continueRetry(),B(this,u).promise;if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}const s=new AbortController,a=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(U(this,g,!0),s.signal)})},r=()=>{const e=fO(this.options,t),s=(()=>{const e={client:B(this,x),queryKey:this.queryKey,meta:this.meta};return a(e),e})();return U(this,g,!1),this.options.persister?this.options.persister(e,s,this):e(s)},i=(()=>{const e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:B(this,x),state:this.state,fetchFn:r};return a(e),e})();this.options.behavior?.onFetch(i,this),U(this,m,this.state),"idle"!==this.state.fetchStatus&&this.state.fetchMeta===i.fetchOptions?.meta||$(this,f,y).call(this,{type:"fetch",meta:i.fetchOptions?.meta});const n=e=>{wO(e)&&e.silent||$(this,f,y).call(this,{type:"error",error:e}),wO(e)||(B(this,h).config.onError?.(e,this),B(this,h).config.onSettled?.(this.state.data,e,this)),this.scheduleGc()};return U(this,u,kO({initialPromise:t?.initialPromise,fn:i.fetchFn,abort:s.abort.bind(s),onSuccess:e=>{if(void 0!==e){try{this.setData(e)}catch(t){return void n(t)}B(this,h).config.onSuccess?.(e,this),B(this,h).config.onSettled?.(e,this.state.error,this),this.scheduleGc()}else n(new Error(`${this.queryHash} data is undefined`))},onError:n,onFail:(e,t)=>{$(this,f,y).call(this,{type:"failed",failureCount:e,error:t})},onPause:()=>{$(this,f,y).call(this,{type:"pause"})},onContinue:()=>{$(this,f,y).call(this,{type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0})),B(this,u).start()}},c=new WeakMap,m=new WeakMap,h=new WeakMap,x=new WeakMap,u=new WeakMap,p=new WeakMap,g=new WeakMap,f=new WeakSet,y=function(e){this.state=(t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...(s=t.data,a=this.options,{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:jO(a.networkMode)?"fetching":"paused",...void 0===s&&{error:null,status:"pending"}}),fetchMeta:e.meta??null};case"success":return U(this,m,void 0),{...t,data:e.data,dataUpdateCount:t.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=e.error;return wO(r)&&r.revert&&B(this,m)?{...B(this,m),fetchStatus:"idle"}:{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}var s,a})(this.state),AO.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),B(this,h).notify({query:this,type:"updated",action:e})})},b);var IO=(j=class extends eO{constructor(e={}){super(),G(this,v),this.config=e,U(this,v,new Map)}build(e,t,s){const a=t.queryKey,r=t.queryHash??nO(a,t);let i=this.get(r);return i||(i=new CO({client:e,queryKey:a,queryHash:r,options:e.defaultQueryOptions(t),state:s,defaultOptions:e.getQueryDefaults(a)}),this.add(i)),i}add(e){B(this,v).has(e.queryHash)||(B(this,v).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=B(this,v).get(e.queryHash);t&&(e.destroy(),t===e&&B(this,v).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){AO.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return B(this,v).get(e)}getAll(){return[...B(this,v).values()]}find(e){const t={exact:!0,...e};return this.getAll().find(e=>rO(t,e))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(t=>rO(e,t)):t}notify(e){AO.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){AO.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){AO.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},v=new WeakMap,j),PO=(S=class extends SO{constructor(e){super(),G(this,M),G(this,N),G(this,w),G(this,k),this.mutationId=e.mutationId,U(this,w,e.mutationCache),U(this,N,[]),this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){B(this,N).includes(e)||(B(this,N).push(e),this.clearGcTimeout(),B(this,w).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){U(this,N,B(this,N).filter(t=>t!==e)),this.scheduleGc(),B(this,w).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){B(this,N).length||("pending"===this.state.status?this.scheduleGc():B(this,w).remove(this))}continue(){return B(this,k)?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{$(this,M,A).call(this,{type:"continue"})};U(this,k,kO({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(e,t)=>{$(this,M,A).call(this,{type:"failed",failureCount:e,error:t})},onPause:()=>{$(this,M,A).call(this,{type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>B(this,w).canRun(this)}));const s="pending"===this.state.status,a=!B(this,k).canStart();try{if(s)t();else{$(this,M,A).call(this,{type:"pending",variables:e,isPaused:a}),await(B(this,w).config.onMutate?.(e,this));const t=await(this.options.onMutate?.(e));t!==this.state.context&&$(this,M,A).call(this,{type:"pending",context:t,variables:e,isPaused:a})}const r=await B(this,k).start();return await(B(this,w).config.onSuccess?.(r,e,this.state.context,this)),await(this.options.onSuccess?.(r,e,this.state.context)),await(B(this,w).config.onSettled?.(r,null,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(r,null,e,this.state.context)),$(this,M,A).call(this,{type:"success",data:r}),r}catch(r){try{throw await(B(this,w).config.onError?.(r,e,this.state.context,this)),await(this.options.onError?.(r,e,this.state.context)),await(B(this,w).config.onSettled?.(void 0,r,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(void 0,r,e,this.state.context)),r}finally{$(this,M,A).call(this,{type:"error",error:r})}}finally{B(this,w).runNext(this)}}},N=new WeakMap,w=new WeakMap,k=new WeakMap,M=new WeakSet,A=function(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),AO.batch(()=>{B(this,N).forEach(t=>{t.onMutationUpdate(e)}),B(this,w).notify({mutation:this,type:"updated",action:e})})},S);var TO=(T=class extends eO{constructor(e={}){super(),G(this,C),G(this,I),G(this,P),this.config=e,U(this,C,new Set),U(this,I,new Map),U(this,P,0)}build(e,t,s){const a=new PO({mutationCache:this,mutationId:++Y(this,P)._,options:e.defaultMutationOptions(t),state:s});return this.add(a),a}add(e){B(this,C).add(e);const t=RO(e);if("string"==typeof t){const s=B(this,I).get(t);s?s.push(e):B(this,I).set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(B(this,C).delete(e)){const t=RO(e);if("string"==typeof t){const s=B(this,I).get(t);if(s)if(s.length>1){const t=s.indexOf(e);-1!==t&&s.splice(t,1)}else s[0]===e&&B(this,I).delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=RO(e);if("string"==typeof t){const s=B(this,I).get(t),a=s?.find(e=>"pending"===e.state.status);return!a||a===e}return!0}runNext(e){const t=RO(e);if("string"==typeof t){const s=B(this,I).get(t)?.find(t=>t!==e&&t.state.isPaused);return s?.continue()??Promise.resolve()}return Promise.resolve()}clear(){AO.batch(()=>{B(this,C).forEach(e=>{this.notify({type:"removed",mutation:e})}),B(this,C).clear(),B(this,I).clear()})}getAll(){return Array.from(B(this,C))}find(e){const t={exact:!0,...e};return this.getAll().find(e=>iO(t,e))}findAll(e={}){return this.getAll().filter(t=>iO(e,t))}notify(e){AO.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(e=>e.state.isPaused);return AO.batch(()=>Promise.all(e.map(e=>e.continue().catch(sO))))}},C=new WeakMap,I=new WeakMap,P=new WeakMap,T);function RO(e){return e.options.scope?.id}function OO(e){return{onFetch:(t,s)=>{const a=t.options,r=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],n=t.state.data?.pageParams||[];let o={pages:[],pageParams:[]},l=0;const d=async()=>{let s=!1;const d=fO(t.options,t.fetchOptions),c=async(e,a,r)=>{if(s)return Promise.reject();if(null==a&&e.pages.length)return Promise.resolve(e);const i=(()=>{const e={client:t.client,queryKey:t.queryKey,pageParam:a,direction:r?"backward":"forward",meta:t.options.meta};var i;return i=e,Object.defineProperty(i,"signal",{enumerable:!0,get:()=>(t.signal.aborted?s=!0:t.signal.addEventListener("abort",()=>{s=!0}),t.signal)}),e})(),n=await d(i),{maxPages:o}=t.options,l=r?pO:uO;return{pages:l(e.pages,n,o),pageParams:l(e.pageParams,a,o)}};if(r&&i.length){const e="backward"===r,t={pages:i,pageParams:n},s=(e?qO:DO)(a,t);o=await c(t,s,e)}else{const t=e??i.length;do{const e=0===l?n[0]??a.initialPageParam:DO(a,o);if(l>0&&null==e)break;o=await c(o,e),l++}while(l<t)}return o};t.options.persister?t.fetchFn=()=>t.options.persister?.(d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s):t.fetchFn=d}}}function DO(e,{pages:t,pageParams:s}){const a=t.length-1;return t.length>0?e.getNextPageParam(t[a],t,s[a],s):void 0}function qO(e,{pages:t,pageParams:s}){return t.length>0?e.getPreviousPageParam?.(t[0],t,s[0],s):void 0}var EO=(F=class{constructor(e={}){G(this,R),G(this,O),G(this,D),G(this,q),G(this,E),G(this,z),G(this,_),G(this,L),U(this,R,e.queryCache||new IO),U(this,O,e.mutationCache||new TO),U(this,D,e.defaultOptions||{}),U(this,q,new Map),U(this,E,new Map),U(this,z,0)}mount(){Y(this,z)._++,1===B(this,z)&&(U(this,_,yO.subscribe(async e=>{e&&(await this.resumePausedMutations(),B(this,R).onFocus())})),U(this,L,bO.subscribe(async e=>{e&&(await this.resumePausedMutations(),B(this,R).onOnline())})))}unmount(){var e,t;Y(this,z)._--,0===B(this,z)&&(null==(e=B(this,_))||e.call(this),U(this,_,void 0),null==(t=B(this,L))||t.call(this),U(this,L,void 0))}isFetching(e){return B(this,R).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return B(this,O).findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return B(this,R).get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),s=B(this,R).build(this,t),a=s.state.data;return void 0===a?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime(aO(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(a))}getQueriesData(e){return B(this,R).findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,s){const a=this.defaultQueryOptions({queryKey:e}),r=B(this,R).get(a.queryHash),i=r?.state.data,n=function(e,t){return"function"==typeof e?e(t):e}(t,i);if(void 0!==n)return B(this,R).build(this,a).setData(n,{...s,manual:!0})}setQueriesData(e,t,s){return AO.batch(()=>B(this,R).findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,s)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return B(this,R).get(t.queryHash)?.state}removeQueries(e){const t=B(this,R);AO.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){const s=B(this,R);return AO.batch(()=>(s.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const s={revert:!0,...t},a=AO.batch(()=>B(this,R).findAll(e).map(e=>e.cancel(s)));return Promise.all(a).then(sO).catch(sO)}invalidateQueries(e,t={}){return AO.batch(()=>(B(this,R).findAll(e).forEach(e=>{e.invalidate()}),"none"===e?.refetchType?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const s={...t,cancelRefetch:t.cancelRefetch??!0},a=AO.batch(()=>B(this,R).findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,s);return s.throwOnError||(t=t.catch(sO)),"paused"===e.state.fetchStatus?Promise.resolve():t}));return Promise.all(a).then(sO)}fetchQuery(e){const t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);const s=B(this,R).build(this,t);return s.isStaleByTime(aO(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(sO).catch(sO)}fetchInfiniteQuery(e){return e.behavior=OO(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(sO).catch(sO)}ensureInfiniteQueryData(e){return e.behavior=OO(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return bO.isOnline()?B(this,O).resumePausedMutations():Promise.resolve()}getQueryCache(){return B(this,R)}getMutationCache(){return B(this,O)}getDefaultOptions(){return B(this,D)}setDefaultOptions(e){U(this,D,e)}setQueryDefaults(e,t){B(this,q).set(oO(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...B(this,q).values()],s={};return t.forEach(t=>{lO(e,t.queryKey)&&Object.assign(s,t.defaultOptions)}),s}setMutationDefaults(e,t){B(this,E).set(oO(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...B(this,E).values()],s={};return t.forEach(t=>{lO(e,t.mutationKey)&&Object.assign(s,t.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;const t={...B(this,D).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=nO(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===gO&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...B(this,D).mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){B(this,R).clear(),B(this,O).clear()}},R=new WeakMap,O=new WeakMap,D=new WeakMap,q=new WeakMap,E=new WeakMap,z=new WeakMap,_=new WeakMap,L=new WeakMap,F),zO=Qe.createContext(void 0),_O=({client:e,children:t})=>(Qe.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),J.jsx(zO.Provider,{value:e,children:t}));const LO="allerin_utms";function FO(){const e=new URLSearchParams(window.location.search);if(e.has("utm_source")||e.has("utm_medium")||e.has("utm_campaign")){const s={utm_source:e.get("utm_source")||"direct",utm_medium:e.get("utm_medium")||"none",utm_campaign:e.get("utm_campaign")||"",utm_content:e.get("utm_content")||"",utm_term:e.get("utm_term")||"",timestamp:Date.now()};try{localStorage.setItem(LO,JSON.stringify(s))}catch(t){}return s}try{const e=localStorage.getItem(LO);if(e){const t=JSON.parse(e),s=Date.now()-t.timestamp;if(s<7776e6)return t;localStorage.removeItem(LO)}}catch(t){}return{utm_source:"direct",utm_medium:"none"}}const WO="allerin_session_id";function HO(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function VO(){try{const e=sessionStorage.getItem(WO),t=Date.now();if(e){const s=JSON.parse(e),a=t-s.lastActivity,r=t-s.created;if(a<18e5&&r<864e5)return s.lastActivity=t,sessionStorage.setItem(WO,JSON.stringify(s)),s.id}const s={id:HO(),created:t,lastActivity:t};return sessionStorage.setItem(WO,JSON.stringify(s)),s.id}catch(e){return HO()}}function BO(e,t={}){if("undefined"==typeof window||!window.dataLayer)return;const s={event:e,...t,page_context:{path:window.location.pathname,title:document.title,referrer:document.referrer},utm:FO(),session_id:VO(),timestamp:Date.now()};window.dataLayer.push(s)}function GO(e){BO("request_demo_click",e)}function UO(e,t){BO("final_cta_click",{primary:e,label:t})}function $O(e){BO("roi_results_view",e)}function YO(e){BO("roi_book_consult",e)}function KO(e){BO("outcomes_start",{industry:e})}function QO(e){BO("outcomes_usecase_select",{usecases:e})}function ZO(e){BO("outcomes_results_view",e)}function JO(e){BO("outcomes_download_plan",e)}function XO(e){BO("outcomes_book_consult",e)}function eD(e,t){BO("service_sample_view",{service_slug:e,sample_type:t})}function tD(e,t){BO("service_modal_view",{service:e,modal_type:t})}function sD(){return Qe.useLayoutEffect(()=>{const e=document.createElement("style");return e.id="cookie-consent-custom-styles",e.textContent="\n      /* ============================================\n         CSS CUSTOM PROPERTIES (Design System Tokens)\n         ============================================ */\n      #cc-main {\n        --cc-bg: hsl(var(--card));\n        --cc-primary-color: hsl(var(--foreground));\n        --cc-secondary-color: hsl(var(--muted-foreground));\n        --cc-btn-primary-bg: hsl(var(--primary));\n        --cc-btn-primary-text: hsl(var(--primary-foreground));\n        --cc-btn-primary-hover-bg: hsl(var(--primary) / 0.9);\n        --cc-btn-secondary-bg: hsl(var(--secondary));\n        --cc-btn-secondary-text: hsl(var(--secondary-foreground));\n        --cc-btn-secondary-hover-bg: hsl(var(--accent));\n        --cc-separator-border-color: hsl(var(--border));\n        --cc-cookie-category-block-bg: hsl(var(--muted));\n        --cc-toggle-on-bg: hsl(var(--primary));\n        --cc-toggle-off-bg: hsl(var(--muted));\n        --cc-toggle-readonly-bg: hsl(var(--muted));\n        --cc-overlay-bg: rgba(0, 0, 0, 0.5);\n        --cc-modal-border-radius: var(--radius);\n        --cc-btn-border-radius: var(--radius);\n        --cc-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;\n      }\n\n      /* ============================================\n         CONSENT MODAL (Banner) - Bar Layout\n         ============================================ */\n      \n      /* Consent modal container - horizontal bar at bottom */\n      #cc-main .cm {\n        background: hsl(var(--card)) !important;\n        border-top: 1px solid hsl(var(--border)) !important;\n        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1) !important;\n        border-radius: 0 !important;\n      }\n\n      /* Body layout - horizontal on desktop */\n      #cc-main .cm__body {\n        display: flex !important;\n        flex-direction: row !important;\n        align-items: center !important;\n        justify-content: space-between !important;\n        padding: 1rem 2rem !important;\n        gap: 1.5rem !important;\n        max-width: 1400px !important;\n        margin: 0 auto !important;\n      }\n\n      /* Text section */\n      #cc-main .cm__texts {\n        flex: 1 !important;\n        margin: 0 !important;\n      }\n\n      #cc-main .cm__title {\n        font-size: 1rem !important;\n        font-weight: 600 !important;\n        color: hsl(var(--foreground)) !important;\n        margin: 0 0 0.25rem 0 !important;\n      }\n\n      #cc-main .cm__desc {\n        font-size: 0.875rem !important;\n        line-height: 1.4 !important;\n        color: hsl(var(--muted-foreground)) !important;\n        margin: 0 !important;\n      }\n\n      /* Buttons container */\n      #cc-main .cm__btns {\n        display: flex !important;\n        flex-direction: row !important;\n        gap: 0.5rem !important;\n        flex-shrink: 0 !important;\n      }\n\n      /* Button styling */\n      #cc-main .cm__btn {\n        padding: 0.5rem 1rem !important;\n        font-size: 0.875rem !important;\n        font-weight: 500 !important;\n        white-space: nowrap !important;\n        border-radius: var(--radius) !important;\n        border: none !important;\n        cursor: pointer !important;\n        transition: all 0.2s ease !important;\n      }\n\n      #cc-main .cm__btn:focus-visible {\n        outline: 2px solid hsl(var(--ring)) !important;\n        outline-offset: 2px !important;\n      }\n\n      /* Mobile responsive */\n      @media (max-width: 768px) {\n        #cc-main .cm__body {\n          flex-direction: column !important;\n          align-items: stretch !important;\n          padding: 1rem !important;\n          gap: 1rem !important;\n        }\n\n        #cc-main .cm__btns {\n          width: 100% !important;\n        }\n\n        #cc-main .cm__btn {\n          flex: 1 !important;\n        }\n      }\n\n      /* ============================================\n         PREFERENCES MODAL - Styling Only\n         DO NOT override visibility, display, or position\n         ============================================ */\n\n      /* Modal container styling */\n      #cc-main .pm {\n        background: hsl(var(--background)) !important;\n        border-radius: var(--radius) !important;\n        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;\n        max-width: 600px !important;\n      }\n\n      /* Header */\n      #cc-main .pm__header {\n        padding: 1.5rem !important;\n        border-bottom: 1px solid hsl(var(--border)) !important;\n      }\n\n      #cc-main .pm__title {\n        font-size: 1.25rem !important;\n        font-weight: 600 !important;\n        color: hsl(var(--foreground)) !important;\n      }\n\n      /* Body */\n      #cc-main .pm__body {\n        padding: 1.5rem !important;\n        max-height: 50vh !important;\n        overflow-y: auto !important;\n      }\n\n      /* Sections */\n      #cc-main .pm__section {\n        margin-bottom: 1.5rem !important;\n      }\n\n      #cc-main .pm__section-title {\n        font-size: 1rem !important;\n        font-weight: 600 !important;\n        color: hsl(var(--foreground)) !important;\n        margin-bottom: 0.5rem !important;\n      }\n\n      #cc-main .pm__section-desc {\n        font-size: 0.875rem !important;\n        color: hsl(var(--muted-foreground)) !important;\n        line-height: 1.5 !important;\n      }\n\n      /* Footer */\n      #cc-main .pm__footer {\n        padding: 1rem 1.5rem !important;\n        border-top: 1px solid hsl(var(--border)) !important;\n        display: flex !important;\n        gap: 0.5rem !important;\n        justify-content: flex-end !important;\n      }\n\n      #cc-main .pm__btn {\n        padding: 0.5rem 1rem !important;\n        font-size: 0.875rem !important;\n        font-weight: 500 !important;\n        border-radius: var(--radius) !important;\n        cursor: pointer !important;\n      }\n\n      /* Close button */\n      #cc-main .pm__close-btn {\n        color: hsl(var(--muted-foreground)) !important;\n        transition: color 0.2s ease !important;\n      }\n\n      #cc-main .pm__close-btn:hover {\n        color: hsl(var(--foreground)) !important;\n      }\n\n      /* Toggle switches */\n      #cc-main .pm__toggle-icon {\n        background: hsl(var(--muted)) !important;\n        border-radius: 12px !important;\n      }\n\n      #cc-main .pm__toggle--on .pm__toggle-icon {\n        background: hsl(var(--primary)) !important;\n      }\n\n      #cc-main .pm__toggle-knob {\n        background: hsl(var(--background)) !important;\n      }\n\n      /* Cookie table */\n      #cc-main .pm__table {\n        width: 100% !important;\n        font-size: 0.75rem !important;\n        border-collapse: collapse !important;\n      }\n\n      #cc-main .pm__table th,\n      #cc-main .pm__table td {\n        padding: 0.5rem !important;\n        text-align: left !important;\n        border-bottom: 1px solid hsl(var(--border)) !important;\n      }\n\n      #cc-main .pm__table th {\n        font-weight: 600 !important;\n        color: hsl(var(--foreground)) !important;\n      }\n\n      #cc-main .pm__table td {\n        color: hsl(var(--muted-foreground)) !important;\n      }\n\n      /* Links */\n      #cc-main .cc-link {\n        color: hsl(var(--primary)) !important;\n        text-decoration: underline !important;\n      }\n\n      #cc-main .cc-link:hover {\n        opacity: 0.8 !important;\n      }\n\n      /* Reduced motion support */\n      @media (prefers-reduced-motion: reduce) {\n        #cc-main * {\n          animation-duration: 0.01ms !important;\n          transition-duration: 0.01ms !important;\n        }\n      }\n    ",document.getElementById("cookie-consent-custom-styles")||document.head.appendChild(e),()=>{const e=document.getElementById("cookie-consent-custom-styles");e&&document.head.removeChild(e)}},[]),null}
/*!
* CookieConsent 3.1.0
* https://github.com/orestbida/cookieconsent
* Author Orest Bida
* Released under the MIT License
*/const aD="opt-in",rD="opt-out",iD="show--consent",nD="show--preferences",oD="disable--interaction",lD="data-category",dD="div",cD="button",mD="aria-hidden",hD="btn-group",xD="click",uD="data-role",pD="consentModal",gD="preferencesModal";class fD{constructor(){this.t={mode:aD,revision:0,autoShow:!0,lazyHtmlGeneration:!0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:"cc_cookie",expiresAfterDays:182,domain:"",path:"/",secure:!0,sameSite:"Lax"}},this.o={i:{},l:"",_:{},u:{},p:{},m:[],v:!1,h:null,C:null,S:null,M:"",D:!0,T:!1,k:!1,A:!1,N:!1,H:[],V:!1,I:!0,L:[],j:!1,F:"",P:!1,O:[],R:[],B:[],$:[],G:!1,J:!1,U:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={ae:{},se:{}},this.ce={},this.re={ie:"cc:onFirstConsent",le:"cc:onConsent",de:"cc:onChange",fe:"cc:onModalShow",_e:"cc:onModalHide",ue:"cc:onModalReady"}}}const yD=new fD,bD=(e,t)=>e.indexOf(t),vD=(e,t)=>-1!==bD(e,t),jD=e=>Array.isArray(e),ND=e=>"string"==typeof e,wD=e=>!!e&&"object"==typeof e&&!jD(e),kD=e=>"function"==typeof e,MD=e=>Object.keys(e),AD=e=>Array.from(new Set(e)),SD=()=>document.activeElement,CD=e=>e.preventDefault(),ID=(e,t)=>e.querySelectorAll(t),PD=e=>{const t=document.createElement(e);return e===cD&&(t.type=e),t},TD=(e,t,s)=>e.setAttribute(t,s),RD=(e,t,s)=>{e.removeAttribute(s?"data-"+t:t)},OD=(e,t,s)=>e.getAttribute(s?"data-"+t:t),DD=(e,t)=>e.appendChild(t),qD=(e,t)=>e.classList.add(t),ED=(e,t)=>qD(e,"cm__"+t),zD=(e,t)=>qD(e,"pm__"+t),_D=(e,t)=>e.classList.remove(t),LD=e=>{if("object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let s in e){let a=e[s];t[s]=LD(a)}return t},FD=()=>{const e={},{O:t,X:s,Y:a}=yD.o;for(const r of t)e[r]=VD(a[r],MD(s[r]));return e},WD=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),HD=(e,t,s,a)=>{e.addEventListener(t,s),a&&yD.o.m.push({pe:e,ge:t,me:s})},VD=(e,t)=>{const s=e||[],a=t||[];return s.filter(e=>!vD(a,e)).concat(a.filter(e=>!vD(s,e)))},BD=e=>{yD.o.R=AD(e),yD.o.F=(()=>{let e="custom";const{R:t,O:s,B:a}=yD.o,r=t.length;return r===s.length?e="all":r===a.length&&(e="necessary"),e})()},GD=(e,t,s,a)=>{const r="accept-",{show:i,showPreferences:n,hide:o,hidePreferences:l,acceptCategory:d}=t,c=e||document,m=e=>ID(c,`[data-cc="${e}"]`),h=(e,t)=>{CD(e),d(t),l(),o()},x=m("show-preferencesModal"),u=m("show-consentModal"),p=m(r+"all"),g=m(r+"necessary"),f=m(r+"custom"),y=yD.t.lazyHtmlGeneration;for(const b of x)TD(b,"aria-haspopup","dialog"),HD(b,xD,e=>{CD(e),n()}),y&&(HD(b,"mouseenter",e=>{CD(e),yD.o.N||s(t,a)},!0),HD(b,"focus",()=>{yD.o.N||s(t,a)}));for(let b of u)TD(b,"aria-haspopup","dialog"),HD(b,xD,e=>{CD(e),i(!0)},!0);for(let b of p)HD(b,xD,e=>{h(e,"all")},!0);for(let b of f)HD(b,xD,e=>{h(e)},!0);for(let b of g)HD(b,xD,e=>{h(e,[])},!0)},UD=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute("tabindex"))},$D=(e,t)=>{const s=a=>{a.target.removeEventListener("transitionend",s),"opacity"===a.propertyName&&"1"===getComputedStyle(e).opacity&&UD(1===t?yD.ne.be:yD.ne.ve)};HD(e,"transitionend",s)};let YD;const KD=e=>{clearTimeout(YD),e?qD(yD.ne.ye,oD):YD=setTimeout(()=>{_D(yD.ne.ye,oD)},500)},QD=["M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5","M 3.572 13.406 L 8.281 18.115 L 20.428 5.885","M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 "],ZD=(e=0,t=1.5)=>`<svg viewBox="0 0 24 24" stroke-width="${t}"><path d="${QD[e]}"/></svg>`,JD=e=>{const t=yD.ne,s=yD.o;(e=>{const a=e===t.he,r=s.i.disablePageInteraction?t.ye:a?t.Ce:t.ye;HD(r,"keydown",t=>{if("Tab"!==t.key||!(a?s.k&&!s.A:s.A))return;const r=SD(),i=a?s.q:s.K;0!==i.length&&(t.shiftKey?r!==i[0]&&e.contains(r)||(CD(t),UD(i[1])):r!==i[1]&&e.contains(r)||(CD(t),UD(i[0])))},!0)})(e)},XD=["[href]",cD,"input","details","[tabindex]"].map(e=>e+':not([tabindex="-1"])').join(","),eq=e=>{const{o:t,ne:s}=yD,a=(e,t)=>{const s=ID(e,XD);t[0]=s[0],t[1]=s[s.length-1]};1===e&&t.T&&a(s.he,t.q),2===e&&t.N&&a(s.we,t.K)},tq=(e,t,s)=>{const{de:a,le:r,ie:i,_e:n,ue:o,fe:l}=yD.ce,d=yD.re;if(t){const a={modalName:t};return e===d.fe?kD(l)&&l(a):e===d._e?kD(n)&&n(a):(a.modal=s,kD(o)&&o(a)),WD(e,a)}const c={cookie:yD.o.p};e===d.ie?kD(i)&&i(LD(c)):e===d.le?kD(r)&&r(LD(c)):(c.changedCategories=yD.o.L,c.changedServices=yD.o.ee,kD(a)&&a(LD(c))),WD(e,LD(c))},sq=(e,t)=>{try{return e()}catch(s){return!1}},aq=e=>{const{Y:t,ee:s,O:a,X:r,oe:i,p:n,L:o}=yD.o;for(const m of a){const e=s[m]||t[m]||[];for(const s of e){const e=r[m][s];if(!e)continue;const{onAccept:a,onReject:i}=e;!e.Se&&vD(t[m],s)?(e.Se=!0,kD(a)&&a()):e.Se&&!vD(t[m],s)&&(e.Se=!1,kD(i)&&i())}}if(!yD.t.manageScriptTags)return;const l=i,d=e||n.categories||[],c=(e,a)=>{if(a>=e.length)return;const r=i[a];if(r.xe)return c(e,a+1);const n=r.Me,l=r.De,m=r.Te,h=vD(d,l),x=!!m&&vD(t[l],m);if(!m&&!r.ke&&h||!m&&r.ke&&!h&&vD(o,l)||m&&!r.ke&&x||m&&r.ke&&!x&&vD(s[l]||[],m)){r.xe=!0;const t=OD(n,"type",!0);RD(n,"type",!!t),RD(n,lD);let s=OD(n,"src",!0);s&&RD(n,"src",!0);const i=PD("script");i.textContent=n.innerHTML;for(const{nodeName:e}of n.attributes)TD(i,e,n[e]||OD(n,e));t&&(i.type=t),s?i.src=s:s=n.src;const o=!!s&&(!t||["text/javascript","module"].includes(t));if(o&&(i.onload=i.onerror=()=>{c(e,++a)}),n.replaceWith(i),o)return}c(e,++a)};c(l,0)},rq="bottom",iq="left",nq="center",oq="right",lq="inline",dq="wide",cq="pm--",mq=["middle","top",rq],hq=[iq,nq,oq],xq={box:{Ee:[dq,lq],Ae:mq,Ne:hq,He:rq,Ve:oq},cloud:{Ee:[lq],Ae:mq,Ne:hq,He:rq,Ve:nq},bar:{Ee:[lq],Ae:mq.slice(1),Ne:[],He:rq,Ve:""}},uq={box:{Ee:[],Ae:[],Ne:[],He:"",Ve:""},bar:{Ee:[dq],Ae:[],Ne:[iq,oq],He:"",Ve:iq}},pq=e=>{const t=yD.o.i.guiOptions,s=t&&t.consentModal,a=t&&t.preferencesModal;0===e&&gq(yD.ne.he,xq,s,"cm--","box","cm"),1===e&&gq(yD.ne.we,uq,a,cq,"box","pm")},gq=(e,t,s,a,r,i)=>{e.className=i;const n=s&&s.layout,o=s&&s.position,l=s&&s.flipButtons,d=!s||!1!==s.equalWeightButtons,c=n&&n.split(" ")||[],m=c[0],h=c[1],x=m in t?m:r,u=t[x],p=vD(u.Ee,h)&&h,g=o&&o.split(" ")||[],f=g[0],y=a===cq?g[0]:g[1],b=vD(u.Ae,f)?f:u.He,v=vD(u.Ne,y)?y:u.Ve,j=t=>{t&&qD(e,a+t)};j(x),j(p),j(b),j(v),l&&j("flip");const N=i+"__btn--secondary";if("cm"===i){const{Ie:e,Le:t}=yD.ne;e&&(d?_D(e,N):qD(e,N)),t&&(d?_D(t,N):qD(t,N))}else{const{je:e}=yD.ne;e&&(d?_D(e,N):qD(e,N))}},fq=(e,t)=>{const s=yD.o,a=yD.ne,{hide:r,hidePreferences:i,acceptCategory:n}=e,o=e=>{n(e),i(),r()},l=s.u&&s.u.preferencesModal;if(!l)return;const d=l.title,c=l.closeIconLabel,m=l.acceptAllBtn,h=l.acceptNecessaryBtn,x=l.savePreferencesBtn,u=l.sections||[],p=m||h||x;if(a.Fe)a.Pe=PD(dD),zD(a.Pe,"body");else{a.Fe=PD(dD),qD(a.Fe,"pm-wrapper");const e=PD("div");qD(e,"pm-overlay"),DD(a.Fe,e),HD(e,xD,i),a.we=PD(dD),qD(a.we,"pm"),TD(a.we,"role","dialog"),TD(a.we,mD,!0),TD(a.we,"aria-modal",!0),TD(a.we,"aria-labelledby","pm__title"),HD(a.ye,"keydown",e=>{27===e.keyCode&&i()},!0),a.Oe=PD(dD),zD(a.Oe,"header"),a.Re=PD("h2"),zD(a.Re,"title"),a.Re.id="pm__title",a.Be=PD(cD),zD(a.Be,"close-btn"),TD(a.Be,"aria-label",l.closeIconLabel||""),HD(a.Be,xD,i),a.$e=PD("span"),a.$e.innerHTML=ZD(),DD(a.Be,a.$e),a.Ge=PD(dD),zD(a.Ge,"body"),a.Je=PD(dD),zD(a.Je,"footer");var g=PD(dD);qD(g,"btns");var f=PD(dD),y=PD(dD);zD(f,hD),zD(y,hD),DD(a.Je,f),DD(a.Je,y),DD(a.Oe,a.Re),DD(a.Oe,a.Be),a.ve=PD(dD),TD(a.ve,"tabIndex",-1),DD(a.we,a.ve),DD(a.we,a.Oe),DD(a.we,a.Ge),p&&DD(a.we,a.Je),DD(a.Fe,a.we)}let b;d&&(a.Re.innerHTML=d,c&&TD(a.Be,"aria-label",c)),u.forEach((e,t)=>{const r=e.title,i=e.description,n=e.linkedCategory,o=n&&s.P[n],d=e.cookieTable,c=d&&d.body,m=d&&d.caption,h=c&&c.length>0,x=!!o,u=x&&s.X[n],p=wD(u)&&MD(u)||[],g=x&&(!!i||!!h||MD(u).length>0);var f=PD(dD);if(zD(f,"section"),g||i){var y=PD(dD);zD(y,"section-desc-wrapper")}let v=p.length;if(g&&v>0){const e=PD(dD);zD(e,"section-services");for(const t of p){const s=u[t],a=s&&s.label||t,r=PD(dD),i=PD(dD),l=PD(dD),d=PD(dD);zD(r,"service"),zD(d,"service-title"),zD(i,"service-header"),zD(l,"service-icon");const c=yq(a,t,o,!0,n);d.innerHTML=a,DD(i,l),DD(i,d),DD(r,i),DD(r,c),DD(e,r)}DD(y,e)}if(r){var j=PD(dD),N=PD(x?cD:dD);if(zD(j,"section-title-wrapper"),zD(N,"section-title"),N.innerHTML=r,DD(j,N),x){const e=PD("span");e.innerHTML=ZD(2,3.5),zD(e,"section-arrow"),DD(j,e),f.className+="--toggle";const t=yq(r,n,o);let s=l.serviceCounterLabel;if(v>0&&ND(s)){let e=PD("span");zD(e,"badge"),zD(e,"service-counter"),TD(e,mD,!0),TD(e,"data-servicecounter",v),s&&(s=s.split("|"),s=s.length>1&&v>1?s[1]:s[0],TD(e,"data-counterlabel",s)),e.innerHTML=v+(s?" "+s:""),DD(N,e)}if(g){zD(f,"section--expandable");var w=n+"-desc";TD(N,"aria-expanded",!1),TD(N,"aria-controls",w)}DD(j,t)}else TD(N,"role","heading"),TD(N,"aria-level","3");DD(f,j)}if(i){var k=PD("p");zD(k,"section-desc"),k.innerHTML=i,DD(y,k)}if(g&&(TD(y,mD,"true"),y.id=w,M=y,A=f,S=N,HD(N,xD,()=>{A.classList.contains("is-expanded")?(_D(A,"is-expanded"),TD(S,"aria-expanded","false"),TD(M,mD,"true")):(qD(A,"is-expanded"),TD(S,"aria-expanded","true"),TD(M,mD,"false"))}),h)){const e=PD("table"),s=PD("thead"),r=PD("tbody");if(m){const t=PD("caption");zD(t,"table-caption"),t.innerHTML=m,e.appendChild(t)}zD(e,"section-table"),zD(s,"table-head"),zD(r,"table-body");const i=d.headers,n=MD(i),o=a.Ue.createDocumentFragment(),l=PD("tr");for(const a of n){const e=i[a],s=PD("th");s.id="cc__row-"+e+t,TD(s,"scope","col"),zD(s,"table-th"),s.innerHTML=e,DD(o,s)}DD(l,o),DD(s,l);const h=a.Ue.createDocumentFragment();for(const a of c){const e=PD("tr");zD(e,"table-tr");for(const s of n){const r=i[s],n=a[s],o=PD("td"),l=PD(dD);zD(o,"table-td"),TD(o,"data-column",r),TD(o,"headers","cc__row-"+r+t),l.insertAdjacentHTML("beforeend",n),DD(o,l),DD(e,o)}DD(h,e)}DD(r,h),DD(e,s),DD(e,r),DD(y,e)}var M,A,S;(g||i)&&DD(f,y);const C=a.Pe||a.Ge;x?(b||(b=PD(dD),zD(b,"section-toggles")),b.appendChild(f)):b=null,DD(C,b||f)}),m&&(a.ze||(a.ze=PD(cD),zD(a.ze,"btn"),TD(a.ze,uD,"all"),DD(f,a.ze),HD(a.ze,xD,()=>o("all"))),a.ze.innerHTML=m),h&&(a.je||(a.je=PD(cD),zD(a.je,"btn"),TD(a.je,uD,"necessary"),DD(f,a.je),HD(a.je,xD,()=>o([]))),a.je.innerHTML=h),x&&(a.qe||(a.qe=PD(cD),zD(a.qe,"btn"),zD(a.qe,"btn--secondary"),TD(a.qe,uD,"save"),DD(y,a.qe),HD(a.qe,xD,()=>o())),a.qe.innerHTML=x),a.Pe&&(a.we.replaceChild(a.Pe,a.Ge),a.Ge=a.Pe),pq(1),s.N||(s.N=!0,tq(yD.re.ue,gD,a.we),t(e),DD(a.Ce,a.Fe),JD(a.we),setTimeout(()=>qD(a.Fe,"cc--anim"),100)),eq(2)};function yq(e,t,s,a,r){const i=yD.o,n=yD.ne,o=PD("label"),l=PD("input"),d=PD("span"),c=PD("span"),m=PD("span"),h=PD("span"),x=PD("span");if(h.innerHTML=ZD(1,3),x.innerHTML=ZD(0,3),l.type="checkbox",qD(o,"section__toggle-wrapper"),qD(l,"section__toggle"),qD(h,"toggle__icon-on"),qD(x,"toggle__icon-off"),qD(d,"toggle__icon"),qD(c,"toggle__icon-circle"),qD(m,"toggle__label"),TD(d,mD,"true"),a?(qD(o,"toggle-service"),TD(l,lD,r),n.se[r][t]=l):n.ae[t]=l,a?(u=r,HD(l,"change",()=>{const e=n.se[u],t=n.ae[u];i.Z[u]=[];for(let s in e){const t=e[s];t.checked&&i.Z[u].push(t.value)}t.checked=i.Z[u].length>0})):(e=>{HD(l,xD,()=>{const t=n.se[e],s=l.checked;i.Z[e]=[];for(let a in t)t[a].checked=s,s&&i.Z[e].push(a)})})(t),l.value=t,m.textContent=e.replace(/<.*>.*<\/.*>/gm,""),DD(c,x),DD(c,h),DD(d,c),i.D)(s.readOnly||s.enabled)&&(l.checked=!0);else if(a){const e=i.Y[r];l.checked=s.readOnly||vD(e,t)}else vD(i.R,t)&&(l.checked=!0);var u;return s.readOnly&&(l.disabled=!0),DD(o,l),DD(o,d),DD(o,m),o}const bq=()=>{const e=PD("span");return yD.ne.Ke||(yD.ne.Ke=e),e},vq=(e,t)=>{const s=yD.o,a=yD.ne,{hide:r,showPreferences:i,acceptCategory:n}=e,o=s.u&&s.u.consentModal;if(!o)return;const l=o.acceptAllBtn,d=o.acceptNecessaryBtn,c=o.showPreferencesBtn,m=o.closeIconLabel,h=o.footer,x=o.label,u=o.title,p=e=>{r(),n(e)};if(!a.Qe){a.Qe=PD(dD),a.he=PD(dD),a.We=PD(dD),a.Xe=PD(dD),a.Ye=PD(dD),qD(a.Qe,"cm-wrapper"),qD(a.he,"cm"),ED(a.We,"body"),ED(a.Xe,"texts"),ED(a.Ye,"btns"),TD(a.he,"role","dialog"),TD(a.he,"aria-modal","true"),TD(a.he,mD,"false"),TD(a.he,"aria-describedby","cm__desc"),x?TD(a.he,"aria-label",x):u&&TD(a.he,"aria-labelledby","cm__title");const e="box",t=s.i.guiOptions,r=t&&t.consentModal,i=(r&&r.layout||e).split(" ")[0]===e;u&&m&&i&&(a.Le||(a.Le=PD(cD),a.Le.innerHTML=ZD(),ED(a.Le,"btn"),ED(a.Le,"btn--close"),HD(a.Le,xD,()=>{p([])}),DD(a.We,a.Le)),TD(a.Le,"aria-label",m)),DD(a.We,a.Xe),(l||d||c)&&DD(a.We,a.Ye),a.be=PD(dD),TD(a.be,"tabIndex",-1),DD(a.he,a.be),DD(a.he,a.We),DD(a.Qe,a.he)}u&&(a.Ze||(a.Ze=PD("h2"),a.Ze.className=a.Ze.id="cm__title",DD(a.Xe,a.Ze)),a.Ze.innerHTML=u);let g=o.description;if(g&&(s.V&&(g=g.replace("{{revisionMessage}}",s.I?"":o.revisionMessage||"")),a.et||(a.et=PD("p"),a.et.className=a.et.id="cm__desc",DD(a.Xe,a.et)),a.et.innerHTML=g),l&&(a.tt||(a.tt=PD(cD),DD(a.tt,bq()),ED(a.tt,"btn"),TD(a.tt,uD,"all"),HD(a.tt,xD,()=>{p("all")})),a.tt.firstElementChild.innerHTML=l),d&&(a.Ie||(a.Ie=PD(cD),DD(a.Ie,bq()),ED(a.Ie,"btn"),TD(a.Ie,uD,"necessary"),HD(a.Ie,xD,()=>{p([])})),a.Ie.firstElementChild.innerHTML=d),c&&(a.ot||(a.ot=PD(cD),DD(a.ot,bq()),ED(a.ot,"btn"),ED(a.ot,"btn--secondary"),TD(a.ot,uD,"show"),HD(a.ot,"mouseenter",()=>{s.N||fq(e,t)}),HD(a.ot,xD,i)),a.ot.firstElementChild.innerHTML=c),a.nt||(a.nt=PD(dD),ED(a.nt,hD),l&&DD(a.nt,a.tt),d&&DD(a.nt,a.Ie),(l||d)&&DD(a.We,a.nt),DD(a.Ye,a.nt)),a.ot&&!a.st&&(a.st=PD(dD),a.Ie&&a.tt?(ED(a.st,hD),DD(a.st,a.ot),DD(a.Ye,a.st)):(DD(a.nt,a.ot),ED(a.nt,hD+"--uneven"))),h){if(!a.ct){let e=PD(dD),t=PD(dD);a.ct=PD(dD),ED(e,"footer"),ED(t,"links"),ED(a.ct,"link-group"),DD(t,a.ct),DD(e,t),DD(a.he,e)}a.ct.innerHTML=h}pq(0),s.T||(s.T=!0,tq(yD.re.ue,pD,a.he),t(e),DD(a.Ce,a.Qe),JD(a.he),setTimeout(()=>qD(a.Qe,"cc--anim"),100)),eq(1),GD(a.We,e,fq,t)},jq=e=>{if(!ND(e))return null;if(e in yD.o._)return e;let t=e.slice(0,2);return t in yD.o._?t:null},Nq=()=>yD.o.l||yD.o.i.language.default,wq=e=>{e&&(yD.o.l=e)},kq=()=>{const e=yD.ne;if(e.Ce)return;e.Ce=PD(dD),e.Ce.id="cc-main",e.Ce.setAttribute("data-nosnippet",""),(()=>{let e=yD.o.i.language.rtl,t=yD.ne.Ce;e&&t&&(jD(e)||(e=[e]),vD(e,yD.o.l)?qD(t,"cc--rtl"):_D(t,"cc--rtl"))})();let t=yD.o.i.root;t&&ND(t)&&(t=document.querySelector(t)),(t||e.Ue.body).appendChild(e.Ce)},Mq=e=>sq(()=>localStorage.removeItem(e)),Aq=(e,t)=>{if(t instanceof RegExp)return e.filter(e=>t.test(e));{const s=bD(e,t);return s>-1?[e[s]]:[]}},Sq=e=>{const{hostname:t,protocol:s}=location,{name:a,path:r,domain:i,sameSite:n,useLocalStorage:o,secure:l}=yD.t.cookie,d=864e5*(()=>{const e=yD.t.cookie.expiresAfterDays;return kD(e)?e(yD.o.F):e})(),c=new Date;c.setTime(c.getTime()+d),yD.o.p.expirationTime=c.getTime();const m=JSON.stringify(yD.o.p);let h=a+"="+encodeURIComponent(m)+(0!==d?"; expires="+c.toUTCString():"")+"; Path="+r+"; SameSite="+n;var x,u;vD(t,".")&&(h+="; Domain="+i),l&&"https:"===s&&(h+="; Secure"),o?(x=a,u=m,sq(()=>localStorage.setItem(x,u))):document.cookie=h,yD.o.p},Cq=(e,t,s)=>{if(0===e.length)return;const a=s||yD.t.cookie.domain,r=t||yD.t.cookie.path,i="www."===a.slice(0,4),n=i&&a.substring(4),o=(e,t)=>{t&&"."!==t.slice(0,1)&&(t="."+t),document.cookie=e+"=; path="+r+(t?"; domain="+t:"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT;"};for(const l of e)o(l,s),s||o(l,a),i&&o(l,n)},Iq=(e,t)=>{const s=document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]+)");return s?t?s.pop():e:""},Pq=e=>{const t=document.cookie.split(/;\s*/),s=[];for(const a of t){let t=a.split("=")[0];e?sq(()=>{e.test(t)&&s.push(t)}):s.push(t)}return s},Tq=e=>{const t=yD.o.D?[]:yD.o.R;return vD(t,e)},Rq=(e,t)=>{const s=yD.o.D?[]:yD.o.Y[t]||[];return vD(s,e)},Oq=e=>{const{ne:t,o:s}=yD;if(!s.k){if(!s.T){if(!e)return;vq(qq,kq)}s.k=!0,s.J=SD(),s.v&&KD(!0),$D(t.he,1),qD(t.ye,iD),TD(t.he,mD,"false"),setTimeout(()=>{UD(yD.ne.be)},100),tq(yD.re.fe,pD)}},Dq=()=>{const e=yD.o;e.A||(e.N||fq(qq,kq),e.A=!0,e.k?e.U=SD():e.J=SD(),$D(yD.ne.we,2),qD(yD.ne.ye,nD),TD(yD.ne.we,mD,"false"),setTimeout(()=>{UD(yD.ne.ve)},100),tq(yD.re.fe,gD))};var qq={show:Oq,hide:()=>{const{ne:e,o:t,re:s}=yD;t.k&&(t.k=!1,t.v&&KD(),UD(e.Ke,!0),_D(e.ye,iD),TD(e.he,mD,"true"),UD(t.J),t.J=null,tq(s._e,pD))},showPreferences:Dq,hidePreferences:()=>{const e=yD.o;e.A&&(e.A=!1,(()=>{const e=Eq(),t=yD.o.P,s=yD.ne.ae,a=yD.ne.se,r=e=>vD(yD.o.$,e);for(const i in s){const n=!!t[i].readOnly;s[i].checked=n||(e?Tq(i):r(i));for(const t in a[i])a[i][t].checked=n||(e?Rq(t,i):r(i))}})(),UD(yD.ne.$e,!0),_D(yD.ne.ye,nD),TD(yD.ne.we,mD,"true"),e.k?(UD(e.U),e.U=null):(UD(e.J),e.J=null),tq(yD.re._e,gD))},acceptCategory:(e,t=[])=>{((e,t)=>{const{O:s,R:a,B:r,N:i,Z:n,$:o,X:l}=yD.o;let d=[];if(e){jD(e)?d.push(...e):ND(e)&&(d="all"===e?s:[e]);for(const e of s)n[e]=vD(d,e)?MD(l[e]):[]}else d=[...a,...o],i&&(d=(()=>{const e=yD.ne.ae;if(!e)return[];let t=[];for(let s in e)e[s].checked&&t.push(s);return t})());d=d.filter(e=>!vD(s,e)||!vD(t,e)),d.push(...r),BD(d)})(e,t),(()=>{const e=yD.o,{Z:t,B:s,Y:a,X:r,O:i}=e,n=i;e.te=LD(a);for(const o of n){const i=r[o],n=MD(i),l=t[o]&&t[o].length>0,d=vD(s,o);if(0!==n.length){if(a[o]=[],d)a[o].push(...n);else if(l){const e=t[o];a[o].push(...e)}else a[o]=e.Z[o];a[o]=AD(a[o])}}})(),(()=>{const e=yD.o;e.L=yD.t.mode===rD&&e.D?VD(e.$,e.R):VD(e.R,e.p.categories);let t=e.L.length>0,s=!1;for(const n of e.O)e.ee[n]=VD(e.Y[n],e.te[n]),e.ee[n].length>0&&(s=!0);const a=yD.ne.ae;for(const n in a)a[n].checked=vD(e.R,n);for(const n of e.O){const t=yD.ne.se[n],s=e.Y[n];for(const e in t)t[e].checked=vD(s,e)}e.C||(e.C=new Date),e.M||(e.M="10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))),e.p={categories:LD(e.R),revision:yD.t.revision,data:e.h,consentTimestamp:e.C.toISOString(),consentId:e.M,services:LD(e.Y),languageCode:yD.o.l},e.S&&(e.p.lastConsentTimestamp=e.S.toISOString());let r=!1;const i=t||s;(e.D||i)&&(e.D&&(e.D=!1,r=!0),e.S=e.S?new Date:e.C,e.p.lastConsentTimestamp=e.S.toISOString(),Sq(),yD.t.autoClearCookies&&(r||i)&&(e=>{const t=yD.o,s=Pq(),a=(e=>{const t=yD.o;return(e?t.O:t.L).filter(e=>{const s=t.P[e];return!!s&&!s.readOnly&&!!s.autoClear})})(e);for(const r in t.ee)for(const e of t.ee[r]){const a=t.X[r][e].cookies;if(!vD(t.Y[r],e)&&a)for(const e of a){const t=Aq(s,e.name);Cq(t,e.path,e.domain)}}for(const r of a){const a=t.P[r].autoClear,i=a&&a.cookies||[],n=vD(t.L,r),o=!vD(t.R,r),l=n&&o;if(e?o:l){a.reloadPage&&l&&(t.j=!0);for(const e of i){const t=Aq(s,e.name);Cq(t,e.path,e.domain)}}}})(r),aq()),r&&(tq(yD.re.ie),tq(yD.re.le),yD.t.mode===aD)||(i&&tq(yD.re.de),e.j&&(e.j=!1,location.reload()))})()}};const Eq=()=>!yD.o.D,zq=async e=>{const{o:t,t:s,re:a}=yD,r=window;if(!r._ccRun){if(r._ccRun=!0,(e=>{const{ne:t,t:s,o:a}=yD,r=s,i=a,{cookie:n}=r,o=yD.ce,l=e.cookie,d=e.categories,c=MD(d)||[],m=navigator,h=document;t.Ue=h,t.ye=h.documentElement,n.domain=location.hostname,i.i=e,i.P=d,i.O=c,i._=e.language.translations,i.v=!!e.disablePageInteraction,o.ie=e.onFirstConsent,o.le=e.onConsent,o.de=e.onChange,o._e=e.onModalHide,o.fe=e.onModalShow,o.ue=e.onModalReady;const{mode:x,autoShow:u,lazyHtmlGeneration:p,autoClearCookies:g,revision:f,manageScriptTags:y,hideFromBots:b}=e;x===rD&&(r.mode=x),"boolean"==typeof g&&(r.autoClearCookies=g),"boolean"==typeof y&&(r.manageScriptTags=y),"number"==typeof f&&f>=0&&(r.revision=f,i.V=!0),"boolean"==typeof u&&(r.autoShow=u),"boolean"==typeof p&&(r.lazyHtmlGeneration=p),!1===b&&(r.hideFromBots=!1),!0===r.hideFromBots&&m&&(i.G=m.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(m.userAgent)||m.webdriver),wD(l)&&(r.cookie={...n,...l}),r.autoClearCookies,i.V,r.manageScriptTags,(e=>{const{P:t,X:s,Y:a,Z:r,B:i}=yD.o;for(let n of e){const e=t[n],o=e.services||{},l=wD(o)&&MD(o)||[];s[n]={},a[n]=[],r[n]=[],e.readOnly&&(i.push(n),a[n]=l),yD.ne.se[n]={};for(let t of l){const e=o[t];e.Se=!1,s[n][t]=e}}})(c),(()=>{if(!yD.t.manageScriptTags)return;const e=yD.o,t=ID(document,"script["+lD+"]");for(const s of t){let t=OD(s,lD),a=s.dataset.service||"",r=!1;if(t&&"!"===t.charAt(0)&&(t=t.slice(1),r=!0),"!"===a.charAt(0)&&(a=a.slice(1),r=!0),vD(e.O,t)&&(e.oe.push({Me:s,xe:!1,ke:r,De:t,Te:a}),a)){const s=e.X[t];s[a]||(s[a]={Se:!1})}}})(),wq((()=>{const e=yD.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},s=jq(t[e]);if(s)return s}return Nq()})())})(e),t.G)return;(()=>{const e=yD.o,t=yD.t,s=(()=>{const e=yD.t.cookie.name,t=yD.t.cookie.useLocalStorage;return((e,t)=>{let s;return s=sq(()=>JSON.parse(t?e:decodeURIComponent(e)))||{},s})(t?(s=e,sq(()=>localStorage.getItem(s))||""):Iq(e,!0),t);var s})(),{categories:a,services:r,consentId:i,consentTimestamp:n,lastConsentTimestamp:o,data:l,revision:d}=s,c=jD(a);e.p=s,e.M=i;const m=!!i&&ND(i);e.C=n,e.C&&(e.C=new Date(n)),e.S=o,e.S&&(e.S=new Date(o)),e.h=void 0!==l?l:null,e.V&&m&&d!==t.revision&&(e.I=!1),e.D=!(m&&e.I&&e.C&&e.S&&c),t.cookie.useLocalStorage&&!e.D&&(e.D=(new Date).getTime()>(s.expirationTime||0),e.D&&Mq(t.cookie.name)),e.D,(()=>{const e=yD.o;for(const t of e.O){const s=e.P[t];if(s.readOnly||s.enabled){e.$.push(t);const s=e.X[t]||{};for(let a in s)e.Z[t].push(a),e.i.mode===rD&&e.Y[t].push(a)}}})(),e.D?t.mode===rD&&(e.R=[...e.$]):(e.Y={...e.Y,...r},e.Z={...e.Y},BD([...e.B,...a]))})();const n=Eq();if(!(await(async e=>{const t=yD.o;let s=jq(e)?e:Nq(),a=t._[s];if(ND(a)?a=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(t){return!1}})(a):kD(a)&&(a=await a()),!a)throw`Could not load translation for the '${s}' language`;return t.u=a,wq(s),!0})()))return!1;if(GD(null,i=qq,fq,kq),yD.o.D&&vq(i,kq),yD.t.lazyHtmlGeneration||fq(i,kq),s.autoShow&&!n&&Oq(!0),n)return aq(),tq(a.le);s.mode===rD&&aq(t.$)}var i},_q=e=>{const{Ce:t,ye:s}=yD.ne,{name:a,path:r,domain:i,useLocalStorage:n}=yD.t.cookie;n?Mq(a):((e,t,s)=>{let a=[];const r=e=>{if(ND(e)){let t=Iq(e);""!==t&&a.push(t)}else a.push(...Pq(e))};if(jD(e))for(let i of e)r(i);else r(e);Cq(a,t,s)})(a,r,i);for(const{pe:l,ge:d,me:c}of yD.o.m)l.removeEventListener(d,c);t&&t.remove(),s&&s.classList.remove(oD,nD,iD);const o=new fD;for(const l in yD)yD[l]=o[l];window._ccRun=!1};function Lq(e){const t=(()=>{const{F:e,Y:t}=yD.o,{accepted:s,rejected:a}=(()=>{const{D:e,R:t,O:s}=yD.o;return{accepted:t,rejected:e?[]:s.filter(e=>!vD(t,e))}})();return LD({acceptType:e,acceptedCategories:s,rejectedCategories:a,acceptedServices:t,rejectedServices:FD()})})();return t?.acceptedCategories?.includes(e)||!1}function Fq(){document.cookie.includes("cc_cookie");try{zq({autoShow:!0,guiOptions:{consentModal:{layout:"bar",position:"bottom",equalWeightButtons:!0,flipButtons:!1},preferencesModal:{layout:"box",position:"right",equalWeightButtons:!0,flipButtons:!1}},cookie:{name:"cc_cookie",expiresAfterDays:182},categories:{essential:{enabled:!0,readOnly:!0},analytics:{enabled:!1,readOnly:!1,autoClear:{cookies:[{name:/^_ga/},{name:/^_gid/},{name:/^_gat/},{name:"allerin_utms"},{name:"allerin_session_id"}]}},performance:{enabled:!1,readOnly:!1,autoClear:{cookies:[{name:/^sentry/}]}}},language:{default:"en",translations:{en:{consentModal:{title:"We use cookies",description:'We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies.',acceptAllBtn:"Accept All",acceptNecessaryBtn:"Reject All",showPreferencesBtn:"Manage Preferences"},preferencesModal:{title:"Cookie Preferences",acceptAllBtn:"Accept All",acceptNecessaryBtn:"Reject All",savePreferencesBtn:"Save Preferences",closeIconLabel:"Close",sections:[{title:"Cookie Usage",description:"We use cookies to improve your experience on our website. You can choose which categories of cookies to accept."},{title:"Essential Cookies",description:"These cookies are necessary for the website to function properly. They enable core functionality such as security and accessibility. These cookies cannot be disabled.",linkedCategory:"essential",cookieTable:{headers:{name:"Cookie",description:"Description",duration:"Duration"},body:[{name:"cc_cookie",description:"Stores your cookie consent preferences",duration:"6 months"}]}},{title:"Analytics Cookies",description:"These cookies help us understand how visitors interact with our website by collecting and reporting information anonymously. This includes Google Analytics via Google Tag Manager.",linkedCategory:"analytics",cookieTable:{headers:{name:"Cookie",description:"Description",duration:"Duration"},body:[{name:"_ga, _gid, _gat",description:"Google Analytics tracking cookies",duration:"2 years"},{name:"allerin_utms",description:"Stores UTM campaign parameters",duration:"90 days"},{name:"allerin_session_id",description:"Session tracking identifier",duration:"Session"}]}},{title:"Performance Cookies",description:"These cookies help us monitor and improve website performance, track errors, and provide better user experiences. This includes Sentry error tracking.",linkedCategory:"performance",cookieTable:{headers:{name:"Cookie",description:"Description",duration:"Duration"},body:[{name:"sentry-*",description:"Sentry error tracking and monitoring",duration:"1 year"}]}},{title:"More Information",description:'For more information about our use of cookies and your privacy, please read our <a href="/privacy-policy" class="cc-link">Privacy Policy</a> and <a href="/cookies-policy" class="cc-link">Cookies Policy</a>.'}]}}}},onModalReady:({modalName:e})=>{},onModalShow:({modalName:e})=>{},onFirstConsent:()=>{},onConsent:()=>{Lq("analytics")&&function(){const e="GTM-KKDGBSK",t="G-5RTQQGXRR8";window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":(new Date).getTime(),event:"gtm.js"});const s=document.createElement("script");s.async=!0,s.src=`https://www.googletagmanager.com/gtm.js?id=${e}`,document.head.appendChild(s);const a=document.createElement("script");function r(...e){window.dataLayer.push(e)}a.async=!0,a.src=`https://www.googletagmanager.com/gtag/js?id=${t}`,document.head.appendChild(a),window.gtag=r,r("js",new Date),r("config",t,{send_page_view:!0}),function(e){let t=window.location.pathname;const s=history.pushState,a=history.replaceState,r=()=>{const s=window.location.pathname;s!==t&&(t=s,window.gtag&&window.gtag("config",e,{page_path:s,page_title:document.title}))};history.pushState=function(...e){s.apply(this,e),setTimeout(r,0)},history.replaceState=function(...e){a.apply(this,e),setTimeout(r,0)},window.addEventListener("popstate",r)}(t)}(),Lq("performance")&&pt(async()=>{const{initializeMonitoring:e}=await import("./monitoring-9M0DK3gK.js");return{initializeMonitoring:e}},[]).then(({initializeMonitoring:e})=>{e()})},onChange:({changedCategories:e})=>{(e.includes("analytics")||e.includes("performance"))&&window.location.reload()}})}catch(e){}}function Wq(){try{Dq()}catch(e){}}"undefined"!=typeof window&&(window.__cookieConsent={reset:function(){_q(),window.location.reload()},show:function(){Oq(!0)},showPreferences:Wq,hasConsent:Lq});var Hq,Vq=Qe,Bq=(Hq=Vq)&&"object"==typeof Hq&&"default"in Hq?Hq.default:Hq;function Gq(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}var Uq=!("undefined"==typeof window||!window.document||!window.document.createElement);const $q=Xe(function(e,t,s){if("function"!=typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==s&&"function"!=typeof s)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(a){if("function"!=typeof a)throw new Error("Expected WrappedComponent to be a React component.");var r,i=[];function n(){r=e(i.map(function(e){return e.props})),o.canUseDOM?t(r):s&&(r=s(r))}var o=function(e){var t,s;function o(){return e.apply(this,arguments)||this}s=e,(t=o).prototype=Object.create(s.prototype),t.prototype.constructor=t,t.__proto__=s,o.peek=function(){return r},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=r;return r=void 0,i=[],e};var l=o.prototype;return l.UNSAFE_componentWillMount=function(){i.push(this),n()},l.componentDidUpdate=function(){n()},l.componentWillUnmount=function(){var e=i.indexOf(this);i.splice(e,1),n()},l.render=function(){return Bq.createElement(a,this.props)},o}(Vq.PureComponent);return Gq(o,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(a)+")"),Gq(o,"canUseDOM",Uq),o}});var Yq="undefined"!=typeof Element,Kq="function"==typeof Map,Qq="function"==typeof Set,Zq="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function Jq(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var s,a,r,i;if(Array.isArray(e)){if((s=e.length)!=t.length)return!1;for(a=s;0!==a--;)if(!Jq(e[a],t[a]))return!1;return!0}if(Kq&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(i=e.entries();!(a=i.next()).done;)if(!t.has(a.value[0]))return!1;for(i=e.entries();!(a=i.next()).done;)if(!Jq(a.value[1],t.get(a.value[0])))return!1;return!0}if(Qq&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(i=e.entries();!(a=i.next()).done;)if(!t.has(a.value[0]))return!1;return!0}if(Zq&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((s=e.length)!=t.length)return!1;for(a=s;0!==a--;)if(e[a]!==t[a])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof t.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof t.toString)return e.toString()===t.toString();if((s=(r=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(a=s;0!==a--;)if(!Object.prototype.hasOwnProperty.call(t,r[a]))return!1;if(Yq&&e instanceof Element)return!1;for(a=s;0!==a--;)if(("_owner"!==r[a]&&"__v"!==r[a]&&"__o"!==r[a]||!e.$$typeof)&&!Jq(e[r[a]],t[r[a]]))return!1;return!0}return e!=e&&t!=t}const Xq=Xe(function(e,t){try{return Jq(e,t)}catch(s){if((s.message||"").match(/stack|recursion/i))return!1;throw s}});
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var eE=Object.getOwnPropertySymbols,tE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable;const aE=Xe(function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},s=0;s<10;s++)t["_"+String.fromCharCode(s)]=s;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(r){return!1}}()?Object.assign:function(e,t){for(var s,a,r=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),i=1;i<arguments.length;i++){for(var n in s=Object(arguments[i]))tE.call(s,n)&&(r[n]=s[n]);if(eE){a=eE(s);for(var o=0;o<a.length;o++)sE.call(s,a[o])&&(r[a[o]]=s[a[o]])}}return r});var rE="bodyAttributes",iE="htmlAttributes",nE="titleAttributes",oE={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"};Object.keys(oE).map(function(e){return oE[e]});var lE,dE,cE,mE,hE="charset",xE="cssText",uE="href",pE="http-equiv",gE="innerHTML",fE="itemprop",yE="name",bE="property",vE="rel",jE="src",NE="target",wE={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},kE="defaultTitle",ME="defer",AE="encodeSpecialCharacters",SE="onChangeClientState",CE="titleTemplate",IE=Object.keys(wE).reduce(function(e,t){return e[wE[t]]=t,e},{}),PE=[oE.NOSCRIPT,oE.SCRIPT,oE.STYLE],TE="data-react-helmet",RE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},OE=function(){function e(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,s,a){return s&&e(t.prototype,s),a&&e(t,a),t}}(),DE=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},qE=function(e,t){var s={};for(var a in e)t.indexOf(a)>=0||Object.prototype.hasOwnProperty.call(e,a)&&(s[a]=e[a]);return s},EE=function(e){return!1===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")},zE=function(e){var t=HE(e,oE.TITLE),s=HE(e,CE);if(s&&t)return s.replace(/%s/g,function(){return Array.isArray(t)?t.join(""):t});var a=HE(e,kE);return t||a||void 0},_E=function(e){return HE(e,SE)||function(){}},LE=function(e,t){return t.filter(function(t){return void 0!==t[e]}).map(function(t){return t[e]}).reduce(function(e,t){return DE({},e,t)},{})},FE=function(e,t){return t.filter(function(e){return void 0!==e[oE.BASE]}).map(function(e){return e[oE.BASE]}).reverse().reduce(function(t,s){if(!t.length)for(var a=Object.keys(s),r=0;r<a.length;r++){var i=a[r].toLowerCase();if(-1!==e.indexOf(i)&&s[i])return t.concat(s)}return t},[])},WE=function(e,t,s){var a={};return s.filter(function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&$E("Helmet: "+e+' should be of type "Array". Instead found type "'+RE(t[e])+'"'),!1)}).map(function(t){return t[e]}).reverse().reduce(function(e,s){var r={};s.filter(function(e){for(var s=void 0,i=Object.keys(e),n=0;n<i.length;n++){var o=i[n],l=o.toLowerCase();-1===t.indexOf(l)||s===vE&&"canonical"===e[s].toLowerCase()||l===vE&&"stylesheet"===e[l].toLowerCase()||(s=l),-1===t.indexOf(o)||o!==gE&&o!==xE&&o!==fE||(s=o)}if(!s||!e[s])return!1;var d=e[s].toLowerCase();return a[s]||(a[s]={}),r[s]||(r[s]={}),!a[s][d]&&(r[s][d]=!0,!0)}).reverse().forEach(function(t){return e.push(t)});for(var i=Object.keys(r),n=0;n<i.length;n++){var o=i[n],l=aE({},a[o],r[o]);a[o]=l}return e},[]).reverse()},HE=function(e,t){for(var s=e.length-1;s>=0;s--){var a=e[s];if(a.hasOwnProperty(t))return a[t]}return null},VE=(lE=Date.now(),function(e){var t=Date.now();t-lE>16?(lE=t,e(t)):setTimeout(function(){VE(e)},0)}),BE=function(e){return clearTimeout(e)},GE="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||VE:global.requestAnimationFrame||VE,UE="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||BE:global.cancelAnimationFrame||BE,$E=function(e){return console&&"function"==typeof console.warn&&void 0},YE=null,KE=function(e,t){var s=e.baseTag,a=e.bodyAttributes,r=e.htmlAttributes,i=e.linkTags,n=e.metaTags,o=e.noscriptTags,l=e.onChangeClientState,d=e.scriptTags,c=e.styleTags,m=e.title,h=e.titleAttributes;JE(oE.BODY,a),JE(oE.HTML,r),ZE(m,h);var x={baseTag:XE(oE.BASE,s),linkTags:XE(oE.LINK,i),metaTags:XE(oE.META,n),noscriptTags:XE(oE.NOSCRIPT,o),scriptTags:XE(oE.SCRIPT,d),styleTags:XE(oE.STYLE,c)},u={},p={};Object.keys(x).forEach(function(e){var t=x[e],s=t.newTags,a=t.oldTags;s.length&&(u[e]=s),a.length&&(p[e]=x[e].oldTags)}),t&&t(),l(e,u,p)},QE=function(e){return Array.isArray(e)?e.join(""):e},ZE=function(e,t){void 0!==e&&document.title!==e&&(document.title=QE(e)),JE(oE.TITLE,t)},JE=function(e,t){var s=document.getElementsByTagName(e)[0];if(s){for(var a=s.getAttribute(TE),r=a?a.split(","):[],i=[].concat(r),n=Object.keys(t),o=0;o<n.length;o++){var l=n[o],d=t[l]||"";s.getAttribute(l)!==d&&s.setAttribute(l,d),-1===r.indexOf(l)&&r.push(l);var c=i.indexOf(l);-1!==c&&i.splice(c,1)}for(var m=i.length-1;m>=0;m--)s.removeAttribute(i[m]);r.length===i.length?s.removeAttribute(TE):s.getAttribute(TE)!==n.join(",")&&s.setAttribute(TE,n.join(","))}},XE=function(e,t){var s=document.head||document.querySelector(oE.HEAD),a=s.querySelectorAll(e+"["+TE+"]"),r=Array.prototype.slice.call(a),i=[],n=void 0;return t&&t.length&&t.forEach(function(t){var s=document.createElement(e);for(var a in t)if(t.hasOwnProperty(a))if(a===gE)s.innerHTML=t.innerHTML;else if(a===xE)s.styleSheet?s.styleSheet.cssText=t.cssText:s.appendChild(document.createTextNode(t.cssText));else{var o=void 0===t[a]?"":t[a];s.setAttribute(a,o)}s.setAttribute(TE,"true"),r.some(function(e,t){return n=t,s.isEqualNode(e)})?r.splice(n,1):i.push(s)}),r.forEach(function(e){return e.parentNode.removeChild(e)}),i.forEach(function(e){return s.appendChild(e)}),{oldTags:r,newTags:i}},ez=function(e){return Object.keys(e).reduce(function(t,s){var a=void 0!==e[s]?s+'="'+e[s]+'"':""+s;return t?t+" "+a:a},"")},tz=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce(function(t,s){return t[wE[s]||s]=e[s],t},t)},sz=function(e,t,s){switch(e){case oE.TITLE:return{toComponent:function(){return e=t.title,s=t.titleAttributes,(a={key:e})[TE]=!0,r=tz(s,a),[Ze.createElement(oE.TITLE,r,e)];var e,s,a,r},toString:function(){return function(e,t,s,a){var r=ez(s),i=QE(t);return r?"<"+e+" "+TE+'="true" '+r+">"+EE(i,a)+"</"+e+">":"<"+e+" "+TE+'="true">'+EE(i,a)+"</"+e+">"}(e,t.title,t.titleAttributes,s)}};case rE:case iE:return{toComponent:function(){return tz(t)},toString:function(){return ez(t)}};default:return{toComponent:function(){return function(e,t){return t.map(function(t,s){var a,r=((a={key:s})[TE]=!0,a);return Object.keys(t).forEach(function(e){var s=wE[e]||e;if(s===gE||s===xE){var a=t.innerHTML||t.cssText;r.dangerouslySetInnerHTML={__html:a}}else r[s]=t[e]}),Ze.createElement(e,r)})}(e,t)},toString:function(){return function(e,t,s){return t.reduce(function(t,a){var r=Object.keys(a).filter(function(e){return!(e===gE||e===xE)}).reduce(function(e,t){var r=void 0===a[t]?t:t+'="'+EE(a[t],s)+'"';return e?e+" "+r:r},""),i=a.innerHTML||a.cssText||"",n=-1===PE.indexOf(e);return t+"<"+e+" "+TE+'="true" '+r+(n?"/>":">"+i+"</"+e+">")},"")}(e,t,s)}}}},az=function(e){var t=e.baseTag,s=e.bodyAttributes,a=e.encode,r=e.htmlAttributes,i=e.linkTags,n=e.metaTags,o=e.noscriptTags,l=e.scriptTags,d=e.styleTags,c=e.title,m=void 0===c?"":c,h=e.titleAttributes;return{base:sz(oE.BASE,t,a),bodyAttributes:sz(rE,s,a),htmlAttributes:sz(iE,r,a),link:sz(oE.LINK,i,a),meta:sz(oE.META,n,a),noscript:sz(oE.NOSCRIPT,o,a),script:sz(oE.SCRIPT,l,a),style:sz(oE.STYLE,d,a),title:sz(oE.TITLE,{title:m,titleAttributes:h},a)}},rz=$q(function(e){return{baseTag:FE([uE,NE],e),bodyAttributes:LE(rE,e),defer:HE(e,ME),encode:HE(e,AE),htmlAttributes:LE(iE,e),linkTags:WE(oE.LINK,[vE,uE],e),metaTags:WE(oE.META,[yE,hE,pE,bE,fE],e),noscriptTags:WE(oE.NOSCRIPT,[gE],e),onChangeClientState:_E(e),scriptTags:WE(oE.SCRIPT,[jE,gE],e),styleTags:WE(oE.STYLE,[xE],e),title:zE(e),titleAttributes:LE(nE,e)}},function(e){YE&&UE(YE),e.defer?YE=GE(function(){KE(e,function(){YE=null})}):(KE(e),YE=null)},az)(function(){return null}),iz=(dE=rz,mE=cE=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!Xq(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case oE.SCRIPT:case oE.NOSCRIPT:return{innerHTML:t};case oE.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,s=e.child,a=e.arrayTypeChildren,r=e.newChildProps,i=e.nestedChildren;return DE({},a,((t={})[s.type]=[].concat(a[s.type]||[],[DE({},r,this.mapNestedChildrenToProps(s,i))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,s,a=e.child,r=e.newProps,i=e.newChildProps,n=e.nestedChildren;switch(a.type){case oE.TITLE:return DE({},r,((t={})[a.type]=n,t.titleAttributes=DE({},i),t));case oE.BODY:return DE({},r,{bodyAttributes:DE({},i)});case oE.HTML:return DE({},r,{htmlAttributes:DE({},i)})}return DE({},r,((s={})[a.type]=DE({},i),s))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var s=DE({},t);return Object.keys(e).forEach(function(t){var a;s=DE({},s,((a={})[t]=e[t],a))}),s},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var s=this,a={};return Ze.Children.forEach(e,function(e){if(e&&e.props){var r=e.props,i=r.children,n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce(function(t,s){return t[IE[s]||s]=e[s],t},t)}(qE(r,["children"]));switch(s.warnOnInvalidChildren(e,i),e.type){case oE.LINK:case oE.META:case oE.NOSCRIPT:case oE.SCRIPT:case oE.STYLE:a=s.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:n,nestedChildren:i});break;default:t=s.mapObjectTypeChildren({child:e,newProps:t,newChildProps:n,nestedChildren:i})}}}),t=this.mapArrayTypeChildrenToProps(a,t)},t.prototype.render=function(){var e=this.props,t=e.children,s=qE(e,["children"]),a=DE({},s);return t&&(a=this.mapChildrenToProps(t,a)),Ze.createElement(dE,a)},OE(t,null,[{key:"canUseDOM",set:function(e){dE.canUseDOM=e}}]),t}(Ze.Component),cE.propTypes={base:mt.object,bodyAttributes:mt.object,children:mt.oneOfType([mt.arrayOf(mt.node),mt.node]),defaultTitle:mt.string,defer:mt.bool,encodeSpecialCharacters:mt.bool,htmlAttributes:mt.object,link:mt.arrayOf(mt.object),meta:mt.arrayOf(mt.object),noscript:mt.arrayOf(mt.object),onChangeClientState:mt.func,script:mt.arrayOf(mt.object),style:mt.arrayOf(mt.object),title:mt.string,titleAttributes:mt.object,titleTemplate:mt.string},cE.defaultProps={defer:!0,encodeSpecialCharacters:!0},cE.peek=dE.peek,cE.rewind=function(){var e=dE.rewind();return e||(e=az({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},mE);iz.renderStatic=iz.rewind;const nz=xs("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),oz=Qe.forwardRef(({className:e,variant:t,size:s,asChild:a=!1,...r},i)=>{const n=a?be:"button";return J.jsx(n,{className:VT(nz({variant:t,size:s,className:e})),ref:i,...r})});oz.displayName="Button";const lz="/assets/allerin-logo-UOCkK1Ba.webp",dz=Ae,cz=Se,mz=Me,hz=Qe.forwardRef(({className:e,...t},s)=>J.jsx(ve,{className:VT("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:s}));hz.displayName=ve.displayName;const xz=xs("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4  border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),uz=Qe.forwardRef(({side:e="right",className:t,children:s,...a},r)=>J.jsxs(mz,{children:[J.jsx(hz,{}),J.jsxs(je,{ref:r,className:VT(xz({side:e}),t),...a,children:[s,J.jsxs(Ne,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[J.jsx(BP,{className:"h-4 w-4"}),J.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));uz.displayName=je.displayName;Qe.forwardRef(({className:e,...t},s)=>J.jsx(we,{ref:s,className:VT("text-lg font-semibold text-foreground",e),...t})).displayName=we.displayName;Qe.forwardRef(({className:e,...t},s)=>J.jsx(ke,{ref:s,className:VT("text-sm text-muted-foreground",e),...t})).displayName=ke.displayName;const pz=_e,gz=Le;Qe.forwardRef(({className:e,inset:t,children:s,...a},r)=>J.jsxs(Ce,{ref:r,className:VT("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",t&&"pl-8",e),...a,children:[s,J.jsx(ol,{className:"ml-auto h-4 w-4"})]})).displayName=Ce.displayName;Qe.forwardRef(({className:e,...t},s)=>J.jsx(Ie,{ref:s,className:VT("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t})).displayName=Ie.displayName;const fz=Qe.forwardRef(({className:e,sideOffset:t=4,...s},a)=>J.jsx(Pe,{children:J.jsx(Te,{ref:a,sideOffset:t,className:VT("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...s})}));fz.displayName=Te.displayName;const yz=Qe.forwardRef(({className:e,inset:t,...s},a)=>J.jsx(Re,{ref:a,className:VT("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",t&&"pl-8",e),...s}));yz.displayName=Re.displayName;Qe.forwardRef(({className:e,children:t,checked:s,...a},r)=>J.jsxs(Oe,{ref:r,className:VT("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),checked:s,...a,children:[J.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:J.jsx(De,{children:J.jsx(el,{className:"h-4 w-4"})})}),t]})).displayName=Oe.displayName;Qe.forwardRef(({className:e,children:t,...s},a)=>J.jsxs(qe,{ref:a,className:VT("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),...s,children:[J.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:J.jsx(De,{children:J.jsx(dd,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=qe.displayName;Qe.forwardRef(({className:e,inset:t,...s},a)=>J.jsx(Ee,{ref:a,className:VT("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...s})).displayName=Ee.displayName;Qe.forwardRef(({className:e,...t},s)=>J.jsx(ze,{ref:s,className:VT("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=ze.displayName;var bz=e=>"checkbox"===e.type,vz=e=>e instanceof Date,jz=e=>null==e;const Nz=e=>"object"==typeof e;var wz=e=>!jz(e)&&!Array.isArray(e)&&Nz(e)&&!vz(e),kz="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function Mz(e){let t;const s=Array.isArray(e),a="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)t=new Date(e);else{if(kz&&(e instanceof Blob||a)||!s&&!wz(e))return e;if(t=s?[]:{},s||(e=>{const t=e.constructor&&e.constructor.prototype;return wz(t)&&t.hasOwnProperty("isPrototypeOf")})(e))for(const s in e)e.hasOwnProperty(s)&&(t[s]=Mz(e[s]));else t=e}return t}var Az=e=>/^\w*$/.test(e),Sz=e=>void 0===e,Cz=e=>Array.isArray(e)?e.filter(Boolean):[],Iz=e=>Cz(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Pz=(e,t,s)=>{if(!t||!wz(e))return s;const a=(Az(t)?[t]:Iz(t)).reduce((e,t)=>jz(e)?e:e[t],e);return Sz(a)||a===e?Sz(e[t])?s:e[t]:a},Tz=e=>"boolean"==typeof e,Rz=(e,t,s)=>{let a=-1;const r=Az(t)?[t]:Iz(t),i=r.length,n=i-1;for(;++a<i;){const t=r[a];let i=s;if(a!==n){const s=e[t];i=wz(s)||Array.isArray(s)?s:isNaN(+r[a+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=i,e=e[t]}};const Oz="blur",Dz="focusout",qz="onBlur",Ez="onChange",zz="onSubmit",_z="onTouched",Lz="all",Fz="max",Wz="min",Hz="maxLength",Vz="minLength",Bz="pattern",Gz="required",Uz="validate";Ze.createContext(null).displayName="HookFormContext";const $z="undefined"!=typeof window?Ze.useLayoutEffect:Ze.useEffect;var Yz=e=>"string"==typeof e,Kz=e=>jz(e)||!Nz(e);function Qz(e,t,s=new WeakSet){if(Kz(e)||Kz(t))return e===t;if(vz(e)&&vz(t))return e.getTime()===t.getTime();const a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;if(s.has(e)||s.has(t))return!0;s.add(e),s.add(t);for(const i of a){const a=e[i];if(!r.includes(i))return!1;if("ref"!==i){const e=t[i];if(vz(a)&&vz(e)||wz(a)&&wz(e)||Array.isArray(a)&&Array.isArray(e)?!Qz(a,e,s):a!==e)return!1}}return!0}var Zz=(e,t,s,a,r)=>t?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[a]:r||!0}}:{},Jz=e=>Array.isArray(e)?e:[e],Xz=()=>{let e=[];return{get observers(){return e},next:t=>{for(const s of e)s.next&&s.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}},e_=e=>wz(e)&&!Object.keys(e).length,t_=e=>"file"===e.type,s_=e=>"function"==typeof e,a_=e=>{if(!kz)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},r_=e=>"select-multiple"===e.type,i_=e=>"radio"===e.type,n_=e=>a_(e)&&e.isConnected;function o_(e,t){const s=Array.isArray(t)?t:Az(t)?[t]:Iz(t),a=1===s.length?e:function(e,t){const s=t.slice(0,-1).length;let a=0;for(;a<s;)e=Sz(e)?a++:e[t[a++]];return e}(e,s),r=s.length-1,i=s[r];return a&&delete a[i],0!==r&&(wz(a)&&e_(a)||Array.isArray(a)&&function(e){for(const t in e)if(e.hasOwnProperty(t)&&!Sz(e[t]))return!1;return!0}(a))&&o_(e,s.slice(0,-1)),e}var l_=e=>{for(const t in e)if(s_(e[t]))return!0;return!1};function d_(e,t={}){const s=Array.isArray(e);if(wz(e)||s)for(const a in e)Array.isArray(e[a])||wz(e[a])&&!l_(e[a])?(t[a]=Array.isArray(e[a])?[]:{},d_(e[a],t[a])):jz(e[a])||(t[a]=!0);return t}function c_(e,t,s){const a=Array.isArray(e);if(wz(e)||a)for(const r in e)Array.isArray(e[r])||wz(e[r])&&!l_(e[r])?Sz(t)||Kz(s[r])?s[r]=Array.isArray(e[r])?d_(e[r],[]):{...d_(e[r])}:c_(e[r],jz(t)?{}:t[r],s[r]):s[r]=!Qz(e[r],t[r]);return s}var m_=(e,t)=>c_(e,t,d_(t));const h_={value:!1,isValid:!1},x_={value:!0,isValid:!0};var u_=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Sz(e[0].attributes.value)?Sz(e[0].value)||""===e[0].value?x_:{value:e[0].value,isValid:!0}:x_:h_}return h_},p_=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:a})=>Sz(e)?e:t?""===e?NaN:e?+e:e:s&&Yz(e)?new Date(e):a?a(e):e;const g_={isValid:!1,value:null};var f_=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,g_):g_;function y_(e){const t=e.ref;return t_(t)?t.files:i_(t)?f_(e.refs).value:r_(t)?[...t.selectedOptions].map(({value:e})=>e):bz(t)?u_(e.refs).value:p_(Sz(t.value)?e.ref.value:t.value,e)}var b_=e=>e instanceof RegExp,v_=e=>Sz(e)?e:b_(e)?e.source:wz(e)?b_(e.value)?e.value.source:e.value:e,j_=e=>({isOnSubmit:!e||e===zz,isOnBlur:e===qz,isOnChange:e===Ez,isOnAll:e===Lz,isOnTouch:e===_z});const N_="AsyncFunction";var w_=e=>!!e&&!!e.validate&&!!(s_(e.validate)&&e.validate.constructor.name===N_||wz(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===N_)),k_=(e,t,s)=>!s&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))));const M_=(e,t,s,a)=>{for(const r of s||Object.keys(e)){const s=Pz(e,r);if(s){const{_f:e,...i}=s;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],r)&&!a)return!0;if(e.ref&&t(e.ref,e.name)&&!a)return!0;if(M_(i,t))break}else if(wz(i)&&M_(i,t))break}}};function A_(e,t,s){const a=Pz(e,s);if(a||Az(s))return{error:a,name:s};const r=s.split(".");for(;r.length;){const a=r.join("."),i=Pz(t,a),n=Pz(e,a);if(i&&!Array.isArray(i)&&s!==a)return{name:s};if(n&&n.type)return{name:a,error:n};if(n&&n.root&&n.root.type)return{name:`${a}.root`,error:n.root};r.pop()}return{name:s}}var S_=(e,t,s)=>{const a=Jz(Pz(e,s));return Rz(a,"root",t[s]),Rz(e,s,a),e},C_=e=>Yz(e);function I_(e,t,s="validate"){if(C_(e)||Array.isArray(e)&&e.every(C_)||Tz(e)&&!e)return{type:s,message:C_(e)?e:"",ref:t}}var P_=e=>wz(e)&&!b_(e)?e:{value:e,message:""},T_=async(e,t,s,a,r,i)=>{const{ref:n,refs:o,required:l,maxLength:d,minLength:c,min:m,max:h,pattern:x,validate:u,name:p,valueAsNumber:g,mount:f}=e._f,y=Pz(s,p);if(!f||t.has(p))return{};const b=o?o[0]:n,v=e=>{r&&b.reportValidity&&(b.setCustomValidity(Tz(e)?"":e||""),b.reportValidity())},j={},N=i_(n),w=bz(n),k=N||w,M=(g||t_(n))&&Sz(n.value)&&Sz(y)||a_(n)&&""===n.value||""===y||Array.isArray(y)&&!y.length,A=Zz.bind(null,p,a,j),S=(e,t,s,a=Hz,r=Vz)=>{const i=e?t:s;j[p]={type:e?a:r,message:i,ref:n,...A(e?a:r,i)}};if(i?!Array.isArray(y)||!y.length:l&&(!k&&(M||jz(y))||Tz(y)&&!y||w&&!u_(o).isValid||N&&!f_(o).isValid)){const{value:e,message:t}=C_(l)?{value:!!l,message:l}:P_(l);if(e&&(j[p]={type:Gz,message:t,ref:b,...A(Gz,t)},!a))return v(t),j}if(!(M||jz(m)&&jz(h))){let e,t;const s=P_(h),r=P_(m);if(jz(y)||isNaN(y)){const a=n.valueAsDate||new Date(y),i=e=>new Date((new Date).toDateString()+" "+e),o="time"==n.type,l="week"==n.type;Yz(s.value)&&y&&(e=o?i(y)>i(s.value):l?y>s.value:a>new Date(s.value)),Yz(r.value)&&y&&(t=o?i(y)<i(r.value):l?y<r.value:a<new Date(r.value))}else{const a=n.valueAsNumber||(y?+y:y);jz(s.value)||(e=a>s.value),jz(r.value)||(t=a<r.value)}if((e||t)&&(S(!!e,s.message,r.message,Fz,Wz),!a))return v(j[p].message),j}if((d||c)&&!M&&(Yz(y)||i&&Array.isArray(y))){const e=P_(d),t=P_(c),s=!jz(e.value)&&y.length>+e.value,r=!jz(t.value)&&y.length<+t.value;if((s||r)&&(S(s,e.message,t.message),!a))return v(j[p].message),j}if(x&&!M&&Yz(y)){const{value:e,message:t}=P_(x);if(b_(e)&&!y.match(e)&&(j[p]={type:Bz,message:t,ref:n,...A(Bz,t)},!a))return v(t),j}if(u)if(s_(u)){const e=I_(await u(y,s),b);if(e&&(j[p]={...e,...A(Uz,e.message)},!a))return v(e.message),j}else if(wz(u)){let e={};for(const t in u){if(!e_(e)&&!a)break;const r=I_(await u[t](y,s),b,t);r&&(e={...r,...A(t,r.message)},v(r.message),a&&(j[p]=e))}if(!e_(e)&&(j[p]={ref:b,...e},!a))return j}return v(!0),j};const R_={mode:zz,reValidateMode:Ez,shouldFocusError:!0};function O_(e={}){let t,s={...R_,...e},a={submitCount:0,isDirty:!1,isReady:!1,isLoading:s_(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},r={},i=(wz(s.defaultValues)||wz(s.values))&&Mz(s.defaultValues||s.values)||{},n=s.shouldUnregister?{}:Mz(i),o={action:!1,mount:!1,watch:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},d=0;const c={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let m={...c};const h={array:Xz(),state:Xz()},x=s.criteriaMode===Lz,u=async e=>{if(!s.disabled&&(c.isValid||m.isValid||e)){const e=s.resolver?e_((await b()).errors):await v(r,!0);e!==a.isValid&&h.state.next({isValid:e})}},p=(e,t)=>{!s.disabled&&(c.isValidating||c.validatingFields||m.isValidating||m.validatingFields)&&((e||Array.from(l.mount)).forEach(e=>{e&&(t?Rz(a.validatingFields,e,t):o_(a.validatingFields,e))}),h.state.next({validatingFields:a.validatingFields,isValidating:!e_(a.validatingFields)}))},g=(e,t,s,a)=>{const l=Pz(r,e);if(l){const r=Pz(n,e,Sz(s)?Pz(i,e):s);Sz(r)||a&&a.defaultChecked||t?Rz(n,e,t?r:y_(l._f)):w(e,r),o.mount&&u()}},f=(e,t,r,n,o)=>{let l=!1,d=!1;const x={name:e};if(!s.disabled){if(!r||n){(c.isDirty||m.isDirty)&&(d=a.isDirty,a.isDirty=x.isDirty=j(),l=d!==x.isDirty);const s=Qz(Pz(i,e),t);d=!!Pz(a.dirtyFields,e),s?o_(a.dirtyFields,e):Rz(a.dirtyFields,e,!0),x.dirtyFields=a.dirtyFields,l=l||(c.dirtyFields||m.dirtyFields)&&d!==!s}if(r){const t=Pz(a.touchedFields,e);t||(Rz(a.touchedFields,e,r),x.touchedFields=a.touchedFields,l=l||(c.touchedFields||m.touchedFields)&&t!==r)}l&&o&&h.state.next(x)}return l?x:{}},y=(e,r,i,n)=>{const o=Pz(a.errors,e),l=(c.isValid||m.isValid)&&Tz(r)&&a.isValid!==r;var x;if(s.delayError&&i?(x=()=>((e,t)=>{Rz(a.errors,e,t),h.state.next({errors:a.errors})})(e,i),t=e=>{clearTimeout(d),d=setTimeout(x,e)},t(s.delayError)):(clearTimeout(d),t=null,i?Rz(a.errors,e,i):o_(a.errors,e)),(i?!Qz(o,i):o)||!e_(n)||l){const t={...n,...l&&Tz(r)?{isValid:r}:{},errors:a.errors,name:e};a={...a,...t},h.state.next(t)}},b=async e=>{p(e,!0);const t=await s.resolver(n,s.context,((e,t,s,a)=>{const r={};for(const i of e){const e=Pz(t,i);e&&Rz(r,i,e._f)}return{criteriaMode:s,names:[...e],fields:r,shouldUseNativeValidation:a}})(e||l.mount,r,s.criteriaMode,s.shouldUseNativeValidation));return p(e),t},v=async(e,t,r={valid:!0})=>{for(const i in e){const o=e[i];if(o){const{_f:e,...d}=o;if(e){const d=l.array.has(e.name),m=o._f&&w_(o._f);m&&c.validatingFields&&p([i],!0);const h=await T_(o,l.disabled,n,x,s.shouldUseNativeValidation&&!t,d);if(m&&c.validatingFields&&p([i]),h[e.name]&&(r.valid=!1,t))break;!t&&(Pz(h,e.name)?d?S_(a.errors,h,e.name):Rz(a.errors,e.name,h[e.name]):o_(a.errors,e.name))}!e_(d)&&await v(d,t,r)}}return r.valid},j=(e,t)=>!s.disabled&&(e&&t&&Rz(n,e,t),!Qz(I(),i)),N=(e,t,s)=>((e,t,s,a,r)=>Yz(e)?(a&&t.watch.add(e),Pz(s,e,r)):Array.isArray(e)?e.map(e=>(a&&t.watch.add(e),Pz(s,e))):(a&&(t.watchAll=!0),s))(e,l,{...o.mount?n:Sz(t)?i:Yz(e)?{[e]:t}:t},s,t),w=(e,t,s={})=>{const a=Pz(r,e);let i=t;if(a){const s=a._f;s&&(!s.disabled&&Rz(n,e,p_(t,s)),i=a_(s.ref)&&jz(t)?"":t,r_(s.ref)?[...s.ref.options].forEach(e=>e.selected=i.includes(e.value)):s.refs?bz(s.ref)?s.refs.forEach(e=>{e.defaultChecked&&e.disabled||(Array.isArray(i)?e.checked=!!i.find(t=>t===e.value):e.checked=i===e.value||!!i)}):s.refs.forEach(e=>e.checked=e.value===i):t_(s.ref)?s.ref.value="":(s.ref.value=i,s.ref.type||h.state.next({name:e,values:Mz(n)})))}(s.shouldDirty||s.shouldTouch)&&f(e,i,s.shouldTouch,s.shouldDirty,!0),s.shouldValidate&&C(e)},k=(e,t,s)=>{for(const a in t){if(!t.hasOwnProperty(a))return;const i=t[a],n=e+"."+a,o=Pz(r,n);(l.array.has(e)||wz(i)||o&&!o._f)&&!vz(i)?k(n,i,s):w(n,i,s)}},M=(e,t,s={})=>{const d=Pz(r,e),x=l.array.has(e),u=Mz(t);Rz(n,e,u),x?(h.array.next({name:e,values:Mz(n)}),(c.isDirty||c.dirtyFields||m.isDirty||m.dirtyFields)&&s.shouldDirty&&h.state.next({name:e,dirtyFields:m_(i,n),isDirty:j(e,u)})):!d||d._f||jz(u)?w(e,u,s):k(e,u,s),k_(e,l)&&h.state.next({...a,name:e}),h.state.next({name:o.mount?e:void 0,values:Mz(n)})},A=async e=>{o.mount=!0;const i=e.target;let d=i.name,g=!0;const j=Pz(r,d),N=e=>{g=Number.isNaN(e)||vz(e)&&isNaN(e.getTime())||Qz(e,Pz(n,d,e))},w=j_(s.mode),k=j_(s.reValidateMode);if(j){let o,A;const S=i.type?y_(j._f):(e=>wz(e)&&e.target?bz(e.target)?e.target.checked:e.target.value:e)(e),I=e.type===Oz||e.type===Dz,P=!((M=j._f).mount&&(M.required||M.min||M.max||M.maxLength||M.minLength||M.pattern||M.validate)||s.resolver||Pz(a.errors,d)||j._f.deps)||((e,t,s,a,r)=>!r.isOnAll&&(!s&&r.isOnTouch?!(t||e):(s?a.isOnBlur:r.isOnBlur)?!e:!(s?a.isOnChange:r.isOnChange)||e))(I,Pz(a.touchedFields,d),a.isSubmitted,k,w),T=k_(d,l,I);Rz(n,d,S),I?(j._f.onBlur&&j._f.onBlur(e),t&&t(0)):j._f.onChange&&j._f.onChange(e);const R=f(d,S,I),O=!e_(R)||T;if(!I&&h.state.next({name:d,type:e.type,values:Mz(n)}),P)return(c.isValid||m.isValid)&&("onBlur"===s.mode?I&&u():I||u()),O&&h.state.next({name:d,...T?{}:R});if(!I&&T&&h.state.next({...a}),s.resolver){const{errors:e}=await b([d]);if(N(S),g){const t=A_(a.errors,r,d),s=A_(e,r,t.name||d);o=s.error,d=s.name,A=e_(e)}}else p([d],!0),o=(await T_(j,l.disabled,n,x,s.shouldUseNativeValidation))[d],p([d]),N(S),g&&(o?A=!1:(c.isValid||m.isValid)&&(A=await v(r,!0)));g&&(j._f.deps&&C(j._f.deps),y(d,A,o,R))}var M},S=(e,t)=>{if(Pz(a.errors,t)&&e.focus)return e.focus(),1},C=async(e,t={})=>{let i,n;const o=Jz(e);if(s.resolver){const t=await(async e=>{const{errors:t}=await b(e);if(e)for(const s of e){const e=Pz(t,s);e?Rz(a.errors,s,e):o_(a.errors,s)}else a.errors=t;return t})(Sz(e)?e:o);i=e_(t),n=e?!o.some(e=>Pz(t,e)):i}else e?(n=(await Promise.all(o.map(async e=>{const t=Pz(r,e);return await v(t&&t._f?{[e]:t}:t)}))).every(Boolean),(n||a.isValid)&&u()):n=i=await v(r);return h.state.next({...!Yz(e)||(c.isValid||m.isValid)&&i!==a.isValid?{}:{name:e},...s.resolver||!e?{isValid:i}:{},errors:a.errors}),t.shouldFocus&&!n&&M_(r,S,e?o:l.mount),n},I=e=>{const t={...o.mount?n:i};return Sz(e)?t:Yz(e)?Pz(t,e):e.map(e=>Pz(t,e))},P=(e,t)=>({invalid:!!Pz((t||a).errors,e),isDirty:!!Pz((t||a).dirtyFields,e),error:Pz((t||a).errors,e),isValidating:!!Pz(a.validatingFields,e),isTouched:!!Pz((t||a).touchedFields,e)}),T=(e,t,s)=>{const i=(Pz(r,e,{_f:{}})._f||{}).ref,n=Pz(a.errors,e)||{},{ref:o,message:l,type:d,...c}=n;Rz(a.errors,e,{...c,...t,ref:i}),h.state.next({name:e,errors:a.errors,isValid:!1}),s&&s.shouldFocus&&i&&i.focus&&i.focus()},R=e=>h.state.subscribe({next:t=>{var s,r,o;s=e.name,r=t.name,o=e.exact,s&&r&&s!==r&&!Jz(s).some(e=>e&&(o?e===r:e.startsWith(r)||r.startsWith(e)))||!((e,t,s,a)=>{s(e);const{name:r,...i}=e;return e_(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(e=>t[e]===(!a||Lz))})(t,e.formState||c,F,e.reRenderRoot)||e.callback({values:{...n},...a,...t,defaultValues:i})}}).unsubscribe,O=(e,t={})=>{for(const o of e?Jz(e):l.mount)l.mount.delete(o),l.array.delete(o),t.keepValue||(o_(r,o),o_(n,o)),!t.keepError&&o_(a.errors,o),!t.keepDirty&&o_(a.dirtyFields,o),!t.keepTouched&&o_(a.touchedFields,o),!t.keepIsValidating&&o_(a.validatingFields,o),!s.shouldUnregister&&!t.keepDefaultValue&&o_(i,o);h.state.next({values:Mz(n)}),h.state.next({...a,...t.keepDirty?{isDirty:j()}:{}}),!t.keepIsValid&&u()},D=({disabled:e,name:t})=>{(Tz(e)&&o.mount||e||l.disabled.has(t))&&(e?l.disabled.add(t):l.disabled.delete(t))},q=(e,t={})=>{let a=Pz(r,e);const n=Tz(t.disabled)||Tz(s.disabled);return Rz(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...t}}),l.mount.add(e),a?D({disabled:Tz(t.disabled)?t.disabled:s.disabled,name:e}):g(e,!0,t.value),{...n?{disabled:t.disabled||s.disabled}:{},...s.progressive?{required:!!t.required,min:v_(t.min),max:v_(t.max),minLength:v_(t.minLength),maxLength:v_(t.maxLength),pattern:v_(t.pattern)}:{},name:e,onChange:A,onBlur:A,ref:n=>{if(n){q(e,t),a=Pz(r,e);const s=Sz(n.value)&&n.querySelectorAll&&n.querySelectorAll("input,select,textarea")[0]||n,o=(e=>i_(e)||bz(e))(s),l=a._f.refs||[];if(o?l.find(e=>e===s):s===a._f.ref)return;Rz(r,e,{_f:{...a._f,...o?{refs:[...l.filter(n_),s,...Array.isArray(Pz(i,e))?[{}]:[]],ref:{type:s.type,name:e}}:{ref:s}}}),g(e,!1,void 0,s)}else a=Pz(r,e,{}),a._f&&(a._f.mount=!1),(s.shouldUnregister||t.shouldUnregister)&&(!((e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)))(l.array,e)||!o.action)&&l.unMount.add(e)}}},E=()=>s.shouldFocusError&&M_(r,S,l.mount),z=(e,t)=>async i=>{let o;i&&(i.preventDefault&&i.preventDefault(),i.persist&&i.persist());let d=Mz(n);if(h.state.next({isSubmitting:!0}),s.resolver){const{errors:e,values:t}=await b();a.errors=e,d=Mz(t)}else await v(r);if(l.disabled.size)for(const e of l.disabled)o_(d,e);if(o_(a.errors,"root"),e_(a.errors)){h.state.next({errors:{}});try{await e(d,i)}catch(c){o=c}}else t&&await t({...a.errors},i),E(),setTimeout(E);if(h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:e_(a.errors)&&!o,submitCount:a.submitCount+1,errors:a.errors}),o)throw o},_=(e,t={})=>{const d=e?Mz(e):i,m=Mz(d),x=e_(e),u=x?i:m;if(t.keepDefaultValues||(i=d),!t.keepValues){if(t.keepDirtyValues){const e=new Set([...l.mount,...Object.keys(m_(i,n))]);for(const t of Array.from(e))Pz(a.dirtyFields,t)?Rz(u,t,Pz(n,t)):M(t,Pz(u,t))}else{if(kz&&Sz(e))for(const e of l.mount){const t=Pz(r,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(a_(e)){const t=e.closest("form");if(t){t.reset();break}}}}if(t.keepFieldsRef)for(const e of l.mount)M(e,Pz(u,e));else r={}}n=s.shouldUnregister?t.keepDefaultValues?Mz(i):{}:Mz(u),h.array.next({values:{...u}}),h.state.next({values:{...u}})}l={mount:t.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!c.isValid||!!t.keepIsValid||!!t.keepDirtyValues,o.watch=!!s.shouldUnregister,h.state.next({submitCount:t.keepSubmitCount?a.submitCount:0,isDirty:!x&&(t.keepDirty?a.isDirty:!(!t.keepDefaultValues||Qz(e,i))),isSubmitted:!!t.keepIsSubmitted&&a.isSubmitted,dirtyFields:x?{}:t.keepDirtyValues?t.keepDefaultValues&&n?m_(i,n):a.dirtyFields:t.keepDefaultValues&&e?m_(i,e):t.keepDirty?a.dirtyFields:{},touchedFields:t.keepTouched?a.touchedFields:{},errors:t.keepErrors?a.errors:{},isSubmitSuccessful:!!t.keepIsSubmitSuccessful&&a.isSubmitSuccessful,isSubmitting:!1})},L=(e,t)=>_(s_(e)?e(n):e,t),F=e=>{a={...a,...e}},W={control:{register:q,unregister:O,getFieldState:P,handleSubmit:z,setError:T,_subscribe:R,_runSchema:b,_focusError:E,_getWatch:N,_getDirty:j,_setValid:u,_setFieldArray:(e,t=[],l,d,x=!0,u=!0)=>{if(d&&l&&!s.disabled){if(o.action=!0,u&&Array.isArray(Pz(r,e))){const t=l(Pz(r,e),d.argA,d.argB);x&&Rz(r,e,t)}if(u&&Array.isArray(Pz(a.errors,e))){const t=l(Pz(a.errors,e),d.argA,d.argB);x&&Rz(a.errors,e,t),((e,t)=>{!Cz(Pz(e,t)).length&&o_(e,t)})(a.errors,e)}if((c.touchedFields||m.touchedFields)&&u&&Array.isArray(Pz(a.touchedFields,e))){const t=l(Pz(a.touchedFields,e),d.argA,d.argB);x&&Rz(a.touchedFields,e,t)}(c.dirtyFields||m.dirtyFields)&&(a.dirtyFields=m_(i,n)),h.state.next({name:e,isDirty:j(e,t),dirtyFields:a.dirtyFields,errors:a.errors,isValid:a.isValid})}else Rz(n,e,t)},_setDisabledField:D,_setErrors:e=>{a.errors=e,h.state.next({errors:a.errors,isValid:!1})},_getFieldArray:e=>Cz(Pz(o.mount?n:i,e,s.shouldUnregister?Pz(i,e,[]):[])),_reset:_,_resetDefaultValues:()=>s_(s.defaultValues)&&s.defaultValues().then(e=>{L(e,s.resetOptions),h.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(const e of l.unMount){const t=Pz(r,e);t&&(t._f.refs?t._f.refs.every(e=>!n_(e)):!n_(t._f.ref))&&O(e)}l.unMount=new Set},_disableForm:e=>{Tz(e)&&(h.state.next({disabled:e}),M_(r,(t,s)=>{const a=Pz(r,s);a&&(t.disabled=a._f.disabled||e,Array.isArray(a._f.refs)&&a._f.refs.forEach(t=>{t.disabled=a._f.disabled||e}))},0,!1))},_subjects:h,_proxyFormState:c,get _fields(){return r},get _formValues(){return n},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return l},set _names(e){l=e},get _formState(){return a},get _options(){return s},set _options(e){s={...s,...e}}},subscribe:e=>(o.mount=!0,m={...m,...e.formState},R({...e,formState:m})),trigger:C,register:q,handleSubmit:z,watch:(e,t)=>s_(e)?h.state.subscribe({next:s=>"values"in s&&e(N(void 0,t),s)}):N(e,t,!0),setValue:M,getValues:I,reset:L,resetField:(e,t={})=>{Pz(r,e)&&(Sz(t.defaultValue)?M(e,Mz(Pz(i,e))):(M(e,t.defaultValue),Rz(i,e,Mz(t.defaultValue))),t.keepTouched||o_(a.touchedFields,e),t.keepDirty||(o_(a.dirtyFields,e),a.isDirty=t.defaultValue?j(e,Mz(Pz(i,e))):j()),t.keepError||(o_(a.errors,e),c.isValid&&u()),h.state.next({...a}))},clearErrors:e=>{e&&Jz(e).forEach(e=>o_(a.errors,e)),h.state.next({errors:e?a.errors:{}})},unregister:O,setError:T,setFocus:(e,t={})=>{const s=Pz(r,e),a=s&&s._f;if(a){const e=a.refs?a.refs[0]:a.ref;e.focus&&(e.focus(),t.shouldSelect&&s_(e.select)&&e.select())}},getFieldState:P};return{...W,formControl:W}}function D_(e={}){const t=Ze.useRef(void 0),s=Ze.useRef(void 0),[a,r]=Ze.useState({isDirty:!1,isValidating:!1,isLoading:s_(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:s_(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:a},e.defaultValues&&!s_(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:s,...r}=O_(e);t.current={...r,formState:a}}const i=t.current.control;return i._options=e,$z(()=>{const e=i._subscribe({formState:i._proxyFormState,callback:()=>r({...i._formState}),reRenderRoot:!0});return r(e=>({...e,isReady:!0})),i._formState.isReady=!0,e},[i]),Ze.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),Ze.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),Ze.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),Ze.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),Ze.useEffect(()=>{if(i._proxyFormState.isDirty){const e=i._getDirty();e!==a.isDirty&&i._subjects.state.next({isDirty:e})}},[i,a.isDirty]),Ze.useEffect(()=>{e.values&&!Qz(e.values,s.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),s.current=e.values,r(e=>({...e}))):i._resetDefaultValues()},[i,e.values]),Ze.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),t.current.formState=((e,t,s,a=!0)=>{const r={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(r,i,{get:()=>{const s=i;return t._proxyFormState[s]!==Lz&&(t._proxyFormState[s]=!a||Lz),e[s]}});return r})(a,i),t.current}const q_=(e,t,s)=>{if(e&&"reportValidity"in e){const a=Pz(s,t);e.setCustomValidity(a&&a.message||""),e.reportValidity()}},E_=(e,t)=>{for(const s in t.fields){const a=t.fields[s];a&&a.ref&&"reportValidity"in a.ref?q_(a.ref,s,e):a.refs&&a.refs.forEach(t=>q_(t,s,e))}},z_=(e,t)=>{t.shouldUseNativeValidation&&E_(e,t);const s={};for(const a in e){const r=Pz(t.fields,a),i=Object.assign(e[a]||{},{ref:r&&r.ref});if(__(t.names||Object.keys(e),a)){const e=Object.assign({},Pz(s,a));Rz(e,"root",i),Rz(s,a,e)}else Rz(s,a,i)}return s},__=(e,t)=>e.some(e=>e.startsWith(t+"."));var L_,F_,W_,H_=function(e,t){for(var s={};e.length;){var a=e[0],r=a.code,i=a.message,n=a.path.join(".");if(!s[n])if("unionErrors"in a){var o=a.unionErrors[0].errors[0];s[n]={message:o.message,type:o.code}}else s[n]={message:i,type:r};if("unionErrors"in a&&a.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var l=s[n].types,d=l&&l[a.code];s[n]=Zz(n,t,s,r,d?[].concat(d,a.message):a.message)}e.shift()}return s},V_=function(e,t,s){return void 0===s&&(s={}),function(a,r,i){try{return Promise.resolve(function(r,n){try{var o=Promise.resolve(e["sync"===s.mode?"parse":"parseAsync"](a,t)).then(function(e){return i.shouldUseNativeValidation&&E_({},i),{errors:{},values:s.raw?a:e}})}catch(l){return n(l)}return o&&o.then?o.then(void 0,n):o}(0,function(e){if(t=e,Array.isArray(null==t?void 0:t.errors))return{values:{},errors:z_(H_(e.errors,!i.shouldUseNativeValidation&&"all"===i.criteriaMode),i)};var t;throw e}))}catch(n){return Promise.reject(n)}}};(F_=L_||(L_={})).assertEqual=e=>{},F_.assertIs=function(e){},F_.assertNever=function(e){throw new Error},F_.arrayToEnum=e=>{const t={};for(const s of e)t[s]=s;return t},F_.getValidEnumValues=e=>{const t=F_.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),s={};for(const a of t)s[a]=e[a];return F_.objectValues(s)},F_.objectValues=e=>F_.objectKeys(e).map(function(t){return e[t]}),F_.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.push(s);return t},F_.find=(e,t)=>{for(const s of e)if(t(s))return s},F_.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,F_.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},F_.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(W_||(W_={})).mergeShapes=(e,t)=>({...e,...t});const B_=L_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),G_=e=>{switch(typeof e){case"undefined":return B_.undefined;case"string":return B_.string;case"number":return Number.isNaN(e)?B_.nan:B_.number;case"boolean":return B_.boolean;case"function":return B_.function;case"bigint":return B_.bigint;case"symbol":return B_.symbol;case"object":return Array.isArray(e)?B_.array:null===e?B_.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?B_.promise:"undefined"!=typeof Map&&e instanceof Map?B_.map:"undefined"!=typeof Set&&e instanceof Set?B_.set:"undefined"!=typeof Date&&e instanceof Date?B_.date:B_.object;default:return B_.unknown}},U_=L_.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class $_ extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},s={_errors:[]},a=e=>{for(const r of e.issues)if("invalid_union"===r.code)r.unionErrors.map(a);else if("invalid_return_type"===r.code)a(r.returnTypeError);else if("invalid_arguments"===r.code)a(r.argumentsError);else if(0===r.path.length)s._errors.push(t(r));else{let e=s,a=0;for(;a<r.path.length;){const s=r.path[a];a===r.path.length-1?(e[s]=e[s]||{_errors:[]},e[s]._errors.push(t(r))):e[s]=e[s]||{_errors:[]},e=e[s],a++}}};return a(this),s}static assert(e){if(!(e instanceof $_))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,L_.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){const t={},s=[];for(const a of this.issues)if(a.path.length>0){const s=a.path[0];t[s]=t[s]||[],t[s].push(e(a))}else s.push(e(a));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}$_.create=e=>new $_(e);const Y_=(e,t)=>{let s;switch(e.code){case U_.invalid_type:s=e.received===B_.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case U_.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(e.expected,L_.jsonStringifyReplacer)}`;break;case U_.unrecognized_keys:s=`Unrecognized key(s) in object: ${L_.joinValues(e.keys,", ")}`;break;case U_.invalid_union:s="Invalid input";break;case U_.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${L_.joinValues(e.options)}`;break;case U_.invalid_enum_value:s=`Invalid enum value. Expected ${L_.joinValues(e.options)}, received '${e.received}'`;break;case U_.invalid_arguments:s="Invalid function arguments";break;case U_.invalid_return_type:s="Invalid function return type";break;case U_.invalid_date:s="Invalid date";break;case U_.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(s=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(s=`${s} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?s=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?s=`Invalid input: must end with "${e.validation.endsWith}"`:L_.assertNever(e.validation):s="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case U_.too_small:s="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type||"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case U_.too_big:s="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case U_.custom:s="Invalid input";break;case U_.invalid_intersection_types:s="Intersection results could not be merged";break;case U_.not_multiple_of:s=`Number must be a multiple of ${e.multipleOf}`;break;case U_.not_finite:s="Number must be finite";break;default:s=t.defaultError,L_.assertNever(e)}return{message:s}};let K_=Y_;function Q_(e,t){const s=K_,a=(e=>{const{data:t,path:s,errorMaps:a,issueData:r}=e,i=[...s,...r.path||[]],n={...r,path:i};if(void 0!==r.message)return{...r,path:i,message:r.message};let o="";const l=a.filter(e=>!!e).slice().reverse();for(const d of l)o=d(n,{data:t,defaultError:o}).message;return{...r,path:i,message:o}})({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,s,s===Y_?void 0:Y_].filter(e=>!!e)});e.common.issues.push(a)}class Z_{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const a of t){if("aborted"===a.status)return J_;"dirty"===a.status&&e.dirty(),s.push(a.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const a of t){const e=await a.key,t=await a.value;s.push({key:e,value:t})}return Z_.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const a of t){const{key:t,value:r}=a;if("aborted"===t.status)return J_;if("aborted"===r.status)return J_;"dirty"===t.status&&e.dirty(),"dirty"===r.status&&e.dirty(),"__proto__"===t.value||void 0===r.value&&!a.alwaysSet||(s[t.value]=r.value)}return{status:e.value,value:s}}}const J_=Object.freeze({status:"aborted"}),X_=e=>({status:"dirty",value:e}),eL=e=>({status:"valid",value:e}),tL=e=>"aborted"===e.status,sL=e=>"dirty"===e.status,aL=e=>"valid"===e.status,rL=e=>"undefined"!=typeof Promise&&e instanceof Promise;var iL,nL;(nL=iL||(iL={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},nL.toString=e=>"string"==typeof e?e:e?.message;class oL{constructor(e,t,s,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const lL=(e,t)=>{if(aL(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new $_(e.common.issues);return this._error=t,this._error}}};function dL(e){if(!e)return{};const{errorMap:t,invalid_type_error:s,required_error:a,description:r}=e;if(t&&(s||a))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:r};return{errorMap:(t,r)=>{const{message:i}=e;return"invalid_enum_value"===t.code?{message:i??r.defaultError}:void 0===r.data?{message:i??a??r.defaultError}:"invalid_type"!==t.code?{message:r.defaultError}:{message:i??s??r.defaultError}},description:r}}class cL{get description(){return this._def.description}_getType(e){return G_(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:G_(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Z_,ctx:{common:e.parent.common,data:e.data,parsedType:G_(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(rL(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){const s={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:G_(e)},a=this._parseSync({data:e,path:s.path,parent:s});return lL(s,a)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:G_(e)};if(!this["~standard"].async)try{const s=this._parseSync({data:e,path:[],parent:t});return aL(s)?{value:s.value}:{issues:t.common.issues}}catch(s){s?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>aL(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:G_(e)},a=this._parse({data:e,path:s.path,parent:s}),r=await(rL(a)?a:Promise.resolve(a));return lL(s,r)}refine(e,t){const s=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,a)=>{const r=e(t),i=()=>a.addIssue({code:U_.custom,...s(t)});return"undefined"!=typeof Promise&&r instanceof Promise?r.then(e=>!!e||(i(),!1)):!!r||(i(),!1)})}refinement(e,t){return this._refinement((s,a)=>!!e(s)||(a.addIssue("function"==typeof t?t(s,a):t),!1))}_refinement(e){return new dF({schema:this,typeName:yF.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return cF.create(this,this._def)}nullable(){return mF.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $L.create(this)}promise(){return lF.create(this,this._def)}or(e){return QL.create([this,e],this._def)}and(e){return JL.create(this,e,this._def)}transform(e){return new dF({...dL(this._def),schema:this,typeName:yF.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new hF({...dL(this._def),innerType:this,defaultValue:t,typeName:yF.ZodDefault})}brand(){return new pF({typeName:yF.ZodBranded,type:this,...dL(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new xF({...dL(this._def),innerType:this,catchValue:t,typeName:yF.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return gF.create(this,e)}readonly(){return fF.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const mL=/^c[^\s-]{8,}$/i,hL=/^[0-9a-z]+$/,xL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,pL=/^[a-z0-9_-]{21}$/i,gL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,fL=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,yL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let bL;const vL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,jL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,NL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,wL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,kL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ML=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,AL="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",SL=new RegExp(`^${AL}$`);function CL(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${e.precision?"+":"?"}`}function IL(e){return new RegExp(`^${CL(e)}$`)}function PL(e){let t=`${AL}T${CL(e)}`;const s=[];return s.push(e.local?"Z?":"Z"),e.offset&&s.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${s.join("|")})`,new RegExp(`^${t}$`)}function TL(e,t){return!("v4"!==t&&t||!vL.test(e))||!("v6"!==t&&t||!NL.test(e))}function RL(e,t){if(!gL.test(e))return!1;try{const[s]=e.split(".");if(!s)return!1;const a=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),r=JSON.parse(atob(a));return"object"==typeof r&&null!==r&&((!("typ"in r)||"JWT"===r?.typ)&&(!!r.alg&&(!t||r.alg===t)))}catch{return!1}}function OL(e,t){return!("v4"!==t&&t||!jL.test(e))||!("v6"!==t&&t||!wL.test(e))}class DL extends cL{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==B_.string){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.string,received:t.parsedType}),J_}const t=new Z_;let s;for(const a of this._def.checks)if("min"===a.kind)e.data.length<a.value&&(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("max"===a.kind)e.data.length>a.value&&(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const r=e.data.length>a.value,i=e.data.length<a.value;(r||i)&&(s=this._getOrReturnCtx(e,s),r?Q_(s,{code:U_.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):i&&Q_(s,{code:U_.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),t.dirty())}else if("email"===a.kind)yL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"email",code:U_.invalid_string,message:a.message}),t.dirty());else if("emoji"===a.kind)bL||(bL=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),bL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"emoji",code:U_.invalid_string,message:a.message}),t.dirty());else if("uuid"===a.kind)uL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"uuid",code:U_.invalid_string,message:a.message}),t.dirty());else if("nanoid"===a.kind)pL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"nanoid",code:U_.invalid_string,message:a.message}),t.dirty());else if("cuid"===a.kind)mL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"cuid",code:U_.invalid_string,message:a.message}),t.dirty());else if("cuid2"===a.kind)hL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"cuid2",code:U_.invalid_string,message:a.message}),t.dirty());else if("ulid"===a.kind)xL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"ulid",code:U_.invalid_string,message:a.message}),t.dirty());else if("url"===a.kind)try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),Q_(s,{validation:"url",code:U_.invalid_string,message:a.message}),t.dirty()}else if("regex"===a.kind){a.regex.lastIndex=0;a.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"regex",code:U_.invalid_string,message:a.message}),t.dirty())}else if("trim"===a.kind)e.data=e.data.trim();else if("includes"===a.kind)e.data.includes(a.value,a.position)||(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),t.dirty());else if("toLowerCase"===a.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===a.kind)e.data=e.data.toUpperCase();else if("startsWith"===a.kind)e.data.startsWith(a.value)||(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.invalid_string,validation:{startsWith:a.value},message:a.message}),t.dirty());else if("endsWith"===a.kind)e.data.endsWith(a.value)||(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.invalid_string,validation:{endsWith:a.value},message:a.message}),t.dirty());else if("datetime"===a.kind){PL(a).test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.invalid_string,validation:"datetime",message:a.message}),t.dirty())}else if("date"===a.kind){SL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.invalid_string,validation:"date",message:a.message}),t.dirty())}else if("time"===a.kind){IL(a).test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.invalid_string,validation:"time",message:a.message}),t.dirty())}else"duration"===a.kind?fL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"duration",code:U_.invalid_string,message:a.message}),t.dirty()):"ip"===a.kind?TL(e.data,a.version)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"ip",code:U_.invalid_string,message:a.message}),t.dirty()):"jwt"===a.kind?RL(e.data,a.alg)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"jwt",code:U_.invalid_string,message:a.message}),t.dirty()):"cidr"===a.kind?OL(e.data,a.version)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"cidr",code:U_.invalid_string,message:a.message}),t.dirty()):"base64"===a.kind?kL.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"base64",code:U_.invalid_string,message:a.message}),t.dirty()):"base64url"===a.kind?ML.test(e.data)||(s=this._getOrReturnCtx(e,s),Q_(s,{validation:"base64url",code:U_.invalid_string,message:a.message}),t.dirty()):L_.assertNever(a);return{status:t.value,value:e.data}}_regex(e,t,s){return this.refinement(t=>e.test(t),{validation:t,code:U_.invalid_string,...iL.errToObj(s)})}_addCheck(e){return new DL({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...iL.errToObj(e)})}url(e){return this._addCheck({kind:"url",...iL.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...iL.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...iL.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...iL.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...iL.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...iL.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...iL.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...iL.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...iL.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...iL.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...iL.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...iL.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...iL.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...iL.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...iL.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...iL.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...iL.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...iL.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...iL.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...iL.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...iL.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...iL.errToObj(t)})}nonempty(e){return this.min(1,iL.errToObj(e))}trim(){return new DL({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new DL({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new DL({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function qL(e,t){const s=(e.toString().split(".")[1]||"").length,a=(t.toString().split(".")[1]||"").length,r=s>a?s:a;return Number.parseInt(e.toFixed(r).replace(".",""))%Number.parseInt(t.toFixed(r).replace(".",""))/10**r}DL.create=e=>new DL({checks:[],typeName:yF.ZodString,coerce:e?.coerce??!1,...dL(e)});class EL extends cL{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==B_.number){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.number,received:t.parsedType}),J_}let t;const s=new Z_;for(const a of this._def.checks)if("int"===a.kind)L_.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.invalid_type,expected:"integer",received:"float",message:a.message}),s.dirty());else if("min"===a.kind){(a.inclusive?e.data<a.value:e.data<=a.value)&&(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),s.dirty())}else if("max"===a.kind){(a.inclusive?e.data>a.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),s.dirty())}else"multipleOf"===a.kind?0!==qL(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.not_multiple_of,multipleOf:a.value,message:a.message}),s.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.not_finite,message:a.message}),s.dirty()):L_.assertNever(a);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,iL.toString(t))}gt(e,t){return this.setLimit("min",e,!1,iL.toString(t))}lte(e,t){return this.setLimit("max",e,!0,iL.toString(t))}lt(e,t){return this.setLimit("max",e,!1,iL.toString(t))}setLimit(e,t,s,a){return new EL({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:iL.toString(a)}]})}_addCheck(e){return new EL({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:iL.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:iL.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:iL.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:iL.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:iL.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:iL.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:iL.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:iL.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:iL.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&L_.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if("finite"===s.kind||"int"===s.kind||"multipleOf"===s.kind)return!0;"min"===s.kind?(null===t||s.value>t)&&(t=s.value):"max"===s.kind&&(null===e||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}EL.create=e=>new EL({checks:[],typeName:yF.ZodNumber,coerce:e?.coerce||!1,...dL(e)});class zL extends cL{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==B_.bigint)return this._getInvalidInput(e);let t;const s=new Z_;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.data<a.value:e.data<=a.value)&&(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),s.dirty())}else if("max"===a.kind){(a.inclusive?e.data>a.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),s.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),Q_(t,{code:U_.not_multiple_of,multipleOf:a.value,message:a.message}),s.dirty()):L_.assertNever(a);return{status:s.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.bigint,received:t.parsedType}),J_}gte(e,t){return this.setLimit("min",e,!0,iL.toString(t))}gt(e,t){return this.setLimit("min",e,!1,iL.toString(t))}lte(e,t){return this.setLimit("max",e,!0,iL.toString(t))}lt(e,t){return this.setLimit("max",e,!1,iL.toString(t))}setLimit(e,t,s,a){return new zL({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:iL.toString(a)}]})}_addCheck(e){return new zL({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:iL.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:iL.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:iL.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:iL.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:iL.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}zL.create=e=>new zL({checks:[],typeName:yF.ZodBigInt,coerce:e?.coerce??!1,...dL(e)});class _L extends cL{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==B_.boolean){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.boolean,received:t.parsedType}),J_}return eL(e.data)}}_L.create=e=>new _L({typeName:yF.ZodBoolean,coerce:e?.coerce||!1,...dL(e)});class LL extends cL{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==B_.date){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.date,received:t.parsedType}),J_}if(Number.isNaN(e.data.getTime())){return Q_(this._getOrReturnCtx(e),{code:U_.invalid_date}),J_}const t=new Z_;let s;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()<a.value&&(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),t.dirty()):"max"===a.kind?e.data.getTime()>a.value&&(s=this._getOrReturnCtx(e,s),Q_(s,{code:U_.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):L_.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new LL({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:iL.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:iL.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}LL.create=e=>new LL({checks:[],coerce:e?.coerce||!1,typeName:yF.ZodDate,...dL(e)});class FL extends cL{_parse(e){if(this._getType(e)!==B_.symbol){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.symbol,received:t.parsedType}),J_}return eL(e.data)}}FL.create=e=>new FL({typeName:yF.ZodSymbol,...dL(e)});class WL extends cL{_parse(e){if(this._getType(e)!==B_.undefined){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.undefined,received:t.parsedType}),J_}return eL(e.data)}}WL.create=e=>new WL({typeName:yF.ZodUndefined,...dL(e)});class HL extends cL{_parse(e){if(this._getType(e)!==B_.null){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.null,received:t.parsedType}),J_}return eL(e.data)}}HL.create=e=>new HL({typeName:yF.ZodNull,...dL(e)});class VL extends cL{constructor(){super(...arguments),this._any=!0}_parse(e){return eL(e.data)}}VL.create=e=>new VL({typeName:yF.ZodAny,...dL(e)});class BL extends cL{constructor(){super(...arguments),this._unknown=!0}_parse(e){return eL(e.data)}}BL.create=e=>new BL({typeName:yF.ZodUnknown,...dL(e)});class GL extends cL{_parse(e){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.never,received:t.parsedType}),J_}}GL.create=e=>new GL({typeName:yF.ZodNever,...dL(e)});class UL extends cL{_parse(e){if(this._getType(e)!==B_.undefined){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.void,received:t.parsedType}),J_}return eL(e.data)}}UL.create=e=>new UL({typeName:yF.ZodVoid,...dL(e)});class $L extends cL{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),a=this._def;if(t.parsedType!==B_.array)return Q_(t,{code:U_.invalid_type,expected:B_.array,received:t.parsedType}),J_;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,r=t.data.length<a.exactLength.value;(e||r)&&(Q_(t,{code:e?U_.too_big:U_.too_small,minimum:r?a.exactLength.value:void 0,maximum:e?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),s.dirty())}if(null!==a.minLength&&t.data.length<a.minLength.value&&(Q_(t,{code:U_.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),s.dirty()),null!==a.maxLength&&t.data.length>a.maxLength.value&&(Q_(t,{code:U_.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((e,s)=>a.type._parseAsync(new oL(t,e,t.path,s)))).then(e=>Z_.mergeArray(s,e));const r=[...t.data].map((e,s)=>a.type._parseSync(new oL(t,e,t.path,s)));return Z_.mergeArray(s,r)}get element(){return this._def.type}min(e,t){return new $L({...this._def,minLength:{value:e,message:iL.toString(t)}})}max(e,t){return new $L({...this._def,maxLength:{value:e,message:iL.toString(t)}})}length(e,t){return new $L({...this._def,exactLength:{value:e,message:iL.toString(t)}})}nonempty(e){return this.min(1,e)}}function YL(e){if(e instanceof KL){const t={};for(const s in e.shape){const a=e.shape[s];t[s]=cF.create(YL(a))}return new KL({...e._def,shape:()=>t})}return e instanceof $L?new $L({...e._def,type:YL(e.element)}):e instanceof cF?cF.create(YL(e.unwrap())):e instanceof mF?mF.create(YL(e.unwrap())):e instanceof XL?XL.create(e.items.map(e=>YL(e))):e}$L.create=(e,t)=>new $L({type:e,minLength:null,maxLength:null,exactLength:null,typeName:yF.ZodArray,...dL(t)});class KL extends cL{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=L_.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==B_.object){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.object,received:t.parsedType}),J_}const{status:t,ctx:s}=this._processInputParams(e),{shape:a,keys:r}=this._getCached(),i=[];if(!(this._def.catchall instanceof GL&&"strip"===this._def.unknownKeys))for(const o in s.data)r.includes(o)||i.push(o);const n=[];for(const o of r){const e=a[o],t=s.data[o];n.push({key:{status:"valid",value:o},value:e._parse(new oL(s,t,s.path,o)),alwaysSet:o in s.data})}if(this._def.catchall instanceof GL){const e=this._def.unknownKeys;if("passthrough"===e)for(const t of i)n.push({key:{status:"valid",value:t},value:{status:"valid",value:s.data[t]}});else if("strict"===e)i.length>0&&(Q_(s,{code:U_.unrecognized_keys,keys:i}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of i){const a=s.data[t];n.push({key:{status:"valid",value:t},value:e._parse(new oL(s,a,s.path,t)),alwaysSet:t in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const e=[];for(const t of n){const s=await t.key,a=await t.value;e.push({key:s,value:a,alwaysSet:t.alwaysSet})}return e}).then(e=>Z_.mergeObjectSync(t,e)):Z_.mergeObjectSync(t,n)}get shape(){return this._def.shape()}strict(e){return iL.errToObj,new KL({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,s)=>{const a=this._def.errorMap?.(t,s).message??s.defaultError;return"unrecognized_keys"===t.code?{message:iL.errToObj(e).message??a}:{message:a}}}:{}})}strip(){return new KL({...this._def,unknownKeys:"strip"})}passthrough(){return new KL({...this._def,unknownKeys:"passthrough"})}extend(e){return new KL({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new KL({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:yF.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new KL({...this._def,catchall:e})}pick(e){const t={};for(const s of L_.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new KL({...this._def,shape:()=>t})}omit(e){const t={};for(const s of L_.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new KL({...this._def,shape:()=>t})}deepPartial(){return YL(this)}partial(e){const t={};for(const s of L_.objectKeys(this.shape)){const a=this.shape[s];e&&!e[s]?t[s]=a:t[s]=a.optional()}return new KL({...this._def,shape:()=>t})}required(e){const t={};for(const s of L_.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let e=this.shape[s];for(;e instanceof cF;)e=e._def.innerType;t[s]=e}return new KL({...this._def,shape:()=>t})}keyof(){return iF(L_.objectKeys(this.shape))}}KL.create=(e,t)=>new KL({shape:()=>e,unknownKeys:"strip",catchall:GL.create(),typeName:yF.ZodObject,...dL(t)}),KL.strictCreate=(e,t)=>new KL({shape:()=>e,unknownKeys:"strict",catchall:GL.create(),typeName:yF.ZodObject,...dL(t)}),KL.lazycreate=(e,t)=>new KL({shape:e,unknownKeys:"strip",catchall:GL.create(),typeName:yF.ZodObject,...dL(t)});class QL extends cL{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;if(t.common.async)return Promise.all(s.map(async e=>{const s={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:s}),ctx:s}})).then(function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const a of e)if("dirty"===a.result.status)return t.common.issues.push(...a.ctx.common.issues),a.result;const s=e.map(e=>new $_(e.ctx.common.issues));return Q_(t,{code:U_.invalid_union,unionErrors:s}),J_});{let e;const a=[];for(const i of s){const s={...t,common:{...t.common,issues:[]},parent:null},r=i._parseSync({data:t.data,path:t.path,parent:s});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:s}),s.common.issues.length&&a.push(s.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const r=a.map(e=>new $_(e));return Q_(t,{code:U_.invalid_union,unionErrors:r}),J_}}get options(){return this._def.options}}function ZL(e,t){const s=G_(e),a=G_(t);if(e===t)return{valid:!0,data:e};if(s===B_.object&&a===B_.object){const s=L_.objectKeys(t),a=L_.objectKeys(e).filter(e=>-1!==s.indexOf(e)),r={...e,...t};for(const i of a){const s=ZL(e[i],t[i]);if(!s.valid)return{valid:!1};r[i]=s.data}return{valid:!0,data:r}}if(s===B_.array&&a===B_.array){if(e.length!==t.length)return{valid:!1};const s=[];for(let a=0;a<e.length;a++){const r=ZL(e[a],t[a]);if(!r.valid)return{valid:!1};s.push(r.data)}return{valid:!0,data:s}}return s===B_.date&&a===B_.date&&+e===+t?{valid:!0,data:e}:{valid:!1}}QL.create=(e,t)=>new QL({options:e,typeName:yF.ZodUnion,...dL(t)});class JL extends cL{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),a=(e,a)=>{if(tL(e)||tL(a))return J_;const r=ZL(e.value,a.value);return r.valid?((sL(e)||sL(a))&&t.dirty(),{status:t.value,value:r.data}):(Q_(s,{code:U_.invalid_intersection_types}),J_)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([e,t])=>a(e,t)):a(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}JL.create=(e,t,s)=>new JL({left:e,right:t,typeName:yF.ZodIntersection,...dL(s)});class XL extends cL{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==B_.array)return Q_(s,{code:U_.invalid_type,expected:B_.array,received:s.parsedType}),J_;if(s.data.length<this._def.items.length)return Q_(s,{code:U_.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J_;!this._def.rest&&s.data.length>this._def.items.length&&(Q_(s,{code:U_.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...s.data].map((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new oL(s,e,s.path,t)):null}).filter(e=>!!e);return s.common.async?Promise.all(a).then(e=>Z_.mergeArray(t,e)):Z_.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new XL({...this._def,rest:e})}}XL.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new XL({items:e,typeName:yF.ZodTuple,rest:null,...dL(t)})};class eF extends cL{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==B_.object)return Q_(s,{code:U_.invalid_type,expected:B_.object,received:s.parsedType}),J_;const a=[],r=this._def.keyType,i=this._def.valueType;for(const n in s.data)a.push({key:r._parse(new oL(s,n,s.path,n)),value:i._parse(new oL(s,s.data[n],s.path,n)),alwaysSet:n in s.data});return s.common.async?Z_.mergeObjectAsync(t,a):Z_.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,s){return new eF(t instanceof cL?{keyType:e,valueType:t,typeName:yF.ZodRecord,...dL(s)}:{keyType:DL.create(),valueType:e,typeName:yF.ZodRecord,...dL(t)})}}class tF extends cL{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==B_.map)return Q_(s,{code:U_.invalid_type,expected:B_.map,received:s.parsedType}),J_;const a=this._def.keyType,r=this._def.valueType,i=[...s.data.entries()].map(([e,t],i)=>({key:a._parse(new oL(s,e,s.path,[i,"key"])),value:r._parse(new oL(s,t,s.path,[i,"value"]))}));if(s.common.async){const e=new Map;return Promise.resolve().then(async()=>{for(const s of i){const a=await s.key,r=await s.value;if("aborted"===a.status||"aborted"===r.status)return J_;"dirty"!==a.status&&"dirty"!==r.status||t.dirty(),e.set(a.value,r.value)}return{status:t.value,value:e}})}{const e=new Map;for(const s of i){const a=s.key,r=s.value;if("aborted"===a.status||"aborted"===r.status)return J_;"dirty"!==a.status&&"dirty"!==r.status||t.dirty(),e.set(a.value,r.value)}return{status:t.value,value:e}}}}tF.create=(e,t,s)=>new tF({valueType:t,keyType:e,typeName:yF.ZodMap,...dL(s)});class sF extends cL{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==B_.set)return Q_(s,{code:U_.invalid_type,expected:B_.set,received:s.parsedType}),J_;const a=this._def;null!==a.minSize&&s.data.size<a.minSize.value&&(Q_(s,{code:U_.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),null!==a.maxSize&&s.data.size>a.maxSize.value&&(Q_(s,{code:U_.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const r=this._def.valueType;function i(e){const s=new Set;for(const a of e){if("aborted"===a.status)return J_;"dirty"===a.status&&t.dirty(),s.add(a.value)}return{status:t.value,value:s}}const n=[...s.data.values()].map((e,t)=>r._parse(new oL(s,e,s.path,t)));return s.common.async?Promise.all(n).then(e=>i(e)):i(n)}min(e,t){return new sF({...this._def,minSize:{value:e,message:iL.toString(t)}})}max(e,t){return new sF({...this._def,maxSize:{value:e,message:iL.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}sF.create=(e,t)=>new sF({valueType:e,minSize:null,maxSize:null,typeName:yF.ZodSet,...dL(t)});class aF extends cL{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}aF.create=(e,t)=>new aF({getter:e,typeName:yF.ZodLazy,...dL(t)});class rF extends cL{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return Q_(t,{received:t.data,code:U_.invalid_literal,expected:this._def.value}),J_}return{status:"valid",value:e.data}}get value(){return this._def.value}}function iF(e,t){return new nF({values:e,typeName:yF.ZodEnum,...dL(t)})}rF.create=(e,t)=>new rF({value:e,typeName:yF.ZodLiteral,...dL(t)});class nF extends cL{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),s=this._def.values;return Q_(t,{expected:L_.joinValues(s),received:t.parsedType,code:U_.invalid_type}),J_}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return Q_(t,{received:t.data,code:U_.invalid_enum_value,options:s}),J_}return eL(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return nF.create(e,{...this._def,...t})}exclude(e,t=this._def){return nF.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}nF.create=iF;class oF extends cL{_parse(e){const t=L_.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==B_.string&&s.parsedType!==B_.number){const e=L_.objectValues(t);return Q_(s,{expected:L_.joinValues(e),received:s.parsedType,code:U_.invalid_type}),J_}if(this._cache||(this._cache=new Set(L_.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const e=L_.objectValues(t);return Q_(s,{received:s.data,code:U_.invalid_enum_value,options:e}),J_}return eL(e.data)}get enum(){return this._def.values}}oF.create=(e,t)=>new oF({values:e,typeName:yF.ZodNativeEnum,...dL(t)});class lF extends cL{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==B_.promise&&!1===t.common.async)return Q_(t,{code:U_.invalid_type,expected:B_.promise,received:t.parsedType}),J_;const s=t.parsedType===B_.promise?t.data:Promise.resolve(t.data);return eL(s.then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}lF.create=(e,t)=>new lF({type:e,typeName:yF.ZodPromise,...dL(t)});class dF extends cL{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===yF.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),a=this._def.effect||null,r={addIssue:e=>{Q_(s,e),e.fatal?t.abort():t.dirty()},get path(){return s.path}};if(r.addIssue=r.addIssue.bind(r),"preprocess"===a.type){const e=a.transform(s.data,r);if(s.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return J_;const a=await this._def.schema._parseAsync({data:e,path:s.path,parent:s});return"aborted"===a.status?J_:"dirty"===a.status||"dirty"===t.value?X_(a.value):a});{if("aborted"===t.value)return J_;const a=this._def.schema._parseSync({data:e,path:s.path,parent:s});return"aborted"===a.status?J_:"dirty"===a.status||"dirty"===t.value?X_(a.value):a}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,r);if(s.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===s.common.async){const a=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return"aborted"===a.status?J_:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(s=>"aborted"===s.status?J_:("dirty"===s.status&&t.dirty(),e(s.value).then(()=>({status:t.value,value:s.value}))))}if("transform"===a.type){if(!1===s.common.async){const e=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!aL(e))return J_;const i=a.transform(e.value,r);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(e=>aL(e)?Promise.resolve(a.transform(e.value,r)).then(e=>({status:t.value,value:e})):J_)}L_.assertNever(a)}}dF.create=(e,t,s)=>new dF({schema:e,typeName:yF.ZodEffects,effect:t,...dL(s)}),dF.createWithPreprocess=(e,t,s)=>new dF({schema:t,effect:{type:"preprocess",transform:e},typeName:yF.ZodEffects,...dL(s)});class cF extends cL{_parse(e){return this._getType(e)===B_.undefined?eL(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}cF.create=(e,t)=>new cF({innerType:e,typeName:yF.ZodOptional,...dL(t)});class mF extends cL{_parse(e){return this._getType(e)===B_.null?eL(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}mF.create=(e,t)=>new mF({innerType:e,typeName:yF.ZodNullable,...dL(t)});class hF extends cL{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===B_.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}hF.create=(e,t)=>new hF({innerType:e,typeName:yF.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...dL(t)});class xF extends cL{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return rL(a)?a.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new $_(s.common.issues)},input:s.data})})):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new $_(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}xF.create=(e,t)=>new xF({innerType:e,typeName:yF.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...dL(t)});class uF extends cL{_parse(e){if(this._getType(e)!==B_.nan){const t=this._getOrReturnCtx(e);return Q_(t,{code:U_.invalid_type,expected:B_.nan,received:t.parsedType}),J_}return{status:"valid",value:e.data}}}uF.create=e=>new uF({typeName:yF.ZodNaN,...dL(e)});class pF extends cL{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class gF extends cL{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return"aborted"===e.status?J_:"dirty"===e.status?(t.dirty(),X_(e.value)):this._def.out._parseAsync({data:e.value,path:s.path,parent:s})})()}{const e=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return"aborted"===e.status?J_:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:s.path,parent:s})}}static create(e,t){return new gF({in:e,out:t,typeName:yF.ZodPipeline})}}class fF extends cL{_parse(e){const t=this._def.innerType._parse(e),s=e=>(aL(e)&&(e.value=Object.freeze(e.value)),e);return rL(t)?t.then(e=>s(e)):s(t)}unwrap(){return this._def.innerType}}var yF,bF;fF.create=(e,t)=>new fF({innerType:e,typeName:yF.ZodReadonly,...dL(t)}),KL.lazycreate,(bF=yF||(yF={})).ZodString="ZodString",bF.ZodNumber="ZodNumber",bF.ZodNaN="ZodNaN",bF.ZodBigInt="ZodBigInt",bF.ZodBoolean="ZodBoolean",bF.ZodDate="ZodDate",bF.ZodSymbol="ZodSymbol",bF.ZodUndefined="ZodUndefined",bF.ZodNull="ZodNull",bF.ZodAny="ZodAny",bF.ZodUnknown="ZodUnknown",bF.ZodNever="ZodNever",bF.ZodVoid="ZodVoid",bF.ZodArray="ZodArray",bF.ZodObject="ZodObject",bF.ZodUnion="ZodUnion",bF.ZodDiscriminatedUnion="ZodDiscriminatedUnion",bF.ZodIntersection="ZodIntersection",bF.ZodTuple="ZodTuple",bF.ZodRecord="ZodRecord",bF.ZodMap="ZodMap",bF.ZodSet="ZodSet",bF.ZodFunction="ZodFunction",bF.ZodLazy="ZodLazy",bF.ZodLiteral="ZodLiteral",bF.ZodEnum="ZodEnum",bF.ZodEffects="ZodEffects",bF.ZodNativeEnum="ZodNativeEnum",bF.ZodOptional="ZodOptional",bF.ZodNullable="ZodNullable",bF.ZodDefault="ZodDefault",bF.ZodCatch="ZodCatch",bF.ZodPromise="ZodPromise",bF.ZodBranded="ZodBranded",bF.ZodPipeline="ZodPipeline",bF.ZodReadonly="ZodReadonly";const vF=DL.create,jF=EL.create;uF.create,zL.create;const NF=_L.create;LL.create,FL.create,WL.create,HL.create,VL.create,BL.create,GL.create,UL.create;const wF=$L.create,kF=KL.create;KL.strictCreate;const MF=QL.create;JL.create,XL.create;const AF=eF.create;tF.create,sF.create,aF.create;const SF=rF.create,CF=nF.create;oF.create,lF.create,dF.create,cF.create,mF.create,dF.createWithPreprocess;const IF=Ae,PF=Se,TF=Me,RF=Qe.forwardRef(({className:e,...t},s)=>J.jsx(ve,{ref:s,className:VT("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));RF.displayName=ve.displayName;const OF=Qe.forwardRef(({className:e,children:t,...s},a)=>J.jsxs(TF,{children:[J.jsx(RF,{}),J.jsxs(je,{ref:a,className:VT("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...s,children:[t,J.jsxs(Ne,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[J.jsx(BP,{className:"h-4 w-4"}),J.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));OF.displayName=je.displayName;const DF=({className:e,...t})=>J.jsx("div",{className:VT("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});DF.displayName="DialogHeader";const qF=Qe.forwardRef(({className:e,...t},s)=>J.jsx(we,{ref:s,className:VT("text-lg font-semibold leading-none tracking-tight",e),...t}));qF.displayName=we.displayName;const EF=Qe.forwardRef(({className:e,...t},s)=>J.jsx(ke,{ref:s,className:VT("text-sm text-muted-foreground",e),...t}));EF.displayName=ke.displayName;const zF=Qe.forwardRef(({className:e,type:t,...s},a)=>J.jsx("input",{type:t,className:VT("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...s}));zF.displayName="Input";const _F=Qe.forwardRef(({className:e,...t},s)=>J.jsx("textarea",{className:VT("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:s,...t}));_F.displayName="Textarea";var LF=Qe.forwardRef((e,t)=>J.jsx(ee.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));LF.displayName="Label";var FF=LF;const WF=xs("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),HF=Qe.forwardRef(({className:e,...t},s)=>J.jsx(FF,{ref:s,className:VT(WF(),e),...t}));HF.displayName=FF.displayName;var VF="Radio",[BF,GF]=Q(VF),[UF,$F]=BF(VF),YF=Qe.forwardRef((e,t)=>{const{__scopeRadio:s,name:a,checked:r=!1,required:i,disabled:n,value:o="on",onCheck:l,form:d,...c}=e,[m,h]=Qe.useState(null),x=Z(t,e=>h(e)),u=Qe.useRef(!1),p=!m||(d||!!m.closest("form"));return J.jsxs(UF,{scope:s,checked:r,disabled:n,children:[J.jsx(ee.button,{type:"button",role:"radio","aria-checked":r,"data-state":JF(r),"data-disabled":n?"":void 0,disabled:n,value:o,...c,ref:x,onClick:ie(e.onClick,e=>{r||l?.(),p&&(u.current=e.isPropagationStopped(),u.current||e.stopPropagation())})}),p&&J.jsx(ZF,{control:m,bubbles:!u.current,name:a,value:o,checked:r,required:i,disabled:n,form:d,style:{transform:"translateX(-100%)"}})]})});YF.displayName=VF;var KF="RadioIndicator",QF=Qe.forwardRef((e,t)=>{const{__scopeRadio:s,forceMount:a,...r}=e,i=$F(KF,s);return J.jsx(ae,{present:a||i.checked,children:J.jsx(ee.span,{"data-state":JF(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t})})});QF.displayName=KF;var ZF=Qe.forwardRef(({__scopeRadio:e,control:t,checked:s,bubbles:a=!0,...r},i)=>{const n=Qe.useRef(null),o=Z(n,i),l=Fe(s),d=We(t);return Qe.useEffect(()=>{const e=n.current;if(!e)return;const t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"checked").set;if(l!==s&&r){const t=new Event("click",{bubbles:a});r.call(e,s),e.dispatchEvent(t)}},[l,s,a]),J.jsx(ee.input,{type:"radio","aria-hidden":!0,defaultChecked:s,...r,tabIndex:-1,ref:o,style:{...r.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function JF(e){return e?"checked":"unchecked"}ZF.displayName="RadioBubbleInput";var XF=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],eW="RadioGroup",[tW,sW]=Q(eW,[He,GF]),aW=He(),rW=GF(),[iW,nW]=tW(eW),oW=Qe.forwardRef((e,t)=>{const{__scopeRadioGroup:s,name:a,defaultValue:r,value:i,required:n=!1,disabled:o=!1,orientation:l,dir:d,loop:c=!0,onValueChange:m,...h}=e,x=aW(s),u=Ve(d),[p,g]=se({prop:i,defaultProp:r??null,onChange:m,caller:eW});return J.jsx(iW,{scope:s,name:a,required:n,disabled:o,value:p,onValueChange:g,children:J.jsx(Be,{asChild:!0,...x,orientation:l,dir:u,loop:c,children:J.jsx(ee.div,{role:"radiogroup","aria-required":n,"aria-orientation":l,"data-disabled":o?"":void 0,dir:u,...h,ref:t})})})});oW.displayName=eW;var lW="RadioGroupItem",dW=Qe.forwardRef((e,t)=>{const{__scopeRadioGroup:s,disabled:a,...r}=e,i=nW(lW,s),n=i.disabled||a,o=aW(s),l=rW(s),d=Qe.useRef(null),c=Z(t,d),m=i.value===r.value,h=Qe.useRef(!1);return Qe.useEffect(()=>{const e=e=>{XF.includes(e.key)&&(h.current=!0)},t=()=>h.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}},[]),J.jsx(Ge,{asChild:!0,...o,focusable:!n,active:m,children:J.jsx(YF,{disabled:n,required:i.required,checked:m,...l,...r,name:i.name,ref:c,onCheck:()=>i.onValueChange(r.value),onKeyDown:ie(e=>{"Enter"===e.key&&e.preventDefault()}),onFocus:ie(r.onFocus,()=>{h.current&&d.current?.click()})})})});dW.displayName=lW;var cW=Qe.forwardRef((e,t)=>{const{__scopeRadioGroup:s,...a}=e,r=rW(s);return J.jsx(QF,{...r,...a,ref:t})});cW.displayName="RadioGroupIndicator";var mW=oW,hW=dW,xW=cW;const uW=Qe.forwardRef(({className:e,...t},s)=>J.jsx(mW,{className:VT("grid gap-2",e),...t,ref:s}));uW.displayName=mW.displayName;const pW=Qe.forwardRef(({className:e,...t},s)=>J.jsx(hW,{ref:s,className:VT("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:J.jsx(xW,{className:"flex items-center justify-center",children:J.jsx(dd,{className:"h-2.5 w-2.5 fill-current text-current"})})}));pW.displayName=hW.displayName;class gW extends Error{constructor(e,t="FunctionsError",s){super(e),this.name=t,this.context=s}}class fW extends gW{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class yW extends gW{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class bW extends gW{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var vW,jW;(jW=vW||(vW={})).Any="any",jW.ApNortheast1="ap-northeast-1",jW.ApNortheast2="ap-northeast-2",jW.ApSouth1="ap-south-1",jW.ApSoutheast1="ap-southeast-1",jW.ApSoutheast2="ap-southeast-2",jW.CaCentral1="ca-central-1",jW.EuCentral1="eu-central-1",jW.EuWest1="eu-west-1",jW.EuWest2="eu-west-2",jW.EuWest3="eu-west-3",jW.SaEast1="sa-east-1",jW.UsEast1="us-east-1",jW.UsWest1="us-west-1",jW.UsWest2="us-west-2";class NW{constructor(e,{headers:t={},customFetch:s,region:a=vW.Any}={}){this.url=e,this.headers=t,this.region=a,this.fetch=(e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>pt(async()=>{const{default:e}=await Promise.resolve().then(()=>EW);return{default:e}},void 0).then(({default:t})=>t(...e)):fetch),(...e)=>t(...e)})(s)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return Ue(this,arguments,void 0,function*(e,t={}){var s;try{const{headers:a,method:r,body:i,signal:n}=t;let o={},{region:l}=t;l||(l=this.region);const d=new URL(`${this.url}/${e}`);let c;l&&"any"!==l&&(o["x-region"]=l,d.searchParams.set("forceFunctionRegion",l)),i&&(a&&!Object.prototype.hasOwnProperty.call(a,"Content-Type")||!a)?"undefined"!=typeof Blob&&i instanceof Blob||i instanceof ArrayBuffer?(o["Content-Type"]="application/octet-stream",c=i):"string"==typeof i?(o["Content-Type"]="text/plain",c=i):"undefined"!=typeof FormData&&i instanceof FormData?c=i:(o["Content-Type"]="application/json",c=JSON.stringify(i)):c=i;const m=yield this.fetch(d.toString(),{method:r||"POST",headers:Object.assign(Object.assign(Object.assign({},o),this.headers),a),body:c,signal:n}).catch(e=>{if("AbortError"===e.name)throw e;throw new fW(e)}),h=m.headers.get("x-relay-error");if(h&&"true"===h)throw new yW(m);if(!m.ok)throw new bW(m);let x,u=(null!==(s=m.headers.get("Content-Type"))&&void 0!==s?s:"text/plain").split(";")[0].trim();return x="application/json"===u?yield m.json():"application/octet-stream"===u||"application/pdf"===u?yield m.blob():"text/event-stream"===u?m:"multipart/form-data"===u?yield m.formData():yield m.text(),{data:x,error:null,response:m}}catch(a){return a instanceof Error&&"AbortError"===a.name?{data:null,error:new fW(a)}:{data:null,error:a,response:a instanceof bW||a instanceof yW?a.context:void 0}}})}}var wW={};const kW=et($e);var MW={},AW={},SW={},CW={},IW={},PW=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();const TW=PW.fetch,RW=PW.fetch.bind(PW),OW=PW.Headers,DW=PW.Request,qW=PW.Response,EW=Object.freeze(Object.defineProperty({__proto__:null,Headers:OW,Request:DW,Response:qW,default:RW,fetch:TW},Symbol.toStringTag,{value:"Module"})),zW=et(EW);var _W,LW,FW,WW,HW,VW,BW={};function GW(){if(_W)return BW;_W=1,Object.defineProperty(BW,"__esModule",{value:!0});class e extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.code=e.code}}return BW.default=e,BW}function UW(){if(LW)return IW;LW=1,Object.defineProperty(IW,"__esModule",{value:!0});const e=kW,t=e.__importDefault(zW),s=e.__importDefault(GW());return IW.default=class{constructor(e){var s,a;this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=null!==(s=e.shouldThrowOnError)&&void 0!==s&&s,this.signal=e.signal,this.isMaybeSingle=null!==(a=e.isMaybeSingle)&&void 0!==a&&a,e.fetch?this.fetch=e.fetch:"undefined"==typeof fetch?this.fetch=t.default:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}then(e,t){void 0===this.schema||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),"GET"!==this.method&&"HEAD"!==this.method&&this.headers.set("Content-Type","application/json");let a=(0,this.fetch)(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async e=>{var t,a,r,i;let n=null,o=null,l=null,d=e.status,c=e.statusText;if(e.ok){if("HEAD"!==this.method){const s=await e.text();""===s||(o="text/csv"===this.headers.get("Accept")||this.headers.get("Accept")&&(null===(t=this.headers.get("Accept"))||void 0===t?void 0:t.includes("application/vnd.pgrst.plan+text"))?s:JSON.parse(s))}const s=null===(a=this.headers.get("Prefer"))||void 0===a?void 0:a.match(/count=(exact|planned|estimated)/),i=null===(r=e.headers.get("content-range"))||void 0===r?void 0:r.split("/");s&&i&&i.length>1&&(l=parseInt(i[1])),this.isMaybeSingle&&"GET"===this.method&&Array.isArray(o)&&(o.length>1?(n={code:"PGRST116",details:`Results contain ${o.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},o=null,l=null,d=406,c="Not Acceptable"):o=1===o.length?o[0]:null)}else{const t=await e.text();try{n=JSON.parse(t),Array.isArray(n)&&404===e.status&&(o=[],n=null,d=200,c="OK")}catch(m){404===e.status&&""===t?(d=204,c="No Content"):n={message:t}}if(n&&this.isMaybeSingle&&(null===(i=null==n?void 0:n.details)||void 0===i?void 0:i.includes("0 rows"))&&(n=null,d=200,c="OK"),n&&this.shouldThrowOnError)throw new s.default(n)}return{error:n,data:o,count:l,status:d,statusText:c}});return this.shouldThrowOnError||(a=a.catch(e=>{var t,s,a;return{error:{message:`${null!==(t=null==e?void 0:e.name)&&void 0!==t?t:"FetchError"}: ${null==e?void 0:e.message}`,details:`${null!==(s=null==e?void 0:e.stack)&&void 0!==s?s:""}`,hint:"",code:`${null!==(a=null==e?void 0:e.code)&&void 0!==a?a:""}`},data:null,count:null,status:0,statusText:""}})),a.then(e,t)}returns(){return this}overrideTypes(){return this}},IW}function $W(){if(FW)return CW;FW=1,Object.defineProperty(CW,"__esModule",{value:!0});const e=kW.__importDefault(UW());class t extends e.default{select(e){let t=!1;const s=(null!=e?e:"*").split("").map(e=>/\s/.test(e)&&!t?"":('"'===e&&(t=!t),e)).join("");return this.url.searchParams.set("select",s),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:t=!0,nullsFirst:s,foreignTable:a,referencedTable:r=a}={}){const i=r?`${r}.order`:"order",n=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${n?`${n},`:""}${e}.${t?"asc":"desc"}${void 0===s?"":s?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t,referencedTable:s=t}={}){const a=void 0===s?"limit":`${s}.limit`;return this.url.searchParams.set(a,`${e}`),this}range(e,t,{foreignTable:s,referencedTable:a=s}={}){const r=void 0===a?"offset":`${a}.offset`,i=void 0===a?"limit":`${a}.limit`;return this.url.searchParams.set(r,`${e}`),this.url.searchParams.set(i,""+(t-e+1)),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return"GET"===this.method?this.headers.set("Accept","application/json"):this.headers.set("Accept","application/vnd.pgrst.object+json"),this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:e=!1,verbose:t=!1,settings:s=!1,buffers:a=!1,wal:r=!1,format:i="text"}={}){var n;const o=[e?"analyze":null,t?"verbose":null,s?"settings":null,a?"buffers":null,r?"wal":null].filter(Boolean).join("|"),l=null!==(n=this.headers.get("Accept"))&&void 0!==n?n:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${i}; for="${l}"; options=${o};`),this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}}return CW.default=t,CW}function YW(){if(WW)return SW;WW=1,Object.defineProperty(SW,"__esModule",{value:!0});const e=kW.__importDefault($W()),t=new RegExp("[,()]");class s extends e.default{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(",")}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(",")}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(",")}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(",")}}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}in(e,s){const a=Array.from(new Set(s)).map(e=>"string"==typeof e&&t.test(e)?`"${e}"`:`${e}`).join(",");return this.url.searchParams.append(e,`in.(${a})`),this}contains(e,t){return"string"==typeof t?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return"string"==typeof t?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return"string"==typeof t?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:s,type:a}={}){let r="";"plain"===a?r="pl":"phrase"===a?r="ph":"websearch"===a&&(r="w");const i=void 0===s?"":`(${s})`;return this.url.searchParams.append(e,`${r}fts${i}.${t}`),this}match(e){return Object.entries(e).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,s){return this.url.searchParams.append(e,`not.${t}.${s}`),this}or(e,{foreignTable:t,referencedTable:s=t}={}){const a=s?`${s}.or`:"or";return this.url.searchParams.append(a,`(${e})`),this}filter(e,t,s){return this.url.searchParams.append(e,`${t}.${s}`),this}}return SW.default=s,SW}function KW(){if(HW)return AW;HW=1,Object.defineProperty(AW,"__esModule",{value:!0});const e=kW.__importDefault(YW());return AW.default=class{constructor(e,{headers:t={},schema:s,fetch:a}){this.url=e,this.headers=new Headers(t),this.schema=s,this.fetch=a}select(t,s){const{head:a=!1,count:r}=null!=s?s:{},i=a?"HEAD":"GET";let n=!1;const o=(null!=t?t:"*").split("").map(e=>/\s/.test(e)&&!n?"":('"'===e&&(n=!n),e)).join("");return this.url.searchParams.set("select",o),r&&this.headers.append("Prefer",`count=${r}`),new e.default({method:i,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(t,{count:s,defaultToNull:a=!0}={}){var r;if(s&&this.headers.append("Prefer",`count=${s}`),a||this.headers.append("Prefer","missing=default"),Array.isArray(t)){const e=t.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(e.length>0){const t=[...new Set(e)].map(e=>`"${e}"`);this.url.searchParams.set("columns",t.join(","))}}return new e.default({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:t,fetch:null!==(r=this.fetch)&&void 0!==r?r:fetch})}upsert(t,{onConflict:s,ignoreDuplicates:a=!1,count:r,defaultToNull:i=!0}={}){var n;if(this.headers.append("Prefer",`resolution=${a?"ignore":"merge"}-duplicates`),void 0!==s&&this.url.searchParams.set("on_conflict",s),r&&this.headers.append("Prefer",`count=${r}`),i||this.headers.append("Prefer","missing=default"),Array.isArray(t)){const e=t.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(e.length>0){const t=[...new Set(e)].map(e=>`"${e}"`);this.url.searchParams.set("columns",t.join(","))}}return new e.default({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:t,fetch:null!==(n=this.fetch)&&void 0!==n?n:fetch})}update(t,{count:s}={}){var a;return s&&this.headers.append("Prefer",`count=${s}`),new e.default({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:t,fetch:null!==(a=this.fetch)&&void 0!==a?a:fetch})}delete({count:t}={}){var s;return t&&this.headers.append("Prefer",`count=${t}`),new e.default({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:null!==(s=this.fetch)&&void 0!==s?s:fetch})}},AW}Object.defineProperty(wW,"__esModule",{value:!0});var QW=wW.PostgrestError=wW.PostgrestBuilder=wW.PostgrestTransformBuilder=wW.PostgrestFilterBuilder=wW.PostgrestQueryBuilder=wW.PostgrestClient=void 0;const ZW=kW,JW=ZW.__importDefault(function(){if(VW)return MW;VW=1,Object.defineProperty(MW,"__esModule",{value:!0});const e=kW,t=e.__importDefault(KW()),s=e.__importDefault(YW());class a{constructor(e,{headers:t={},schema:s,fetch:a}={}){this.url=e,this.headers=new Headers(t),this.schemaName=s,this.fetch=a}from(e){const s=new URL(`${this.url}/${e}`);return new t.default(s,{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(e){return new a(this.url,{headers:this.headers,schema:e,fetch:this.fetch})}rpc(e,t={},{head:a=!1,get:r=!1,count:i}={}){var n;let o;const l=new URL(`${this.url}/rpc/${e}`);let d;a||r?(o=a?"HEAD":"GET",Object.entries(t).filter(([e,t])=>void 0!==t).map(([e,t])=>[e,Array.isArray(t)?`{${t.join(",")}}`:`${t}`]).forEach(([e,t])=>{l.searchParams.append(e,t)})):(o="POST",d=t);const c=new Headers(this.headers);return i&&c.set("Prefer",`count=${i}`),new s.default({method:o,url:l,headers:c,schema:this.schemaName,body:d,fetch:null!==(n=this.fetch)&&void 0!==n?n:fetch})}}return MW.default=a,MW}());var XW=wW.PostgrestClient=JW.default;const eH=ZW.__importDefault(KW());var tH=wW.PostgrestQueryBuilder=eH.default;const sH=ZW.__importDefault(YW());var aH=wW.PostgrestFilterBuilder=sH.default;const rH=ZW.__importDefault($W());var iH=wW.PostgrestTransformBuilder=rH.default;const nH=ZW.__importDefault(UW());var oH=wW.PostgrestBuilder=nH.default;const lH=ZW.__importDefault(GW());QW=wW.PostgrestError=lH.default;var dH=wW.default={PostgrestClient:JW.default,PostgrestQueryBuilder:eH.default,PostgrestFilterBuilder:sH.default,PostgrestTransformBuilder:rH.default,PostgrestBuilder:nH.default,PostgrestError:lH.default};const cH=ht({__proto__:null,get PostgrestBuilder(){return oH},get PostgrestClient(){return XW},get PostgrestError(){return QW},get PostgrestFilterBuilder(){return aH},get PostgrestQueryBuilder(){return tH},get PostgrestTransformBuilder(){return iH},default:dH},[wW]),{PostgrestClient:mH,PostgrestQueryBuilder:hH,PostgrestFilterBuilder:xH,PostgrestTransformBuilder:uH,PostgrestBuilder:pH,PostgrestError:gH}=dH||cH;class fH{static detectEnvironment(){var e;if("undefined"!=typeof WebSocket)return{type:"native",constructor:WebSocket};if("undefined"!=typeof globalThis&&void 0!==globalThis.WebSocket)return{type:"native",constructor:globalThis.WebSocket};if("undefined"!=typeof global&&void 0!==global.WebSocket)return{type:"native",constructor:global.WebSocket};if("undefined"!=typeof globalThis&&void 0!==globalThis.WebSocketPair&&void 0===globalThis.WebSocket)return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if("undefined"!=typeof globalThis&&globalThis.EdgeRuntime||"undefined"!=typeof navigator&&(null===(e=navigator.userAgent)||void 0===e?void 0:e.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};if("undefined"!=typeof process){const e=process.versions;if(e&&e.node){const t=e.node,s=parseInt(t.replace(/^v/,"").split(".")[0]);return s>=22?void 0!==globalThis.WebSocket?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${s} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${s} detected without native WebSocket support.`,workaround:'For Node.js < 22, install "ws" package and provide it via the transport option:\nimport ws from "ws"\nnew RealtimeClient(url, { transport: ws })'}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const e=this.detectEnvironment();if(e.constructor)return e.constructor;let t=e.error||"WebSocket not supported in this environment.";throw e.workaround&&(t+=`\n\nSuggested solution: ${e.workaround}`),new Error(t)}static createWebSocket(e,t){return new(this.getWebSocketConstructor())(e,t)}static isWebSocketSupported(){try{const e=this.detectEnvironment();return"native"===e.type||"ws"===e.type}catch(e){return!1}}}const yH=1e4;var bH,vH,jH,NH,wH,kH,MH,AH,SH,CH,IH;(vH=bH||(bH={}))[vH.connecting=0]="connecting",vH[vH.open=1]="open",vH[vH.closing=2]="closing",vH[vH.closed=3]="closed",(NH=jH||(jH={})).closed="closed",NH.errored="errored",NH.joined="joined",NH.joining="joining",NH.leaving="leaving",(kH=wH||(wH={})).close="phx_close",kH.error="phx_error",kH.join="phx_join",kH.reply="phx_reply",kH.leave="phx_leave",kH.access_token="access_token",(MH||(MH={})).websocket="websocket",(SH=AH||(AH={})).Connecting="connecting",SH.Open="open",SH.Closing="closing",SH.Closed="closed";class PH{constructor(){this.HEADER_LENGTH=1}decode(e,t){return e.constructor===ArrayBuffer?t(this._binaryDecode(e)):t("string"==typeof e?JSON.parse(e):{})}_binaryDecode(e){const t=new DataView(e),s=new TextDecoder;return this._decodeBroadcast(e,t,s)}_decodeBroadcast(e,t,s){const a=t.getUint8(1),r=t.getUint8(2);let i=this.HEADER_LENGTH+2;const n=s.decode(e.slice(i,i+a));i+=a;const o=s.decode(e.slice(i,i+r));i+=r;return{ref:null,topic:n,event:o,payload:JSON.parse(s.decode(e.slice(i,e.byteLength)))}}}class TH{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=t}reset(){this.tries=0,clearTimeout(this.timer),this.timer=void 0}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}(IH=CH||(CH={})).abstime="abstime",IH.bool="bool",IH.date="date",IH.daterange="daterange",IH.float4="float4",IH.float8="float8",IH.int2="int2",IH.int4="int4",IH.int4range="int4range",IH.int8="int8",IH.int8range="int8range",IH.json="json",IH.jsonb="jsonb",IH.money="money",IH.numeric="numeric",IH.oid="oid",IH.reltime="reltime",IH.text="text",IH.time="time",IH.timestamp="timestamp",IH.timestamptz="timestamptz",IH.timetz="timetz",IH.tsrange="tsrange",IH.tstzrange="tstzrange";const RH=(e,t,s={})=>{var a;const r=null!==(a=s.skipTypes)&&void 0!==a?a:[];return t?Object.keys(t).reduce((s,a)=>(s[a]=OH(a,e,t,r),s),{}):{}},OH=(e,t,s,a)=>{const r=t.find(t=>t.name===e),i=null==r?void 0:r.type,n=s[e];return i&&!a.includes(i)?DH(i,n):qH(n)},DH=(e,t)=>{if("_"===e.charAt(0)){const s=e.slice(1,e.length);return LH(t,s)}switch(e){case CH.bool:return EH(t);case CH.float4:case CH.float8:case CH.int2:case CH.int4:case CH.int8:case CH.numeric:case CH.oid:return zH(t);case CH.json:case CH.jsonb:return _H(t);case CH.timestamp:return FH(t);case CH.abstime:case CH.date:case CH.daterange:case CH.int4range:case CH.int8range:case CH.money:case CH.reltime:case CH.text:case CH.time:case CH.timestamptz:case CH.timetz:case CH.tsrange:case CH.tstzrange:default:return qH(t)}},qH=e=>e,EH=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},zH=e=>{if("string"==typeof e){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e},_H=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(t){return e}return e},LH=(e,t)=>{if("string"!=typeof e)return e;const s=e.length-1,a=e[s];if("{"===e[0]&&"}"===a){let a;const i=e.slice(1,s);try{a=JSON.parse("["+i+"]")}catch(r){a=i?i.split(","):[]}return a.map(e=>DH(t,e))}return e},FH=e=>"string"==typeof e?e.replace(" ","T"):e,WH=e=>{const t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,"http"),t.pathname=t.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),""===t.pathname||"/"===t.pathname?t.pathname="/api/broadcast":t.pathname=t.pathname+"/api/broadcast",t.href};class HH{constructor(e,t,s={},a=1e4){this.channel=e,this.event=t,this.payload=s,this.timeout=a,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,t){var s;return this._hasReceived(e)&&t(null===(s=this.receivedResp)||void 0===s?void 0:s.response),this.recHooks.push({status:e,callback:t}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);this.channel._on(this.refEvent,{},e=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=e,this._matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,t){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:t})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:t}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var VH,BH,GH,UH,$H,YH,KH,QH;(BH=VH||(VH={})).SYNC="sync",BH.JOIN="join",BH.LEAVE="leave";class ZH{constructor(e,t){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.enabled=!1,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const s=(null==t?void 0:t.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(s.state,{},e=>{const{onJoin:t,onLeave:s,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=ZH.syncState(this.state,e,t,s),this.pendingDiffs.forEach(e=>{this.state=ZH.syncDiff(this.state,e,t,s)}),this.pendingDiffs=[],a()}),this.channel._on(s.diff,{},e=>{const{onJoin:t,onLeave:s,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(e):(this.state=ZH.syncDiff(this.state,e,t,s),a())}),this.onJoin((e,t,s)=>{this.channel._trigger("presence",{event:"join",key:e,currentPresences:t,newPresences:s})}),this.onLeave((e,t,s)=>{this.channel._trigger("presence",{event:"leave",key:e,currentPresences:t,leftPresences:s})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,t,s,a){const r=this.cloneDeep(e),i=this.transformState(t),n={},o={};return this.map(r,(e,t)=>{i[e]||(o[e]=t)}),this.map(i,(e,t)=>{const s=r[e];if(s){const a=t.map(e=>e.presence_ref),r=s.map(e=>e.presence_ref),i=t.filter(e=>r.indexOf(e.presence_ref)<0),l=s.filter(e=>a.indexOf(e.presence_ref)<0);i.length>0&&(n[e]=i),l.length>0&&(o[e]=l)}else n[e]=t}),this.syncDiff(r,{joins:n,leaves:o},s,a)}static syncDiff(e,t,s,a){const{joins:r,leaves:i}={joins:this.transformState(t.joins),leaves:this.transformState(t.leaves)};return s||(s=()=>{}),a||(a=()=>{}),this.map(r,(t,a)=>{var r;const i=null!==(r=e[t])&&void 0!==r?r:[];if(e[t]=this.cloneDeep(a),i.length>0){const s=e[t].map(e=>e.presence_ref),a=i.filter(e=>s.indexOf(e.presence_ref)<0);e[t].unshift(...a)}s(t,i,a)}),this.map(i,(t,s)=>{let r=e[t];if(!r)return;const i=s.map(e=>e.presence_ref);r=r.filter(e=>i.indexOf(e.presence_ref)<0),e[t]=r,a(t,r,s),0===r.length&&delete e[t]}),e}static map(e,t){return Object.getOwnPropertyNames(e).map(s=>t(s,e[s]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((t,s)=>{const a=e[s];return t[s]="metas"in a?a.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e)):a,t},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}(UH=GH||(GH={})).ALL="*",UH.INSERT="INSERT",UH.UPDATE="UPDATE",UH.DELETE="DELETE",(YH=$H||($H={})).BROADCAST="broadcast",YH.PRESENCE="presence",YH.POSTGRES_CHANGES="postgres_changes",YH.SYSTEM="system",(QH=KH||(KH={})).SUBSCRIBED="SUBSCRIBED",QH.TIMED_OUT="TIMED_OUT",QH.CLOSED="CLOSED",QH.CHANNEL_ERROR="CHANNEL_ERROR";class JH{constructor(e,t={config:{}},s){var a,r;if(this.topic=e,this.params=t,this.socket=s,this.bindings={},this.state=jH.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},t.config),this.timeout=this.socket.timeout,this.joinPush=new HH(this,wH.join,this.params,this.timeout),this.rejoinTimer=new TH(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=jH.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=jH.closed,this.socket._remove(this)}),this._onError(e=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,e),this.state=jH.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=jH.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("error",e=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,e),this.state=jH.errored,this.rejoinTimer.scheduleTimeout())}),this._on(wH.reply,{},(e,t)=>{this._trigger(this._replyEventName(t),e)}),this.presence=new ZH(this),this.broadcastEndpointURL=WH(this.socket.endPoint),this.private=this.params.config.private||!1,!this.private&&(null===(r=null===(a=this.params.config)||void 0===a?void 0:a.broadcast)||void 0===r?void 0:r.replay))throw`tried to use replay on public channel '${this.topic}'. It must be a private channel.`}subscribe(e,t=this.timeout){var s,a,r;if(this.socket.isConnected()||this.socket.connect(),this.state==jH.closed){const{config:{broadcast:i,presence:n,private:o}}=this.params,l=null!==(a=null===(s=this.bindings.postgres_changes)||void 0===s?void 0:s.map(e=>e.filter))&&void 0!==a?a:[],d=!!this.bindings[$H.PRESENCE]&&this.bindings[$H.PRESENCE].length>0||!0===(null===(r=this.params.config.presence)||void 0===r?void 0:r.enabled),c={},m={broadcast:i,presence:Object.assign(Object.assign({},n),{enabled:d}),postgres_changes:l,private:o};this.socket.accessTokenValue&&(c.access_token=this.socket.accessTokenValue),this._onError(t=>null==e?void 0:e(KH.CHANNEL_ERROR,t)),this._onClose(()=>null==e?void 0:e(KH.CLOSED)),this.updateJoinPayload(Object.assign({config:m},c)),this.joinedOnce=!0,this._rejoin(t),this.joinPush.receive("ok",async({postgres_changes:t})=>{var s;if(this.socket.setAuth(),void 0!==t){const a=this.bindings.postgres_changes,r=null!==(s=null==a?void 0:a.length)&&void 0!==s?s:0,i=[];for(let s=0;s<r;s++){const r=a[s],{filter:{event:n,schema:o,table:l,filter:d}}=r,c=t&&t[s];if(!c||c.event!==n||c.schema!==o||c.table!==l||c.filter!==d)return this.unsubscribe(),this.state=jH.errored,void(null==e||e(KH.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes")));i.push(Object.assign(Object.assign({},r),{id:c.id}))}return this.bindings.postgres_changes=i,void(e&&e(KH.SUBSCRIBED))}null==e||e(KH.SUBSCRIBED)}).receive("error",t=>{this.state=jH.errored,null==e||e(KH.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(t).join(", ")||"error")))}).receive("timeout",()=>{null==e||e(KH.TIMED_OUT)})}return this}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,t,s){return this.state===jH.joined&&e===$H.PRESENCE&&(this.socket.log("channel",`resubscribe to ${this.topic} due to change in presence callbacks on joined channel`),this.unsubscribe().then(()=>this.subscribe())),this._on(e,t,s)}async httpSend(e,t,s={}){var a;const r=this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"";if(null==t)return Promise.reject("Payload is required for httpSend()");const i={method:"POST",headers:{Authorization:r,apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:e,payload:t,private:this.private}]})},n=await this._fetchWithTimeout(this.broadcastEndpointURL,i,null!==(a=s.timeout)&&void 0!==a?a:this.timeout);if(202===n.status)return{success:!0};let o=n.statusText;try{const e=await n.json();o=e.error||e.message||o}catch(l){}return Promise.reject(new Error(o))}async send(e,t={}){var s,a;if(this._canPush()||"broadcast"!==e.type)return new Promise(s=>{var a,r,i;const n=this._push(e.type,e,t.timeout||this.timeout);"broadcast"!==e.type||(null===(i=null===(r=null===(a=this.params)||void 0===a?void 0:a.config)||void 0===r?void 0:r.broadcast)||void 0===i?void 0:i.ack)||s("ok"),n.receive("ok",()=>s("ok")),n.receive("error",()=>s("error")),n.receive("timeout",()=>s("timed out"))});{const{event:i,payload:n}=e,o={method:"POST",headers:{Authorization:this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"",apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:i,payload:n,private:this.private}]})};try{const e=await this._fetchWithTimeout(this.broadcastEndpointURL,o,null!==(s=t.timeout)&&void 0!==s?s:this.timeout);return await(null===(a=e.body)||void 0===a?void 0:a.cancel()),e.ok?"ok":"error"}catch(r){return"AbortError"===r.name?"timed out":"error"}}}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=jH.leaving;const t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(wH.close,"leave",this._joinRef())};this.joinPush.destroy();let s=null;return new Promise(a=>{s=new HH(this,wH.leave,{},e),s.receive("ok",()=>{t(),a("ok")}).receive("timeout",()=>{t(),a("timed out")}).receive("error",()=>{a("error")}),s.send(),this._canPush()||s.trigger("ok",{})}).finally(()=>{null==s||s.destroy()})}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=jH.closed,this.bindings={}}async _fetchWithTimeout(e,t,s){const a=new AbortController,r=setTimeout(()=>a.abort(),s),i=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:a.signal}));return clearTimeout(r),i}_push(e,t,s=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let a=new HH(this,e,t,s);return this._canPush()?a.send():this._addToPushBuffer(a),a}_addToPushBuffer(e){if(e.startTimeout(),this.pushBuffer.push(e),this.pushBuffer.length>100){const e=this.pushBuffer.shift();e&&(e.destroy(),this.socket.log("channel",`discarded push due to buffer overflow: ${e.event}`,e.payload))}}_onMessage(e,t,s){return t}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,t,s){var a,r;const i=e.toLocaleLowerCase(),{close:n,error:o,leave:l,join:d}=wH;if(s&&[n,o,l,d].indexOf(i)>=0&&s!==this._joinRef())return;let c=this._onMessage(i,t,s);if(t&&!c)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(i)?null===(a=this.bindings.postgres_changes)||void 0===a||a.filter(e=>{var t,s,a;return"*"===(null===(t=e.filter)||void 0===t?void 0:t.event)||(null===(a=null===(s=e.filter)||void 0===s?void 0:s.event)||void 0===a?void 0:a.toLocaleLowerCase())===i}).map(e=>e.callback(c,s)):null===(r=this.bindings[i])||void 0===r||r.filter(e=>{var s,a,r,n,o,l;if(["broadcast","presence","postgres_changes"].includes(i)){if("id"in e){const i=e.id,n=null===(s=e.filter)||void 0===s?void 0:s.event;return i&&(null===(a=t.ids)||void 0===a?void 0:a.includes(i))&&("*"===n||(null==n?void 0:n.toLocaleLowerCase())===(null===(r=t.data)||void 0===r?void 0:r.type.toLocaleLowerCase()))}{const s=null===(o=null===(n=null==e?void 0:e.filter)||void 0===n?void 0:n.event)||void 0===o?void 0:o.toLocaleLowerCase();return"*"===s||s===(null===(l=null==t?void 0:t.event)||void 0===l?void 0:l.toLocaleLowerCase())}}return e.type.toLocaleLowerCase()===i}).map(e=>{if("object"==typeof c&&"ids"in c){const e=c.data,{schema:t,table:s,commit_timestamp:a,type:r,errors:i}=e,n={schema:t,table:s,commit_timestamp:a,eventType:r,new:{},old:{},errors:i};c=Object.assign(Object.assign({},n),this._getPayloadRecords(e))}e.callback(c,s)})}_isClosed(){return this.state===jH.closed}_isJoined(){return this.state===jH.joined}_isJoining(){return this.state===jH.joining}_isLeaving(){return this.state===jH.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,t,s){const a=e.toLocaleLowerCase(),r={type:a,filter:t,callback:s};return this.bindings[a]?this.bindings[a].push(r):this.bindings[a]=[r],this}_off(e,t){const s=e.toLocaleLowerCase();return this.bindings[s]&&(this.bindings[s]=this.bindings[s].filter(e=>{var a;return!((null===(a=e.type)||void 0===a?void 0:a.toLocaleLowerCase())===s&&JH.isEqual(e.filter,t))})),this}static isEqual(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(e[s]!==t[s])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(wH.close,{},e)}_onError(e){this._on(wH.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=jH.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const t={new:{},old:{}};return"INSERT"!==e.type&&"UPDATE"!==e.type||(t.new=RH(e.columns,e.record)),"UPDATE"!==e.type&&"DELETE"!==e.type||(t.old=RH(e.columns,e.old_record)),t}}const XH=()=>{},eV=25e3,tV=10,sV=100,aV=[1e3,2e3,5e3,1e4];class rV{constructor(e,t){var s;if(this.accessTokenValue=null,this.apiKey=null,this.channels=new Array,this.endPoint="",this.httpEndpoint="",this.headers={},this.params={},this.timeout=yH,this.transport=null,this.heartbeatIntervalMs=eV,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.heartbeatCallback=XH,this.ref=0,this.reconnectTimer=null,this.logger=XH,this.conn=null,this.sendBuffer=[],this.serializer=new PH,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.accessToken=null,this._connectionState="disconnected",this._wasManualDisconnect=!1,this._authPromise=null,this._resolveFetch=e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>pt(async()=>{const{default:e}=await Promise.resolve().then(()=>EW);return{default:e}},void 0).then(({default:t})=>t(...e)).catch(e=>{throw new Error(`Failed to load @supabase/node-fetch: ${e.message}. This is required for HTTP requests in Node.js environments without native fetch.`)}):fetch),(...e)=>t(...e)},!(null===(s=null==t?void 0:t.params)||void 0===s?void 0:s.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=t.params.apikey,this.endPoint=`${e}/${MH.websocket}`,this.httpEndpoint=WH(e),this._initializeOptions(t),this._setupReconnectionTimer(),this.fetch=this._resolveFetch(null==t?void 0:t.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||null!==this.conn&&this.isConnected())){if(this._setConnectionState("connecting"),this._setAuthSafely("connect"),this.transport)this.conn=new this.transport(this.endpointURL());else try{this.conn=fH.createWebSocket(this.endpointURL())}catch(e){this._setConnectionState("disconnected");const t=e.message;if(t.includes("Node.js"))throw new Error(`${t}\n\nTo use Realtime in Node.js, you need to provide a WebSocket implementation:\n\nOption 1: Use Node.js 22+ which has native WebSocket support\nOption 2: Install and provide the "ws" package:\n\n  npm install ws\n\n  import ws from "ws"\n  const client = new RealtimeClient(url, {\n    ...options,\n    transport: ws\n  })`);throw new Error(`WebSocket not available: ${t}`)}this._setupConnectionHandlers()}}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:"1.0.0"}))}disconnect(e,t){if(!this.isDisconnecting())if(this._setConnectionState("disconnecting",!0),this.conn){const s=setTimeout(()=>{this._setConnectionState("disconnected")},100);this.conn.onclose=()=>{clearTimeout(s),this._setConnectionState("disconnected")},e?this.conn.close(e,null!=t?t:""):this.conn.close(),this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(e){const t=await e.unsubscribe();return 0===this.channels.length&&this.disconnect(),t}async removeAllChannels(){const e=await Promise.all(this.channels.map(e=>e.unsubscribe()));return this.channels=[],this.disconnect(),e}log(e,t,s){this.logger(e,t,s)}connectionState(){switch(this.conn&&this.conn.readyState){case bH.connecting:return AH.Connecting;case bH.open:return AH.Open;case bH.closing:return AH.Closing;default:return AH.Closed}}isConnected(){return this.connectionState()===AH.Open}isConnecting(){return"connecting"===this._connectionState}isDisconnecting(){return"disconnecting"===this._connectionState}channel(e,t={config:{}}){const s=`realtime:${e}`,a=this.getChannels().find(e=>e.topic===s);if(a)return a;{const s=new JH(`realtime:${e}`,t,this);return this.channels.push(s),s}}push(e){const{topic:t,event:s,payload:a,ref:r}=e,i=()=>{this.encode(e,e=>{var t;null===(t=this.conn)||void 0===t||t.send(e)})};this.log("push",`${t} ${s} (${r})`,a),this.isConnected()?i():this.sendBuffer.push(i)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}async sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(t){this.log("error","error in heartbeat callback",t)}return this._wasManualDisconnect=!1,null===(e=this.conn)||void 0===e||e.close(1e3,"heartbeat timeout"),void setTimeout(()=>{var e;this.isConnected()||null===(e=this.reconnectTimer)||void 0===e||e.scheduleTimeout()},sV)}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(t){this.log("error","error in heartbeat callback",t)}this._setAuthSafely("heartbeat")}else try{this.heartbeatCallback("disconnected")}catch(t){this.log("error","error in heartbeat callback",t)}}onHeartbeat(e){this.heartbeatCallback=e}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t._isJoined()||t._isJoining()));t&&(this.log("transport",`leaving duplicate topic "${e}"`),t.unsubscribe())}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic)}_onConnMessage(e){this.decode(e.data,e=>{if("phoenix"===e.topic&&"phx_reply"===e.event)try{this.heartbeatCallback("ok"===e.payload.status?"ok":"error")}catch(o){this.log("error","error in heartbeat callback",o)}e.ref&&e.ref===this.pendingHeartbeatRef&&(this.pendingHeartbeatRef=null);const{topic:t,event:s,payload:a,ref:r}=e,i=r?`(${r})`:"",n=a.status||"";this.log("receive",`${n} ${t} ${s} ${i}`.trim(),a),this.channels.filter(e=>e._isMember(t)).forEach(e=>e._trigger(s,a,r)),this._triggerStateCallbacks("message",e)})}_clearTimer(e){var t;"heartbeat"===e&&this.heartbeatTimer?(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0):"reconnect"===e&&(null===(t=this.reconnectTimer)||void 0===t||t.reset())}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){this.conn&&("binaryType"in this.conn&&(this.conn.binaryType="arraybuffer"),this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e))}_teardownConnection(){this.conn&&(this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null),this._clearAllTimers(),this.channels.forEach(e=>e.teardown())}_onConnOpen(){this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),this.flushSendBuffer(),this._clearTimer("reconnect"),this.worker?this.workerRef||this._startWorkerHeartbeat():this._startHeartbeat(),this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=e=>{this.log("worker","worker error",e.message),this.workerRef.terminate()},this.workerRef.onmessage=e=>{"keepAlive"===e.data.event&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_onConnClose(e){var t;this._setConnectionState("disconnected"),this.log("transport","close",e),this._triggerChanError(),this._clearTimer("heartbeat"),this._wasManualDisconnect||null===(t=this.reconnectTimer)||void 0===t||t.scheduleTimeout(),this._triggerStateCallbacks("close",e)}_onConnError(e){this._setConnectionState("disconnected"),this.log("transport",`${e}`),this._triggerChanError(),this._triggerStateCallbacks("error",e)}_triggerChanError(){this.channels.forEach(e=>e._trigger(wH.error))}_appendParams(e,t){if(0===Object.keys(t).length)return e;const s=e.match(/\?/)?"&":"?";return`${e}${s}${new URLSearchParams(t)}`}_workerObjectUrl(e){let t;if(e)t=e;else{const e=new Blob(['\n  addEventListener("message", (e) => {\n    if (e.data.event === "start") {\n      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);\n    }\n  });'],{type:"application/javascript"});t=URL.createObjectURL(e)}return t}_setConnectionState(e,t=!1){this._connectionState=e,"connecting"===e?this._wasManualDisconnect=!1:"disconnecting"===e&&(this._wasManualDisconnect=t)}async _performAuth(e=null){let t;t=e||(this.accessToken?await this.accessToken():this.accessTokenValue),this.accessTokenValue!=t&&(this.accessTokenValue=t,this.channels.forEach(e=>{const s={access_token:t,version:"realtime-js/2.77.0"};t&&e.updateJoinPayload(s),e.joinedOnce&&e._isJoined()&&e._push(wH.access_token,{access_token:t})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this.setAuth().catch(t=>{this.log("error",`error setting auth in ${e}`,t)})}_triggerStateCallbacks(e,t){try{this.stateChangeCallbacks[e].forEach(s=>{try{s(t)}catch(a){this.log("error",`error in ${e} callback`,a)}})}catch(s){this.log("error",`error triggering ${e} callbacks`,s)}}_setupReconnectionTimer(){this.reconnectTimer=new TH(async()=>{setTimeout(async()=>{await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()},tV)},this.reconnectAfterMs)}_initializeOptions(e){var t,s,a,r,i,n,o,l,d;if(this.transport=null!==(t=null==e?void 0:e.transport)&&void 0!==t?t:null,this.timeout=null!==(s=null==e?void 0:e.timeout)&&void 0!==s?s:yH,this.heartbeatIntervalMs=null!==(a=null==e?void 0:e.heartbeatIntervalMs)&&void 0!==a?a:eV,this.worker=null!==(r=null==e?void 0:e.worker)&&void 0!==r&&r,this.accessToken=null!==(i=null==e?void 0:e.accessToken)&&void 0!==i?i:null,this.heartbeatCallback=null!==(n=null==e?void 0:e.heartbeatCallback)&&void 0!==n?n:XH,(null==e?void 0:e.params)&&(this.params=e.params),(null==e?void 0:e.logger)&&(this.logger=e.logger),((null==e?void 0:e.logLevel)||(null==e?void 0:e.log_level))&&(this.logLevel=e.logLevel||e.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel})),this.reconnectAfterMs=null!==(o=null==e?void 0:e.reconnectAfterMs)&&void 0!==o?o:e=>aV[e-1]||1e4,this.encode=null!==(l=null==e?void 0:e.encode)&&void 0!==l?l:(e,t)=>t(JSON.stringify(e)),this.decode=null!==(d=null==e?void 0:e.decode)&&void 0!==d?d:this.serializer.decode.bind(this.serializer),this.worker){if("undefined"!=typeof window&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=null==e?void 0:e.workerUrl}}}class iV extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function nV(e){return"object"==typeof e&&null!==e&&"__isStorageError"in e}class oV extends iV{constructor(e,t,s){super(e),this.name="StorageApiError",this.status=t,this.statusCode=s}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class lV extends iV{constructor(e,t){super(e),this.name="StorageUnknownError",this.originalError=t}}const dV=e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>pt(async()=>{const{default:e}=await Promise.resolve().then(()=>EW);return{default:e}},void 0).then(({default:t})=>t(...e)):fetch),(...e)=>t(...e)},cV=e=>{if(Array.isArray(e))return e.map(e=>cV(e));if("function"==typeof e||e!==Object(e))return e;const t={};return Object.entries(e).forEach(([e,s])=>{const a=e.replace(/([-_][a-z])/gi,e=>e.toUpperCase().replace(/[-_]/g,""));t[a]=cV(s)}),t},mV=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),hV=(e,t,s)=>Ue(void 0,void 0,void 0,function*(){const a=yield Ue(void 0,void 0,void 0,function*(){return"undefined"==typeof Response?(yield pt(()=>Promise.resolve().then(()=>EW),void 0)).Response:Response});e instanceof a&&!(null==s?void 0:s.noResolveJson)?e.json().then(s=>{const a=e.status||500,r=(null==s?void 0:s.statusCode)||a+"";t(new oV(mV(s),a,r))}).catch(e=>{t(new lV(mV(e),e))}):t(new lV(mV(e),e))}),xV=(e,t,s,a)=>{const r={method:e,headers:(null==t?void 0:t.headers)||{}};return"GET"!==e&&a?((e=>{if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)})(a)?(r.headers=Object.assign({"Content-Type":"application/json"},null==t?void 0:t.headers),r.body=JSON.stringify(a)):r.body=a,(null==t?void 0:t.duplex)&&(r.duplex=t.duplex),Object.assign(Object.assign({},r),s)):r};function uV(e,t,s,a,r,i){return Ue(this,void 0,void 0,function*(){return new Promise((n,o)=>{e(s,xV(t,a,r,i)).then(e=>{if(!e.ok)throw e;return(null==a?void 0:a.noResolveJson)?e:e.json()}).then(e=>n(e)).catch(e=>hV(e,o,a))})})}function pV(e,t,s,a){return Ue(this,void 0,void 0,function*(){return uV(e,"GET",t,s,a)})}function gV(e,t,s,a,r){return Ue(this,void 0,void 0,function*(){return uV(e,"POST",t,a,r,s)})}function fV(e,t,s,a,r){return Ue(this,void 0,void 0,function*(){return uV(e,"PUT",t,a,r,s)})}function yV(e,t,s,a,r){return Ue(this,void 0,void 0,function*(){return uV(e,"DELETE",t,a,r,s)})}class bV{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t}then(e,t){return this.execute().then(e,t)}execute(){return Ue(this,void 0,void 0,function*(){try{return{data:(yield this.downloadFn()).body,error:null}}catch(e){if(this.shouldThrowOnError)throw e;if(nV(e))return{data:null,error:e};throw e}})}}var vV;class jV{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[vV]="BlobDownloadBuilder",this.promise=null}asStream(){return new bV(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}execute(){return Ue(this,void 0,void 0,function*(){try{const e=yield this.downloadFn();return{data:yield e.blob(),error:null}}catch(e){if(this.shouldThrowOnError)throw e;if(nV(e))return{data:null,error:e};throw e}})}}vV=Symbol.toStringTag;const NV={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},wV={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class kV{constructor(e,t={},s,a){this.shouldThrowOnError=!1,this.url=e,this.headers=t,this.bucketId=s,this.fetch=dV(a)}throwOnError(){return this.shouldThrowOnError=!0,this}uploadOrUpdate(e,t,s,a){return Ue(this,void 0,void 0,function*(){try{let r;const i=Object.assign(Object.assign({},wV),a);let n=Object.assign(Object.assign({},this.headers),"POST"===e&&{"x-upsert":String(i.upsert)});const o=i.metadata;"undefined"!=typeof Blob&&s instanceof Blob?(r=new FormData,r.append("cacheControl",i.cacheControl),o&&r.append("metadata",this.encodeMetadata(o)),r.append("",s)):"undefined"!=typeof FormData&&s instanceof FormData?(r=s,r.append("cacheControl",i.cacheControl),o&&r.append("metadata",this.encodeMetadata(o))):(r=s,n["cache-control"]=`max-age=${i.cacheControl}`,n["content-type"]=i.contentType,o&&(n["x-metadata"]=this.toBase64(this.encodeMetadata(o)))),(null==a?void 0:a.headers)&&(n=Object.assign(Object.assign({},n),a.headers));const l=this._removeEmptyFolders(t),d=this._getFinalPath(l),c=yield("PUT"==e?fV:gV)(this.fetch,`${this.url}/object/${d}`,r,Object.assign({headers:n},(null==i?void 0:i.duplex)?{duplex:i.duplex}:{}));return{data:{path:l,id:c.Id,fullPath:c.Key},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(nV(r))return{data:null,error:r};throw r}})}upload(e,t,s){return Ue(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,s)})}uploadToSignedUrl(e,t,s,a){return Ue(this,void 0,void 0,function*(){const r=this._removeEmptyFolders(e),i=this._getFinalPath(r),n=new URL(this.url+`/object/upload/sign/${i}`);n.searchParams.set("token",t);try{let e;const t=Object.assign({upsert:wV.upsert},a),i=Object.assign(Object.assign({},this.headers),{"x-upsert":String(t.upsert)});"undefined"!=typeof Blob&&s instanceof Blob?(e=new FormData,e.append("cacheControl",t.cacheControl),e.append("",s)):"undefined"!=typeof FormData&&s instanceof FormData?(e=s,e.append("cacheControl",t.cacheControl)):(e=s,i["cache-control"]=`max-age=${t.cacheControl}`,i["content-type"]=t.contentType);return{data:{path:r,fullPath:(yield fV(this.fetch,n.toString(),e,{headers:i})).Key},error:null}}catch(o){if(this.shouldThrowOnError)throw o;if(nV(o))return{data:null,error:o};throw o}})}createSignedUploadUrl(e,t){return Ue(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e);const a=Object.assign({},this.headers);(null==t?void 0:t.upsert)&&(a["x-upsert"]="true");const r=yield gV(this.fetch,`${this.url}/object/upload/sign/${s}`,{},{headers:a}),i=new URL(this.url+r.url),n=i.searchParams.get("token");if(!n)throw new iV("No token returned by API");return{data:{signedUrl:i.toString(),path:e,token:n},error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(nV(s))return{data:null,error:s};throw s}})}update(e,t,s){return Ue(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,s)})}move(e,t,s){return Ue(this,void 0,void 0,function*(){try{return{data:yield gV(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t,destinationBucket:null==s?void 0:s.destinationBucket},{headers:this.headers}),error:null}}catch(a){if(this.shouldThrowOnError)throw a;if(nV(a))return{data:null,error:a};throw a}})}copy(e,t,s){return Ue(this,void 0,void 0,function*(){try{return{data:{path:(yield gV(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t,destinationBucket:null==s?void 0:s.destinationBucket},{headers:this.headers})).Key},error:null}}catch(a){if(this.shouldThrowOnError)throw a;if(nV(a))return{data:null,error:a};throw a}})}createSignedUrl(e,t,s){return Ue(this,void 0,void 0,function*(){try{let a=this._getFinalPath(e),r=yield gV(this.fetch,`${this.url}/object/sign/${a}`,Object.assign({expiresIn:t},(null==s?void 0:s.transform)?{transform:s.transform}:{}),{headers:this.headers});const i=(null==s?void 0:s.download)?`&download=${!0===s.download?"":s.download}`:"";return r={signedUrl:encodeURI(`${this.url}${r.signedURL}${i}`)},{data:r,error:null}}catch(a){if(this.shouldThrowOnError)throw a;if(nV(a))return{data:null,error:a};throw a}})}createSignedUrls(e,t,s){return Ue(this,void 0,void 0,function*(){try{const a=yield gV(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:t,paths:e},{headers:this.headers}),r=(null==s?void 0:s.download)?`&download=${!0===s.download?"":s.download}`:"";return{data:a.map(e=>Object.assign(Object.assign({},e),{signedUrl:e.signedURL?encodeURI(`${this.url}${e.signedURL}${r}`):null})),error:null}}catch(a){if(this.shouldThrowOnError)throw a;if(nV(a))return{data:null,error:a};throw a}})}download(e,t){const s=void 0!==(null==t?void 0:t.transform)?"render/image/authenticated":"object",a=this.transformOptsToQueryString((null==t?void 0:t.transform)||{}),r=a?`?${a}`:"",i=this._getFinalPath(e);return new jV(()=>pV(this.fetch,`${this.url}/${s}/${i}${r}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}info(e){return Ue(this,void 0,void 0,function*(){const t=this._getFinalPath(e);try{const e=yield pV(this.fetch,`${this.url}/object/info/${t}`,{headers:this.headers});return{data:cV(e),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(nV(s))return{data:null,error:s};throw s}})}exists(e){return Ue(this,void 0,void 0,function*(){const t=this._getFinalPath(e);try{return yield function(e,t,s,a){return Ue(this,void 0,void 0,function*(){return uV(e,"HEAD",t,Object.assign(Object.assign({},s),{noResolveJson:!0}),a)})}(this.fetch,`${this.url}/object/${t}`,{headers:this.headers}),{data:!0,error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(nV(s)&&s instanceof lV){const e=s.originalError;if([400,404].includes(null==e?void 0:e.status))return{data:!1,error:s}}throw s}})}getPublicUrl(e,t){const s=this._getFinalPath(e),a=[],r=(null==t?void 0:t.download)?`download=${!0===t.download?"":t.download}`:"";""!==r&&a.push(r);const i=void 0!==(null==t?void 0:t.transform)?"render/image":"object",n=this.transformOptsToQueryString((null==t?void 0:t.transform)||{});""!==n&&a.push(n);let o=a.join("&");return""!==o&&(o=`?${o}`),{data:{publicUrl:encodeURI(`${this.url}/${i}/public/${s}${o}`)}}}remove(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield yV(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}list(e,t,s){return Ue(this,void 0,void 0,function*(){try{const a=Object.assign(Object.assign(Object.assign({},NV),t),{prefix:e||""});return{data:yield gV(this.fetch,`${this.url}/object/list/${this.bucketId}`,a,{headers:this.headers},s),error:null}}catch(a){if(this.shouldThrowOnError)throw a;if(nV(a))return{data:null,error:a};throw a}})}listV2(e,t){return Ue(this,void 0,void 0,function*(){try{const s=Object.assign({},e);return{data:yield gV(this.fetch,`${this.url}/object/list-v2/${this.bucketId}`,s,{headers:this.headers},t),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(nV(s))return{data:null,error:s};throw s}})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return"undefined"!=typeof Buffer?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}}const MV="2.77.0",AV={"X-Client-Info":`storage-js/${MV}`};class SV{constructor(e,t={},s,a){this.shouldThrowOnError=!1;const r=new URL(e);if(null==a?void 0:a.useNewHostname){/supabase\.(co|in|red)$/.test(r.hostname)&&!r.hostname.includes("storage.supabase.")&&(r.hostname=r.hostname.replace("supabase.","storage.supabase."))}this.url=r.href.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},AV),t),this.fetch=dV(s)}throwOnError(){return this.shouldThrowOnError=!0,this}listBuckets(e){return Ue(this,void 0,void 0,function*(){try{const t=this.listBucketOptionsToQueryString(e);return{data:yield pV(this.fetch,`${this.url}/bucket${t}`,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}getBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield pV(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}createBucket(e){return Ue(this,arguments,void 0,function*(e,t={public:!1}){try{return{data:yield gV(this.fetch,`${this.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:this.headers}),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(nV(s))return{data:null,error:s};throw s}})}updateBucket(e,t){return Ue(this,void 0,void 0,function*(){try{return{data:yield fV(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:this.headers}),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(nV(s))return{data:null,error:s};throw s}})}emptyBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield gV(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}deleteBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield yV(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}listBucketOptionsToQueryString(e){const t={};return e&&("limit"in e&&(t.limit=String(e.limit)),"offset"in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?"?"+new URLSearchParams(t).toString():""}}class CV{constructor(e,t={},s){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},AV),t),this.fetch=dV(s)}throwOnError(){return this.shouldThrowOnError=!0,this}createBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield gV(this.fetch,`${this.url}/bucket`,{name:e},{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}listBuckets(e){return Ue(this,void 0,void 0,function*(){try{const t=new URLSearchParams;void 0!==(null==e?void 0:e.limit)&&t.set("limit",e.limit.toString()),void 0!==(null==e?void 0:e.offset)&&t.set("offset",e.offset.toString()),(null==e?void 0:e.sortColumn)&&t.set("sortColumn",e.sortColumn),(null==e?void 0:e.sortOrder)&&t.set("sortOrder",e.sortOrder),(null==e?void 0:e.search)&&t.set("search",e.search);const s=t.toString(),a=s?`${this.url}/bucket?${s}`:`${this.url}/bucket`;return{data:yield pV(this.fetch,a,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}deleteBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield yV(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(nV(t))return{data:null,error:t};throw t}})}}const IV={"X-Client-Info":`storage-js/${MV}`,"Content-Type":"application/json"};class PV extends Error{constructor(e){super(e),this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}}function TV(e){return"object"==typeof e&&null!==e&&"__isStorageVectorsError"in e}class RV extends PV{constructor(e,t,s){super(e),this.name="StorageVectorsApiError",this.status=t,this.statusCode=s}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class OV extends PV{constructor(e,t){super(e),this.name="StorageVectorsUnknownError",this.originalError=t}}var DV,qV;(qV=DV||(DV={})).InternalError="InternalError",qV.S3VectorConflictException="S3VectorConflictException",qV.S3VectorNotFoundException="S3VectorNotFoundException",qV.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",qV.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",qV.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded";const EV=e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>pt(async()=>{const{default:e}=await Promise.resolve().then(()=>EW);return{default:e}},void 0).then(({default:t})=>t(...e)):fetch),(...e)=>t(...e)},zV=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),_V=(e,t,s,a)=>{const r={method:e,headers:(null==t?void 0:t.headers)||{}};return a?((e=>{if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)})(a)?(r.headers=Object.assign({"Content-Type":"application/json"},null==t?void 0:t.headers),r.body=JSON.stringify(a)):r.body=a,Object.assign(Object.assign({},r),s)):r};function LV(e,t,s,a,r,i){return Ue(this,void 0,void 0,function*(){return new Promise((n,o)=>{e(s,_V(t,a,r,i)).then(e=>{if(!e.ok)throw e;if(null==a?void 0:a.noResolveJson)return e;const t=e.headers.get("content-type");return t&&t.includes("application/json")?e.json():{}}).then(e=>n(e)).catch(e=>((e,t,s)=>Ue(void 0,void 0,void 0,function*(){if(e&&"object"==typeof e&&"status"in e&&"ok"in e&&"number"==typeof e.status&&!(null==s?void 0:s.noResolveJson)){const s=e.status||500,a=e;if("function"==typeof a.json)a.json().then(e=>{const a=(null==e?void 0:e.statusCode)||(null==e?void 0:e.code)||s+"";t(new RV(zV(e),s,a))}).catch(()=>{const e=s+"",r=a.statusText||`HTTP ${s} error`;t(new RV(r,s,e))});else{const e=s+"",r=a.statusText||`HTTP ${s} error`;t(new RV(r,s,e))}}else t(new OV(zV(e),e))}))(e,o,a))})})}function FV(e,t,s,a,r){return Ue(this,void 0,void 0,function*(){return LV(e,"POST",t,a,r,s)})}class WV{constructor(e,t={},s){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},IV),t),this.fetch=EV(s)}throwOnError(){return this.shouldThrowOnError=!0,this}createIndex(e){return Ue(this,void 0,void 0,function*(){try{return{data:(yield FV(this.fetch,`${this.url}/CreateIndex`,e,{headers:this.headers}))||{},error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}getIndex(e,t){return Ue(this,void 0,void 0,function*(){try{return{data:yield FV(this.fetch,`${this.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:this.headers}),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(TV(s))return{data:null,error:s};throw s}})}listIndexes(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield FV(this.fetch,`${this.url}/ListIndexes`,e,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}deleteIndex(e,t){return Ue(this,void 0,void 0,function*(){try{return{data:(yield FV(this.fetch,`${this.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:this.headers}))||{},error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(TV(s))return{data:null,error:s};throw s}})}}class HV{constructor(e,t={},s){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},IV),t),this.fetch=EV(s)}throwOnError(){return this.shouldThrowOnError=!0,this}putVectors(e){return Ue(this,void 0,void 0,function*(){try{if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return{data:(yield FV(this.fetch,`${this.url}/PutVectors`,e,{headers:this.headers}))||{},error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}getVectors(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield FV(this.fetch,`${this.url}/GetVectors`,e,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}listVectors(e){return Ue(this,void 0,void 0,function*(){try{if(void 0!==e.segmentCount){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(void 0!==e.segmentIndex&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error("segmentIndex must be between 0 and "+(e.segmentCount-1))}return{data:yield FV(this.fetch,`${this.url}/ListVectors`,e,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}queryVectors(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield FV(this.fetch,`${this.url}/QueryVectors`,e,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}deleteVectors(e){return Ue(this,void 0,void 0,function*(){try{if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return{data:(yield FV(this.fetch,`${this.url}/DeleteVectors`,e,{headers:this.headers}))||{},error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}}class VV{constructor(e,t={},s){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},IV),t),this.fetch=EV(s)}throwOnError(){return this.shouldThrowOnError=!0,this}createBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:(yield FV(this.fetch,`${this.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:this.headers}))||{},error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}getBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:yield FV(this.fetch,`${this.url}/GetVectorBucket`,{vectorBucketName:e},{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}listBuckets(){return Ue(this,arguments,void 0,function*(e={}){try{return{data:yield FV(this.fetch,`${this.url}/ListVectorBuckets`,e,{headers:this.headers}),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}deleteBucket(e){return Ue(this,void 0,void 0,function*(){try{return{data:(yield FV(this.fetch,`${this.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:this.headers}))||{},error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(TV(t))return{data:null,error:t};throw t}})}}class BV extends VV{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new GV(this.url,this.headers,e,this.fetch)}}class GV extends WV{constructor(e,t,s,a){super(e,t,a),this.vectorBucketName=s}createIndex(e){const t=Object.create(null,{createIndex:{get:()=>super.createIndex}});return Ue(this,void 0,void 0,function*(){return t.createIndex.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName}))})}listIndexes(){const e=Object.create(null,{listIndexes:{get:()=>super.listIndexes}});return Ue(this,arguments,void 0,function*(t={}){return e.listIndexes.call(this,Object.assign(Object.assign({},t),{vectorBucketName:this.vectorBucketName}))})}getIndex(e){const t=Object.create(null,{getIndex:{get:()=>super.getIndex}});return Ue(this,void 0,void 0,function*(){return t.getIndex.call(this,this.vectorBucketName,e)})}deleteIndex(e){const t=Object.create(null,{deleteIndex:{get:()=>super.deleteIndex}});return Ue(this,void 0,void 0,function*(){return t.deleteIndex.call(this,this.vectorBucketName,e)})}index(e){return new UV(this.url,this.headers,this.vectorBucketName,e,this.fetch)}}class UV extends HV{constructor(e,t,s,a,r){super(e,t,r),this.vectorBucketName=s,this.indexName=a}putVectors(e){const t=Object.create(null,{putVectors:{get:()=>super.putVectors}});return Ue(this,void 0,void 0,function*(){return t.putVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}getVectors(e){const t=Object.create(null,{getVectors:{get:()=>super.getVectors}});return Ue(this,void 0,void 0,function*(){return t.getVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}listVectors(){const e=Object.create(null,{listVectors:{get:()=>super.listVectors}});return Ue(this,arguments,void 0,function*(t={}){return e.listVectors.call(this,Object.assign(Object.assign({},t),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}queryVectors(e){const t=Object.create(null,{queryVectors:{get:()=>super.queryVectors}});return Ue(this,void 0,void 0,function*(){return t.queryVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}deleteVectors(e){const t=Object.create(null,{deleteVectors:{get:()=>super.deleteVectors}});return Ue(this,void 0,void 0,function*(){return t.deleteVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}}class $V extends SV{constructor(e,t={},s,a){super(e,t,s,a)}from(e){return new kV(this.url,this.headers,e,this.fetch)}get vectors(){return new BV(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new CV(this.url+"/iceberg",this.headers,this.fetch)}}let YV="";YV="undefined"!=typeof Deno?"deno":"undefined"!=typeof document?"web":"undefined"!=typeof navigator&&"ReactNative"===navigator.product?"react-native":"node";const KV={headers:{"X-Client-Info":`supabase-js-${YV}/2.77.0`}},QV={schema:"public"},ZV={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},JV={},XV=(e,t,s)=>{const a=(e=>{let t;return t=e||("undefined"==typeof fetch?RW:fetch),(...e)=>t(...e)})(s),r="undefined"==typeof Headers?OW:Headers;return async(s,i)=>{var n;const o=null!==(n=await t())&&void 0!==n?n:e;let l=new r(null==i?void 0:i.headers);return l.has("apikey")||l.set("apikey",e),l.has("Authorization")||l.set("Authorization",`Bearer ${o}`),a(s,Object.assign(Object.assign({},i),{headers:l}))}};const eB="2.77.0",tB=3e4,sB=9e4,aB={"X-Client-Info":`gotrue-js/${eB}`},rB="X-Supabase-Api-Version",iB={timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"},nB=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i;class oB extends Error{constructor(e,t,s){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t,this.code=s}}function lB(e){return"object"==typeof e&&null!==e&&"__isAuthError"in e}class dB extends oB{constructor(e,t,s){super(e,t,s),this.name="AuthApiError",this.status=t,this.code=s}}class cB extends oB{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class mB extends oB{constructor(e,t,s,a){super(e,s,a),this.name=t,this.status=s}}class hB extends mB{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}class xB extends mB{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class uB extends mB{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}}class pB extends mB{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class gB extends mB{constructor(e,t=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class fB extends mB{constructor(e,t){super(e,"AuthRetryableFetchError",t,void 0)}}function yB(e){return lB(e)&&"AuthRetryableFetchError"===e.name}class bB extends mB{constructor(e,t,s){super(e,"AuthWeakPasswordError",t,"weak_password"),this.reasons=s}}class vB extends mB{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}}const jB="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),NB=" \t\n\r=".split(""),wB=(()=>{const e=new Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<NB.length;t+=1)e[NB[t].charCodeAt(0)]=-2;for(let t=0;t<jB.length;t+=1)e[jB[t].charCodeAt(0)]=t;return e})();function kB(e,t,s){if(null!==e)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;){const e=t.queue>>t.queuedBits-6&63;s(jB[e]),t.queuedBits-=6}else if(t.queuedBits>0)for(t.queue=t.queue<<6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;){const e=t.queue>>t.queuedBits-6&63;s(jB[e]),t.queuedBits-=6}}function MB(e,t,s){const a=wB[e];if(!(a>-1)){if(-2===a)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}for(t.queue=t.queue<<6|a,t.queuedBits+=6;t.queuedBits>=8;)s(t.queue>>t.queuedBits-8&255),t.queuedBits-=8}function AB(e){const t=[],s=e=>{t.push(String.fromCodePoint(e))},a={utf8seq:0,codepoint:0},r={queue:0,queuedBits:0},i=e=>{!function(e,t,s){if(0===t.utf8seq){if(e<=127)return void s(e);for(let s=1;s<6;s+=1)if(!(e>>7-s&1)){t.utf8seq=s;break}if(2===t.utf8seq)t.codepoint=31&e;else if(3===t.utf8seq)t.codepoint=15&e;else{if(4!==t.utf8seq)throw new Error("Invalid UTF-8 sequence");t.codepoint=7&e}t.utf8seq-=1}else if(t.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");t.codepoint=t.codepoint<<6|63&e,t.utf8seq-=1,0===t.utf8seq&&s(t.codepoint)}}(e,a,s)};for(let n=0;n<e.length;n+=1)MB(e.charCodeAt(n),r,i);return t.join("")}function SB(e,t){if(!(e<=127)){if(e<=2047)return t(192|e>>6),void t(128|63&e);if(e<=65535)return t(224|e>>12),t(128|e>>6&63),void t(128|63&e);if(e<=1114111)return t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),void t(128|63&e);throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}t(e)}function CB(e){const t=[],s={queue:0,queuedBits:0},a=e=>{t.push(e)};for(let r=0;r<e.length;r+=1)MB(e.charCodeAt(r),s,a);return new Uint8Array(t)}function IB(e){const t=[];return function(e,t){for(let s=0;s<e.length;s+=1){let a=e.charCodeAt(s);if(a>55295&&a<=56319){const t=1024*(a-55296)&65535;a=65536+(e.charCodeAt(s+1)-56320&65535|t),s+=1}SB(a,t)}}(e,e=>t.push(e)),new Uint8Array(t)}function PB(e){const t=[],s={queue:0,queuedBits:0},a=e=>{t.push(e)};return e.forEach(e=>kB(e,s,a)),kB(null,s,a),t.join("")}const TB=()=>"undefined"!=typeof window&&"undefined"!=typeof document,RB={tested:!1,writable:!1},OB=()=>{if(!TB())return!1;try{if("object"!=typeof globalThis.localStorage)return!1}catch(t){return!1}if(RB.tested)return RB.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),RB.tested=!0,RB.writable=!0}catch(t){RB.tested=!0,RB.writable=!1}return RB.writable};const DB=e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>pt(async()=>{const{default:e}=await Promise.resolve().then(()=>EW);return{default:e}},void 0).then(({default:t})=>t(...e)):fetch),(...e)=>t(...e)},qB=async(e,t,s)=>{await e.setItem(t,JSON.stringify(s))},EB=async(e,t)=>{const s=await e.getItem(t);if(!s)return null;try{return JSON.parse(s)}catch(a){return s}},zB=async(e,t)=>{await e.removeItem(t)};class _B{constructor(){this.promise=new _B.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}function LB(e){const t=e.split(".");if(3!==t.length)throw new vB("Invalid JWT structure");for(let s=0;s<t.length;s++)if(!nB.test(t[s]))throw new vB("JWT not in base64url format");return{header:JSON.parse(AB(t[0])),payload:JSON.parse(AB(t[1])),signature:CB(t[2]),raw:{header:t[0],payload:t[1]}}}function FB(e){return("0"+e.toString(16)).substr(-2)}async function WB(e){if(!("undefined"!=typeof crypto&&void 0!==crypto.subtle&&"undefined"!=typeof TextEncoder))return e;const t=await async function(e){const t=(new TextEncoder).encode(e),s=await crypto.subtle.digest("SHA-256",t),a=new Uint8Array(s);return Array.from(a).map(e=>String.fromCharCode(e)).join("")}(e);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function HB(e,t,s=!1){const a=function(){const e=new Uint32Array(56);if("undefined"==typeof crypto){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",t=e.length;let s="";for(let a=0;a<56;a++)s+=e.charAt(Math.floor(Math.random()*t));return s}return crypto.getRandomValues(e),Array.from(e,FB).join("")}();let r=a;s&&(r+="/PASSWORD_RECOVERY"),await qB(e,`${t}-code-verifier`,r);const i=await WB(a);return[i,a===i?"plain":"s256"]}_B.promiseConstructor=Promise;const VB=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;const BB=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function GB(e){if(!BB.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function UB(){return new Proxy({},{get:(e,t)=>{if("__isUserNotAvailableProxy"===t)return!0;if("symbol"==typeof t){const e=t.toString();if("Symbol(Symbol.toPrimitive)"===e||"Symbol(Symbol.toStringTag)"===e||"Symbol(util.inspect.custom)"===e)return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function $B(e){return JSON.parse(JSON.stringify(e))}const YB=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),KB=[502,503,504];async function QB(e){var t,s;if(!("object"==typeof(s=e)&&null!==s&&"status"in s&&"ok"in s&&"json"in s&&"function"==typeof s.json))throw new fB(YB(e),0);if(KB.includes(e.status))throw new fB(YB(e),e.status);let a,r;try{a=await e.json()}catch(n){throw new cB(YB(n),n)}const i=function(e){const t=e.headers.get(rB);if(!t)return null;if(!t.match(VB))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch(n){return null}}(e);if(i&&i.getTime()>=iB.timestamp&&"object"==typeof a&&a&&"string"==typeof a.code?r=a.code:"object"==typeof a&&a&&"string"==typeof a.error_code&&(r=a.error_code),r){if("weak_password"===r)throw new bB(YB(a),e.status,(null===(t=a.weak_password)||void 0===t?void 0:t.reasons)||[]);if("session_not_found"===r)throw new hB}else if("object"==typeof a&&a&&"object"==typeof a.weak_password&&a.weak_password&&Array.isArray(a.weak_password.reasons)&&a.weak_password.reasons.length&&a.weak_password.reasons.reduce((e,t)=>e&&"string"==typeof t,!0))throw new bB(YB(a),e.status,a.weak_password.reasons);throw new dB(YB(a),e.status||500,r)}async function ZB(e,t,s,a){var r;const i=Object.assign({},null==a?void 0:a.headers);i[rB]||(i[rB]=iB.name),(null==a?void 0:a.jwt)&&(i.Authorization=`Bearer ${a.jwt}`);const n=null!==(r=null==a?void 0:a.query)&&void 0!==r?r:{};(null==a?void 0:a.redirectTo)&&(n.redirect_to=a.redirectTo);const o=Object.keys(n).length?"?"+new URLSearchParams(n).toString():"",l=await async function(e,t,s,a,r,i){const n=((e,t,s,a)=>{const r={method:e,headers:(null==t?void 0:t.headers)||{}};return"GET"===e?r:(r.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},null==t?void 0:t.headers),r.body=JSON.stringify(a),Object.assign(Object.assign({},r),s))})(t,a,r,i);let o;try{o=await e(s,Object.assign({},n))}catch(l){throw new fB(YB(l),0)}o.ok||await QB(o);if(null==a?void 0:a.noResolveJson)return o;try{return await o.json()}catch(l){await QB(l)}}(e,t,s+o,{headers:i,noResolveJson:null==a?void 0:a.noResolveJson},{},null==a?void 0:a.body);return(null==a?void 0:a.xform)?null==a?void 0:a.xform(l):{data:Object.assign({},l),error:null}}function JB(e){var t;let s=null;var a;(function(e){return e.access_token&&e.refresh_token&&e.expires_in})(e)&&(s=Object.assign({},e),e.expires_at||(s.expires_at=(a=e.expires_in,Math.round(Date.now()/1e3)+a)));return{data:{session:s,user:null!==(t=e.user)&&void 0!==t?t:e},error:null}}function XB(e){const t=JB(e);return!t.error&&e.weak_password&&"object"==typeof e.weak_password&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&"string"==typeof e.weak_password.message&&e.weak_password.reasons.reduce((e,t)=>e&&"string"==typeof t,!0)&&(t.data.weak_password=e.weak_password),t}function eG(e){var t;return{data:{user:null!==(t=e.user)&&void 0!==t?t:e},error:null}}function tG(e){return{data:e,error:null}}function sG(e){const{action_link:t,email_otp:s,hashed_token:a,redirect_to:r,verification_type:i}=e,n=Ye(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]);return{data:{properties:{action_link:t,email_otp:s,hashed_token:a,redirect_to:r,verification_type:i},user:Object.assign({},n)},error:null}}function aG(e){return e}const rG=["global","local","others"];class iG{constructor({url:e="",headers:t={},fetch:s}){this.url=e,this.headers=t,this.fetch=DB(s),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)}}async signOut(e,t=rG[0]){if(rG.indexOf(t)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${rG.join(", ")}`);try{return await ZB(this.fetch,"POST",`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(s){if(lB(s))return{data:null,error:s};throw s}}async inviteUserByEmail(e,t={}){try{return await ZB(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:eG})}catch(s){if(lB(s))return{data:{user:null},error:s};throw s}}async generateLink(e){try{const{options:t}=e,s=Ye(e,["options"]),a=Object.assign(Object.assign({},s),t);return"newEmail"in s&&(a.new_email=null==s?void 0:s.newEmail,delete a.newEmail),await ZB(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:a,headers:this.headers,xform:sG,redirectTo:null==t?void 0:t.redirectTo})}catch(t){if(lB(t))return{data:{properties:null,user:null},error:t};throw t}}async createUser(e){try{return await ZB(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:eG})}catch(t){if(lB(t))return{data:{user:null},error:t};throw t}}async listUsers(e){var t,s,a,r,i,n,o;try{const l={nextPage:null,lastPage:0,total:0},d=await ZB(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:null!==(s=null===(t=null==e?void 0:e.page)||void 0===t?void 0:t.toString())&&void 0!==s?s:"",per_page:null!==(r=null===(a=null==e?void 0:e.perPage)||void 0===a?void 0:a.toString())&&void 0!==r?r:""},xform:aG});if(d.error)throw d.error;const c=await d.json(),m=null!==(i=d.headers.get("x-total-count"))&&void 0!==i?i:0,h=null!==(o=null===(n=d.headers.get("link"))||void 0===n?void 0:n.split(","))&&void 0!==o?o:[];return h.length>0&&(h.forEach(e=>{const t=parseInt(e.split(";")[0].split("=")[1].substring(0,1)),s=JSON.parse(e.split(";")[1].split("=")[1]);l[`${s}Page`]=t}),l.total=parseInt(m)),{data:Object.assign(Object.assign({},c),l),error:null}}catch(l){if(lB(l))return{data:{users:[]},error:l};throw l}}async getUserById(e){GB(e);try{return await ZB(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:eG})}catch(t){if(lB(t))return{data:{user:null},error:t};throw t}}async updateUserById(e,t){GB(e);try{return await ZB(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:eG})}catch(s){if(lB(s))return{data:{user:null},error:s};throw s}}async deleteUser(e,t=!1){GB(e);try{return await ZB(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:eG})}catch(s){if(lB(s))return{data:{user:null},error:s};throw s}}async _listFactors(e){GB(e.userId);try{const{data:t,error:s}=await ZB(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:s}}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _deleteFactor(e){GB(e.userId),GB(e.id);try{return{data:await ZB(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _listOAuthClients(e){var t,s,a,r,i,n,o;try{const l={nextPage:null,lastPage:0,total:0},d=await ZB(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:null!==(s=null===(t=null==e?void 0:e.page)||void 0===t?void 0:t.toString())&&void 0!==s?s:"",per_page:null!==(r=null===(a=null==e?void 0:e.perPage)||void 0===a?void 0:a.toString())&&void 0!==r?r:""},xform:aG});if(d.error)throw d.error;const c=await d.json(),m=null!==(i=d.headers.get("x-total-count"))&&void 0!==i?i:0,h=null!==(o=null===(n=d.headers.get("link"))||void 0===n?void 0:n.split(","))&&void 0!==o?o:[];return h.length>0&&(h.forEach(e=>{const t=parseInt(e.split(";")[0].split("=")[1].substring(0,1)),s=JSON.parse(e.split(";")[1].split("=")[1]);l[`${s}Page`]=t}),l.total=parseInt(m)),{data:Object.assign(Object.assign({},c),l),error:null}}catch(l){if(lB(l))return{data:{clients:[]},error:l};throw l}}async _createOAuthClient(e){try{return await ZB(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _getOAuthClient(e){try{return await ZB(this.fetch,"GET",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _deleteOAuthClient(e){try{return await ZB(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _regenerateOAuthClientSecret(e){try{return await ZB(this.fetch,"POST",`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(t){if(lB(t))return{data:null,error:t};throw t}}}function nG(e={}){return{getItem:t=>e[t]||null,setItem:(t,s)=>{e[t]=s},removeItem:t=>{delete e[t]}}}const oG=!!(globalThis&&OB()&&globalThis.localStorage&&"true"===globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug"));class lG extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}class dG extends lG{}async function cG(e,t,s){const a=new globalThis.AbortController;return t>0&&setTimeout(()=>{a.abort()},t),await Promise.resolve().then(()=>globalThis.navigator.locks.request(e,0===t?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:a.signal},async a=>{if(!a){if(0===t)throw new dG(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);if(oG)try{await globalThis.navigator.locks.query()}catch(r){}return await s()}try{return await s()}finally{}}))}function mG(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function hG(e){const t=(new TextEncoder).encode(e);return"0x"+Array.from(t,e=>e.toString(16).padStart(2,"0")).join("")}class xG extends Error{constructor({message:e,code:t,cause:s,name:a}){var r;super(e,{cause:s}),this.__isWebAuthnError=!0,this.name=null!==(r=null!=a?a:s instanceof Error?s.name:void 0)&&void 0!==r?r:"Unknown Error",this.code=t}}class uG extends xG{constructor(e,t){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t,message:e}),this.name="WebAuthnUnknownError",this.originalError=t}}function pG({error:e,options:t}){var s,a,r;const{publicKey:i}=t;if(!i)throw Error("options was missing required publicKey property");if("AbortError"===e.name){if(t.signal instanceof AbortSignal)return new xG({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if("ConstraintError"===e.name){if(!0===(null===(s=i.authenticatorSelection)||void 0===s?void 0:s.requireResidentKey))return new xG({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if("conditional"===t.mediation&&"required"===(null===(a=i.authenticatorSelection)||void 0===a?void 0:a.userVerification))return new xG({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if("required"===(null===(r=i.authenticatorSelection)||void 0===r?void 0:r.userVerification))return new xG({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if("InvalidStateError"===e.name)return new xG({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if("NotAllowedError"===e.name)return new xG({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if("NotSupportedError"===e.name){return 0===i.pubKeyCredParams.filter(e=>"public-key"===e.type).length?new xG({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new xG({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e})}if("SecurityError"===e.name){const t=window.location.hostname;if(!NG(t))return new xG({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e});if(i.rp.id!==t)return new xG({message:`The RP ID "${i.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else if("TypeError"===e.name){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new xG({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if("UnknownError"===e.name)return new xG({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new xG({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function gG({error:e,options:t}){const{publicKey:s}=t;if(!s)throw Error("options was missing required publicKey property");if("AbortError"===e.name){if(t.signal instanceof AbortSignal)return new xG({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if("NotAllowedError"===e.name)return new xG({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if("SecurityError"===e.name){const t=window.location.hostname;if(!NG(t))return new xG({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e});if(s.rpId!==t)return new xG({message:`The RP ID "${s.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else if("UnknownError"===e.name)return new xG({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new xG({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}const fG=new class{createNewAbortSignal(){if(this.controller){const e=new Error("Cancelling existing WebAuthn API call for new one");e.name="AbortError",this.controller.abort(e)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}};function yG(e){if(!e)throw new Error("Credential creation options are required");if("undefined"!=typeof PublicKeyCredential&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&"function"==typeof PublicKeyCredential.parseCreationOptionsFromJSON)return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:t,user:s,excludeCredentials:a}=e,r=Ye(e,["challenge","user","excludeCredentials"]),i=CB(t).buffer,n=Object.assign(Object.assign({},s),{id:CB(s.id).buffer}),o=Object.assign(Object.assign({},r),{challenge:i,user:n});if(a&&a.length>0){o.excludeCredentials=new Array(a.length);for(let e=0;e<a.length;e++){const t=a[e];o.excludeCredentials[e]=Object.assign(Object.assign({},t),{id:CB(t.id).buffer,type:t.type||"public-key",transports:t.transports})}}return o}function bG(e){if(!e)throw new Error("Credential request options are required");if("undefined"!=typeof PublicKeyCredential&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&"function"==typeof PublicKeyCredential.parseRequestOptionsFromJSON)return PublicKeyCredential.parseRequestOptionsFromJSON(e);const{challenge:t,allowCredentials:s}=e,a=Ye(e,["challenge","allowCredentials"]),r=CB(t).buffer,i=Object.assign(Object.assign({},a),{challenge:r});if(s&&s.length>0){i.allowCredentials=new Array(s.length);for(let e=0;e<s.length;e++){const t=s[e];i.allowCredentials[e]=Object.assign(Object.assign({},t),{id:CB(t.id).buffer,type:t.type||"public-key",transports:t.transports})}}return i}function vG(e){var t;if("toJSON"in e&&"function"==typeof e.toJSON)return e.toJSON();const s=e;return{id:e.id,rawId:e.id,response:{attestationObject:PB(new Uint8Array(e.response.attestationObject)),clientDataJSON:PB(new Uint8Array(e.response.clientDataJSON))},type:"public-key",clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:null!==(t=s.authenticatorAttachment)&&void 0!==t?t:void 0}}function jG(e){var t;if("toJSON"in e&&"function"==typeof e.toJSON)return e.toJSON();const s=e,a=e.getClientExtensionResults(),r=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:PB(new Uint8Array(r.authenticatorData)),clientDataJSON:PB(new Uint8Array(r.clientDataJSON)),signature:PB(new Uint8Array(r.signature)),userHandle:r.userHandle?PB(new Uint8Array(r.userHandle)):void 0},type:"public-key",clientExtensionResults:a,authenticatorAttachment:null!==(t=s.authenticatorAttachment)&&void 0!==t?t:void 0}}function NG(e){return"localhost"===e||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function wG(){var e,t;return!!(TB()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&"function"==typeof(null===(e=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===e?void 0:e.create)&&"function"==typeof(null===(t=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===t?void 0:t.get))}const kG={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"none"},MG={userVerification:"preferred",hints:["security-key"]};function AG(...e){const t=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),s=e=>e instanceof ArrayBuffer||ArrayBuffer.isView(e),a={};for(const r of e)if(r)for(const e in r){const i=r[e];if(void 0!==i)if(Array.isArray(i))a[e]=i;else if(s(i))a[e]=i;else if(t(i)){const s=a[e];t(s)?a[e]=AG(s,i):a[e]=AG(i)}else a[e]=i}return a}class SG{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:"webauthn"}))}async _challenge({factorId:e,webauthn:t,friendlyName:s,signal:a},r){try{const{data:i,error:n}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!i)return{data:null,error:n};const o=null!=a?a:fG.createNewAbortSignal();if("create"===i.webauthn.type){const{user:e}=i.webauthn.credential_options.publicKey;e.name||(e.name=`${e.id}:${s}`),e.displayName||(e.displayName=e.name)}switch(i.webauthn.type){case"create":{const t=function(e,t){return AG(kG,e,t||{})}(i.webauthn.credential_options.publicKey,null==r?void 0:r.create),{data:s,error:a}=await async function(e){try{const t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new uG("Browser returned unexpected credential type",t)}:{data:null,error:new uG("Empty credential response",t)}}catch(t){return{data:null,error:pG({error:t,options:e})}}}({publicKey:t,signal:o});return s?{data:{factorId:e,challengeId:i.id,webauthn:{type:i.webauthn.type,credential_response:s}},error:null}:{data:null,error:a}}case"request":{const t=function(e,t){return AG(MG,e,t||{})}(i.webauthn.credential_options.publicKey,null==r?void 0:r.request),{data:s,error:a}=await async function(e){try{const t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new uG("Browser returned unexpected credential type",t)}:{data:null,error:new uG("Empty credential response",t)}}catch(t){return{data:null,error:gG({error:t,options:e})}}}(Object.assign(Object.assign({},i.webauthn.credential_options),{publicKey:t,signal:o}));return s?{data:{factorId:e,challengeId:i.id,webauthn:{type:i.webauthn.type,credential_response:s}},error:null}:{data:null,error:a}}}}catch(i){return lB(i)?{data:null,error:i}:{data:null,error:new cB("Unexpected error in challenge",i)}}}async _verify({challengeId:e,factorId:t,webauthn:s}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:s})}async _authenticate({factorId:e,webauthn:{rpId:t=("undefined"!=typeof window?window.location.hostname:void 0),rpOrigins:s=("undefined"!=typeof window?[window.location.origin]:void 0),signal:a}},r){if(!t)return{data:null,error:new oB("rpId is required for WebAuthn authentication")};try{if(!wG())return{data:null,error:new cB("Browser does not support WebAuthn",null)};const{data:i,error:n}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:s},signal:a},{request:r});if(!i)return{data:null,error:n};const{webauthn:o}=i;return this._verify({factorId:e,challengeId:i.challengeId,webauthn:{type:o.type,rpId:t,rpOrigins:s,credential_response:o.credential_response}})}catch(i){return lB(i)?{data:null,error:i}:{data:null,error:new cB("Unexpected error in authenticate",i)}}}async _register({friendlyName:e,rpId:t=("undefined"!=typeof window?window.location.hostname:void 0),rpOrigins:s=("undefined"!=typeof window?[window.location.origin]:void 0),signal:a},r){if(!t)return{data:null,error:new oB("rpId is required for WebAuthn registration")};try{if(!wG())return{data:null,error:new cB("Browser does not support WebAuthn",null)};const{data:i,error:n}=await this._enroll({friendlyName:e});if(!i)return await this.client.mfa.listFactors().then(t=>{var s;return null===(s=t.data)||void 0===s?void 0:s.all.find(t=>"webauthn"===t.factor_type&&t.friendly_name===e&&"unverified"!==t.status)}).then(e=>e?this.client.mfa.unenroll({factorId:null==e?void 0:e.id}):void 0),{data:null,error:n};const{data:o,error:l}=await this._challenge({factorId:i.id,friendlyName:i.friendly_name,webauthn:{rpId:t,rpOrigins:s},signal:a},{create:r});return o?this._verify({factorId:i.id,challengeId:o.challengeId,webauthn:{rpId:t,rpOrigins:s,type:o.webauthn.type,credential_response:o.webauthn.credential_response}}):{data:null,error:l}}catch(i){return lB(i)?{data:null,error:i}:{data:null,error:new cB("Unexpected error in register",i)}}}}!function(){if("object"!=typeof globalThis)try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch(e){"undefined"!=typeof self&&(self.globalThis=self)}}();const CG={url:"http://localhost:9999",storageKey:"supabase.auth.token",autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:aB,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1};async function IG(e,t,s){return await s()}const PG={};class TG{get jwks(){var e,t;return null!==(t=null===(e=PG[this.storageKey])||void 0===e?void 0:e.jwks)&&void 0!==t?t:{keys:[]}}set jwks(e){PG[this.storageKey]=Object.assign(Object.assign({},PG[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,t;return null!==(t=null===(e=PG[this.storageKey])||void 0===e?void 0:e.cachedAt)&&void 0!==t?t:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){PG[this.storageKey]=Object.assign(Object.assign({},PG[this.storageKey]),{cachedAt:e})}constructor(e){var t,s;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log,this.instanceID=TG.nextInstanceID,TG.nextInstanceID+=1,this.instanceID>0&&TB();const a=Object.assign(Object.assign({},CG),e);if(this.logDebugMessages=!!a.debug,"function"==typeof a.debug&&(this.logger=a.debug),this.persistSession=a.persistSession,this.storageKey=a.storageKey,this.autoRefreshToken=a.autoRefreshToken,this.admin=new iG({url:a.url,headers:a.headers,fetch:a.fetch}),this.url=a.url,this.headers=a.headers,this.fetch=DB(a.fetch),this.lock=a.lock||IG,this.detectSessionInUrl=a.detectSessionInUrl,this.flowType=a.flowType,this.hasCustomAuthorizationHeader=a.hasCustomAuthorizationHeader,a.lock?this.lock=a.lock:TB()&&(null===(t=null===globalThis||void 0===globalThis?void 0:globalThis.navigator)||void 0===t?void 0:t.locks)?this.lock=cG:this.lock=IG,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new SG(this)},this.persistSession?(a.storage?this.storage=a.storage:OB()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=nG(this.memoryStorage)),a.userStorage&&(this.userStorage=a.userStorage)):(this.memoryStorage={},this.storage=nG(this.memoryStorage)),TB()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(r){}null===(s=this.broadcastChannel)||void 0===s||s.addEventListener("message",async e=>{this._debug("received broadcast notification from other tab or client",e),await this._notifyAllSubscribers(e.data.event,e.data.session,!1)})}this.initialize()}_debug(...e){return this.logDebugMessages&&this.logger(`GoTrueClient@${this.instanceID} (${eB}) ${(new Date).toISOString()}`,...e),this}async initialize(){return this.initializePromise||(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))()),await this.initializePromise}async _initialize(){var e;try{const t=function(e){const t={},s=new URL(e);if(s.hash&&"#"===s.hash[0])try{new URLSearchParams(s.hash.substring(1)).forEach((e,s)=>{t[s]=e})}catch(a){}return s.searchParams.forEach((e,s)=>{t[s]=e}),t}(window.location.href);let s="none";if(this._isImplicitGrantCallback(t)?s="implicit":await this._isPKCECallback(t)&&(s="pkce"),TB()&&this.detectSessionInUrl&&"none"!==s){const{data:a,error:r}=await this._getSessionFromURL(t,s);if(r){if(this._debug("#_initialize()","error detecting session from URL",r),function(e){return lB(e)&&"AuthImplicitGrantRedirectError"===e.name}(r)){const t=null===(e=r.details)||void 0===e?void 0:e.code;if("identity_already_exists"===t||"identity_not_found"===t||"single_identity_not_deletable"===t)return{error:r}}return await this._removeSession(),{error:r}}const{session:i,redirectType:n}=a;return this._debug("#_initialize()","detected session in URL",i,"redirect type",n),await this._saveSession(i),setTimeout(async()=>{"recovery"===n?await this._notifyAllSubscribers("PASSWORD_RECOVERY",i):await this._notifyAllSubscribers("SIGNED_IN",i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(t){return lB(t)?{error:t}:{error:new cB("Unexpected error during initialization",t)}}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var t,s,a;try{const r=await ZB(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:null!==(s=null===(t=null==e?void 0:e.options)||void 0===t?void 0:t.data)&&void 0!==s?s:{},gotrue_meta_security:{captcha_token:null===(a=null==e?void 0:e.options)||void 0===a?void 0:a.captchaToken}},xform:JB}),{data:i,error:n}=r;if(n||!i)return{data:{user:null,session:null},error:n};const o=i.session,l=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:l,session:o},error:null}}catch(r){if(lB(r))return{data:{user:null,session:null},error:r};throw r}}async signUp(e){var t,s,a;try{let r;if("email"in e){const{email:s,password:a,options:i}=e;let n=null,o=null;"pkce"===this.flowType&&([n,o]=await HB(this.storage,this.storageKey)),r=await ZB(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:null==i?void 0:i.emailRedirectTo,body:{email:s,password:a,data:null!==(t=null==i?void 0:i.data)&&void 0!==t?t:{},gotrue_meta_security:{captcha_token:null==i?void 0:i.captchaToken},code_challenge:n,code_challenge_method:o},xform:JB})}else{if(!("phone"in e))throw new uB("You must provide either an email or phone number and a password");{const{phone:t,password:i,options:n}=e;r=await ZB(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:t,password:i,data:null!==(s=null==n?void 0:n.data)&&void 0!==s?s:{},channel:null!==(a=null==n?void 0:n.channel)&&void 0!==a?a:"sms",gotrue_meta_security:{captcha_token:null==n?void 0:n.captchaToken}},xform:JB})}}const{data:i,error:n}=r;if(n||!i)return{data:{user:null,session:null},error:n};const o=i.session,l=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",o)),{data:{user:l,session:o},error:null}}catch(r){if(lB(r))return{data:{user:null,session:null},error:r};throw r}}async signInWithPassword(e){try{let t;if("email"in e){const{email:s,password:a,options:r}=e;t=await ZB(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:s,password:a,gotrue_meta_security:{captcha_token:null==r?void 0:r.captchaToken}},xform:XB})}else{if(!("phone"in e))throw new uB("You must provide either an email or phone number and a password");{const{phone:s,password:a,options:r}=e;t=await ZB(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:s,password:a,gotrue_meta_security:{captcha_token:null==r?void 0:r.captchaToken}},xform:XB})}}const{data:s,error:a}=t;return a?{data:{user:null,session:null},error:a}:s&&s.session&&s.user?(s.session&&(await this._saveSession(s.session),await this._notifyAllSubscribers("SIGNED_IN",s.session)),{data:Object.assign({user:s.user,session:s.session},s.weak_password?{weakPassword:s.weak_password}:null),error:a}):{data:{user:null,session:null},error:new xB}}catch(t){if(lB(t))return{data:{user:null,session:null},error:t};throw t}}async signInWithOAuth(e){var t,s,a,r;return await this._handleProviderSignIn(e.provider,{redirectTo:null===(t=e.options)||void 0===t?void 0:t.redirectTo,scopes:null===(s=e.options)||void 0===s?void 0:s.scopes,queryParams:null===(a=e.options)||void 0===a?void 0:a.queryParams,skipBrowserRedirect:null===(r=e.options)||void 0===r?void 0:r.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(e))}async signInWithWeb3(e){const{chain:t}=e;switch(t){case"ethereum":return await this.signInWithEthereum(e);case"solana":return await this.signInWithSolana(e);default:throw new Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){var t,s,a,r,i,n,o,l,d,c,m;let h,x;if("message"in e)h=e.message,x=e.signature;else{const{chain:c,wallet:m,statement:u,options:p}=e;let g;if(TB())if("object"==typeof m)g=m;else{const e=window;if(!("ethereum"in e)||"object"!=typeof e.ethereum||!("request"in e.ethereum)||"function"!=typeof e.ethereum.request)throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.");g=e.ethereum}else{if("object"!=typeof m||!(null==p?void 0:p.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");g=m}const f=new URL(null!==(t=null==p?void 0:p.url)&&void 0!==t?t:window.location.href),y=await g.request({method:"eth_requestAccounts"}).then(e=>e).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!y||0===y.length)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const b=mG(y[0]);let v=null===(s=null==p?void 0:p.signInWithEthereum)||void 0===s?void 0:s.chainId;if(!v){const e=await g.request({method:"eth_chainId"});v=parseInt(e,16)}h=function(e){var t;const{chainId:s,domain:a,expirationTime:r,issuedAt:i=new Date,nonce:n,notBefore:o,requestId:l,resources:d,scheme:c,uri:m,version:h}=e;if(!Number.isInteger(s))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${s}`);if(!a)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(n&&n.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${n}`);if(!m)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if("1"!==h)throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${h}`);if(null===(t=e.statement)||void 0===t?void 0:t.includes("\n"))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`);const x=`${c?`${c}://${a}`:a} wants you to sign in with your Ethereum account:\n${mG(e.address)}\n\n${e.statement?`${e.statement}\n`:""}`;let u=`URI: ${m}\nVersion: ${h}\nChain ID: ${s}${n?`\nNonce: ${n}`:""}\nIssued At: ${i.toISOString()}`;if(r&&(u+=`\nExpiration Time: ${r.toISOString()}`),o&&(u+=`\nNot Before: ${o.toISOString()}`),l&&(u+=`\nRequest ID: ${l}`),d){let e="\nResources:";for(const t of d){if(!t||"string"!=typeof t)throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${t}`);e+=`\n- ${t}`}u+=e}return`${x}\n${u}`}({domain:f.host,address:b,statement:u,uri:f.href,version:"1",chainId:v,nonce:null===(a=null==p?void 0:p.signInWithEthereum)||void 0===a?void 0:a.nonce,issuedAt:null!==(i=null===(r=null==p?void 0:p.signInWithEthereum)||void 0===r?void 0:r.issuedAt)&&void 0!==i?i:new Date,expirationTime:null===(n=null==p?void 0:p.signInWithEthereum)||void 0===n?void 0:n.expirationTime,notBefore:null===(o=null==p?void 0:p.signInWithEthereum)||void 0===o?void 0:o.notBefore,requestId:null===(l=null==p?void 0:p.signInWithEthereum)||void 0===l?void 0:l.requestId,resources:null===(d=null==p?void 0:p.signInWithEthereum)||void 0===d?void 0:d.resources}),x=await g.request({method:"personal_sign",params:[hG(h),b]})}try{const{data:t,error:s}=await ZB(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:h,signature:x},(null===(c=e.options)||void 0===c?void 0:c.captchaToken)?{gotrue_meta_security:{captcha_token:null===(m=e.options)||void 0===m?void 0:m.captchaToken}}:null),xform:JB});if(s)throw s;return t&&t.session&&t.user?(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers("SIGNED_IN",t.session)),{data:Object.assign({},t),error:s}):{data:{user:null,session:null},error:new xB}}catch(u){if(lB(u))return{data:{user:null,session:null},error:u};throw u}}async signInWithSolana(e){var t,s,a,r,i,n,o,l,d,c,m,h;let x,u;if("message"in e)x=e.message,u=e.signature;else{const{chain:m,wallet:h,statement:p,options:g}=e;let f;if(TB())if("object"==typeof h)f=h;else{const e=window;if(!("solana"in e)||"object"!=typeof e.solana||!("signIn"in e.solana&&"function"==typeof e.solana.signIn||"signMessage"in e.solana&&"function"==typeof e.solana.signMessage))throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.");f=e.solana}else{if("object"!=typeof h||!(null==g?void 0:g.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");f=h}const y=new URL(null!==(t=null==g?void 0:g.url)&&void 0!==t?t:window.location.href);if("signIn"in f&&f.signIn){const e=await f.signIn(Object.assign(Object.assign(Object.assign({issuedAt:(new Date).toISOString()},null==g?void 0:g.signInWithSolana),{version:"1",domain:y.host,uri:y.href}),p?{statement:p}:null));let t;if(Array.isArray(e)&&e[0]&&"object"==typeof e[0])t=e[0];else{if(!(e&&"object"==typeof e&&"signedMessage"in e&&"signature"in e))throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");t=e}if(!("signedMessage"in t&&"signature"in t&&("string"==typeof t.signedMessage||t.signedMessage instanceof Uint8Array)&&t.signature instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields");x="string"==typeof t.signedMessage?t.signedMessage:(new TextDecoder).decode(t.signedMessage),u=t.signature}else{if(!("signMessage"in f&&"function"==typeof f.signMessage&&"publicKey"in f&&"object"==typeof f&&f.publicKey&&"toBase58"in f.publicKey&&"function"==typeof f.publicKey.toBase58))throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");x=[`${y.host} wants you to sign in with your Solana account:`,f.publicKey.toBase58(),...p?["",p,""]:[""],"Version: 1",`URI: ${y.href}`,`Issued At: ${null!==(a=null===(s=null==g?void 0:g.signInWithSolana)||void 0===s?void 0:s.issuedAt)&&void 0!==a?a:(new Date).toISOString()}`,...(null===(r=null==g?void 0:g.signInWithSolana)||void 0===r?void 0:r.notBefore)?[`Not Before: ${g.signInWithSolana.notBefore}`]:[],...(null===(i=null==g?void 0:g.signInWithSolana)||void 0===i?void 0:i.expirationTime)?[`Expiration Time: ${g.signInWithSolana.expirationTime}`]:[],...(null===(n=null==g?void 0:g.signInWithSolana)||void 0===n?void 0:n.chainId)?[`Chain ID: ${g.signInWithSolana.chainId}`]:[],...(null===(o=null==g?void 0:g.signInWithSolana)||void 0===o?void 0:o.nonce)?[`Nonce: ${g.signInWithSolana.nonce}`]:[],...(null===(l=null==g?void 0:g.signInWithSolana)||void 0===l?void 0:l.requestId)?[`Request ID: ${g.signInWithSolana.requestId}`]:[],...(null===(c=null===(d=null==g?void 0:g.signInWithSolana)||void 0===d?void 0:d.resources)||void 0===c?void 0:c.length)?["Resources",...g.signInWithSolana.resources.map(e=>`- ${e}`)]:[]].join("\n");const e=await f.signMessage((new TextEncoder).encode(x),"utf8");if(!(e&&e instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");u=e}}try{const{data:t,error:s}=await ZB(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:x,signature:PB(u)},(null===(m=e.options)||void 0===m?void 0:m.captchaToken)?{gotrue_meta_security:{captcha_token:null===(h=e.options)||void 0===h?void 0:h.captchaToken}}:null),xform:JB});if(s)throw s;return t&&t.session&&t.user?(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers("SIGNED_IN",t.session)),{data:Object.assign({},t),error:s}):{data:{user:null,session:null},error:new xB}}catch(p){if(lB(p))return{data:{user:null,session:null},error:p};throw p}}async _exchangeCodeForSession(e){const t=await EB(this.storage,`${this.storageKey}-code-verifier`),[s,a]=(null!=t?t:"").split("/");try{const{data:t,error:r}=await ZB(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:s},xform:JB});if(await zB(this.storage,`${this.storageKey}-code-verifier`),r)throw r;return t&&t.session&&t.user?(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers("SIGNED_IN",t.session)),{data:Object.assign(Object.assign({},t),{redirectType:null!=a?a:null}),error:r}):{data:{user:null,session:null,redirectType:null},error:new xB}}catch(r){if(lB(r))return{data:{user:null,session:null,redirectType:null},error:r};throw r}}async signInWithIdToken(e){try{const{options:t,provider:s,token:a,access_token:r,nonce:i}=e,n=await ZB(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:s,id_token:a,access_token:r,nonce:i,gotrue_meta_security:{captcha_token:null==t?void 0:t.captchaToken}},xform:JB}),{data:o,error:l}=n;return l?{data:{user:null,session:null},error:l}:o&&o.session&&o.user?(o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",o.session)),{data:o,error:l}):{data:{user:null,session:null},error:new xB}}catch(t){if(lB(t))return{data:{user:null,session:null},error:t};throw t}}async signInWithOtp(e){var t,s,a,r,i;try{if("email"in e){const{email:a,options:r}=e;let i=null,n=null;"pkce"===this.flowType&&([i,n]=await HB(this.storage,this.storageKey));const{error:o}=await ZB(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:null!==(t=null==r?void 0:r.data)&&void 0!==t?t:{},create_user:null===(s=null==r?void 0:r.shouldCreateUser)||void 0===s||s,gotrue_meta_security:{captcha_token:null==r?void 0:r.captchaToken},code_challenge:i,code_challenge_method:n},redirectTo:null==r?void 0:r.emailRedirectTo});return{data:{user:null,session:null},error:o}}if("phone"in e){const{phone:t,options:s}=e,{data:n,error:o}=await ZB(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:null!==(a=null==s?void 0:s.data)&&void 0!==a?a:{},create_user:null===(r=null==s?void 0:s.shouldCreateUser)||void 0===r||r,gotrue_meta_security:{captcha_token:null==s?void 0:s.captchaToken},channel:null!==(i=null==s?void 0:s.channel)&&void 0!==i?i:"sms"}});return{data:{user:null,session:null,messageId:null==n?void 0:n.message_id},error:o}}throw new uB("You must provide either an email or phone number.")}catch(n){if(lB(n))return{data:{user:null,session:null},error:n};throw n}}async verifyOtp(e){var t,s;try{let a,r;"options"in e&&(a=null===(t=e.options)||void 0===t?void 0:t.redirectTo,r=null===(s=e.options)||void 0===s?void 0:s.captchaToken);const{data:i,error:n}=await ZB(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:r}}),redirectTo:a,xform:JB});if(n)throw n;if(!i)throw new Error("An error occurred on token verification.");const o=i.session,l=i.user;return(null==o?void 0:o.access_token)&&(await this._saveSession(o),await this._notifyAllSubscribers("recovery"==e.type?"PASSWORD_RECOVERY":"SIGNED_IN",o)),{data:{user:l,session:o},error:null}}catch(a){if(lB(a))return{data:{user:null,session:null},error:a};throw a}}async signInWithSSO(e){var t,s,a;try{let r=null,i=null;return"pkce"===this.flowType&&([r,i]=await HB(this.storage,this.storageKey)),await ZB(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:null!==(s=null===(t=e.options)||void 0===t?void 0:t.redirectTo)&&void 0!==s?s:void 0}),(null===(a=null==e?void 0:e.options)||void 0===a?void 0:a.captchaToken)?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:r,code_challenge_method:i}),headers:this.headers,xform:tG})}catch(r){if(lB(r))return{data:null,error:r};throw r}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:t},error:s}=e;if(s)throw s;if(!t)throw new hB;const{error:a}=await ZB(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return{data:{user:null,session:null},error:a}})}catch(e){if(lB(e))return{data:{user:null,session:null},error:e};throw e}}async resend(e){try{const t=`${this.url}/resend`;if("email"in e){const{email:s,type:a,options:r}=e,{error:i}=await ZB(this.fetch,"POST",t,{headers:this.headers,body:{email:s,type:a,gotrue_meta_security:{captcha_token:null==r?void 0:r.captchaToken}},redirectTo:null==r?void 0:r.emailRedirectTo});return{data:{user:null,session:null},error:i}}if("phone"in e){const{phone:s,type:a,options:r}=e,{data:i,error:n}=await ZB(this.fetch,"POST",t,{headers:this.headers,body:{phone:s,type:a,gotrue_meta_security:{captcha_token:null==r?void 0:r.captchaToken}}});return{data:{user:null,session:null,messageId:null==i?void 0:i.message_id},error:n}}throw new uB("You must provide either an email or phone number and a type")}catch(t){if(lB(t))return{data:{user:null,session:null},error:t};throw t}}async getSession(){await this.initializePromise;return await this._acquireLock(-1,async()=>this._useSession(async e=>e))}async _acquireLock(e,t){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const e=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await e,await t()))();return this.pendingInLock.push((async()=>{try{await s}catch(e){}})()),s}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const e=t();for(this.pendingInLock.push((async()=>{try{await e}catch(t){}})()),await e;this.pendingInLock.length;){const e=[...this.pendingInLock];await Promise.all(e),this.pendingInLock.splice(0,e.length)}return await e}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const t=await this.__loadSession();return await e(t)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",(new Error).stack);try{let e=null;const t=await EB(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",t),null!==t&&(this._isValidSession(t)?e=t:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const s=!!e.expires_at&&1e3*e.expires_at-Date.now()<sB;if(this._debug("#__loadSession()",`session has${s?"":" not"} expired`,"expires_at",e.expires_at),!s){if(this.userStorage){const t=await EB(this.userStorage,this.storageKey+"-user");(null==t?void 0:t.user)?e.user=t.user:e.user=UB()}if(this.storage.isServer&&e.user){let t=this.suppressGetSessionWarning;e=new Proxy(e,{get:(e,s,a)=>(t||"user"!==s||(t=!0,this.suppressGetSessionWarning=!0),Reflect.get(e,s,a))})}return{data:{session:e},error:null}}const{data:a,error:r}=await this._callRefreshToken(e.refresh_token);return r?{data:{session:null},error:r}:{data:{session:a},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;return await this._acquireLock(-1,async()=>await this._getUser())}async _getUser(e){try{return e?await ZB(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:eG}):await this._useSession(async e=>{var t,s,a;const{data:r,error:i}=e;if(i)throw i;return(null===(t=r.session)||void 0===t?void 0:t.access_token)||this.hasCustomAuthorizationHeader?await ZB(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:null!==(a=null===(s=r.session)||void 0===s?void 0:s.access_token)&&void 0!==a?a:void 0,xform:eG}):{data:{user:null},error:new hB}})}catch(t){if(lB(t))return function(e){return lB(e)&&"AuthSessionMissingError"===e.name}(t)&&(await this._removeSession(),await zB(this.storage,`${this.storageKey}-code-verifier`)),{data:{user:null},error:t};throw t}}async updateUser(e,t={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(e,t))}async _updateUser(e,t={}){try{return await this._useSession(async s=>{const{data:a,error:r}=s;if(r)throw r;if(!a.session)throw new hB;const i=a.session;let n=null,o=null;"pkce"===this.flowType&&null!=e.email&&([n,o]=await HB(this.storage,this.storageKey));const{data:l,error:d}=await ZB(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:null==t?void 0:t.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:n,code_challenge_method:o}),jwt:i.access_token,xform:eG});if(d)throw d;return i.user=l.user,await this._saveSession(i),await this._notifyAllSubscribers("USER_UPDATED",i),{data:{user:i.user},error:null}})}catch(s){if(lB(s))return{data:{user:null},error:s};throw s}}async setSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new hB;const t=Date.now()/1e3;let s=t,a=!0,r=null;const{payload:i}=LB(e.access_token);if(i.exp&&(s=i.exp,a=s<=t),a){const{data:t,error:s}=await this._callRefreshToken(e.refresh_token);if(s)return{data:{user:null,session:null},error:s};if(!t)return{data:{user:null,session:null},error:null};r=t}else{const{data:a,error:i}=await this._getUser(e.access_token);if(i)throw i;r={access_token:e.access_token,refresh_token:e.refresh_token,user:a.user,token_type:"bearer",expires_in:s-t,expires_at:s},await this._saveSession(r),await this._notifyAllSubscribers("SIGNED_IN",r)}return{data:{user:r.user,session:r},error:null}}catch(t){if(lB(t))return{data:{session:null,user:null},error:t};throw t}}async refreshSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async t=>{var s;if(!e){const{data:a,error:r}=t;if(r)throw r;e=null!==(s=a.session)&&void 0!==s?s:void 0}if(!(null==e?void 0:e.refresh_token))throw new hB;const{data:a,error:r}=await this._callRefreshToken(e.refresh_token);return r?{data:{user:null,session:null},error:r}:a?{data:{user:a.user,session:a},error:null}:{data:{user:null,session:null},error:null}})}catch(t){if(lB(t))return{data:{user:null,session:null},error:t};throw t}}async _getSessionFromURL(e,t){try{if(!TB())throw new pB("No browser detected.");if(e.error||e.error_description||e.error_code)throw new pB(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(t){case"implicit":if("pkce"===this.flowType)throw new gB("Not a valid PKCE flow url.");break;case"pkce":if("implicit"===this.flowType)throw new pB("Not a valid implicit grant flow url.")}if("pkce"===t){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new gB("No code detected.");const{data:t,error:s}=await this._exchangeCodeForSession(e.code);if(s)throw s;const a=new URL(window.location.href);return a.searchParams.delete("code"),window.history.replaceState(window.history.state,"",a.toString()),{data:{session:t.session,redirectType:null},error:null}}const{provider_token:s,provider_refresh_token:a,access_token:r,refresh_token:i,expires_in:n,expires_at:o,token_type:l}=e;if(!(r&&n&&i&&l))throw new pB("No session defined in URL");const d=Math.round(Date.now()/1e3),c=parseInt(n);let m=d+c;o&&(m=parseInt(o));const{data:h,error:x}=await this._getUser(r);if(x)throw x;const u={provider_token:s,provider_refresh_token:a,access_token:r,expires_in:c,expires_at:m,refresh_token:i,token_type:l,user:h.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),{data:{session:u,redirectType:e.type},error:null}}catch(s){if(lB(s))return{data:{session:null,redirectType:null},error:s};throw s}}_isImplicitGrantCallback(e){return Boolean(e.access_token||e.error_description)}async _isPKCECallback(e){const t=await EB(this.storage,`${this.storageKey}-code-verifier`);return!(!e.code||!t)}async signOut(e={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async t=>{var s;const{data:a,error:r}=t;if(r)return{error:r};const i=null===(s=a.session)||void 0===s?void 0:s.access_token;if(i){const{error:t}=await this.admin.signOut(i,e);if(t&&(!function(e){return lB(e)&&"AuthApiError"===e.name}(t)||404!==t.status&&401!==t.status&&403!==t.status))return{error:t}}return"others"!==e&&(await this._removeSession(),await zB(this.storage,`${this.storageKey}-code-verifier`)),{error:null}})}onAuthStateChange(e){const t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}),s={id:t,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",t),this.stateChangeEmitters.delete(t)}};return this._debug("#onAuthStateChange()","registered callback with id",t),this.stateChangeEmitters.set(t,s),(async()=>{await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(t)})})(),{data:{subscription:s}}}async _emitInitialSession(e){return await this._useSession(async t=>{var s,a;try{const{data:{session:a},error:r}=t;if(r)throw r;await(null===(s=this.stateChangeEmitters.get(e))||void 0===s?void 0:s.callback("INITIAL_SESSION",a)),this._debug("INITIAL_SESSION","callback id",e,"session",a)}catch(r){await(null===(a=this.stateChangeEmitters.get(e))||void 0===a?void 0:a.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",r)}})}async resetPasswordForEmail(e,t={}){let s=null,a=null;"pkce"===this.flowType&&([s,a]=await HB(this.storage,this.storageKey,!0));try{return await ZB(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:s,code_challenge_method:a,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(r){if(lB(r))return{data:null,error:r};throw r}}async getUserIdentities(){var e;try{const{data:t,error:s}=await this.getUser();if(s)throw s;return{data:{identities:null!==(e=t.user.identities)&&void 0!==e?e:[]},error:null}}catch(t){if(lB(t))return{data:null,error:t};throw t}}async linkIdentity(e){return"token"in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){var t;try{const{data:s,error:a}=await this._useSession(async t=>{var s,a,r,i,n;const{data:o,error:l}=t;if(l)throw l;const d=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:null===(s=e.options)||void 0===s?void 0:s.redirectTo,scopes:null===(a=e.options)||void 0===a?void 0:a.scopes,queryParams:null===(r=e.options)||void 0===r?void 0:r.queryParams,skipBrowserRedirect:!0});return await ZB(this.fetch,"GET",d,{headers:this.headers,jwt:null!==(n=null===(i=o.session)||void 0===i?void 0:i.access_token)&&void 0!==n?n:void 0})});if(a)throw a;return TB()&&!(null===(t=e.options)||void 0===t?void 0:t.skipBrowserRedirect)&&window.location.assign(null==s?void 0:s.url),{data:{provider:e.provider,url:null==s?void 0:s.url},error:null}}catch(s){if(lB(s))return{data:{provider:e.provider,url:null},error:s};throw s}}async linkIdentityIdToken(e){return await this._useSession(async t=>{var s;try{const{error:a,data:{session:r}}=t;if(a)throw a;const{options:i,provider:n,token:o,access_token:l,nonce:d}=e,c=await ZB(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:null!==(s=null==r?void 0:r.access_token)&&void 0!==s?s:void 0,body:{provider:n,id_token:o,access_token:l,nonce:d,link_identity:!0,gotrue_meta_security:{captcha_token:null==i?void 0:i.captchaToken}},xform:JB}),{data:m,error:h}=c;return h?{data:{user:null,session:null},error:h}:m&&m.session&&m.user?(m.session&&(await this._saveSession(m.session),await this._notifyAllSubscribers("USER_UPDATED",m.session)),{data:m,error:h}):{data:{user:null,session:null},error:new xB}}catch(a){if(lB(a))return{data:{user:null,session:null},error:a};throw a}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{var s,a;const{data:r,error:i}=t;if(i)throw i;return await ZB(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:null!==(a=null===(s=r.session)||void 0===s?void 0:s.access_token)&&void 0!==a?a:void 0})})}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _refreshAccessToken(e){const t=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(t,"begin");try{const r=Date.now();return await(s=async s=>(s>0&&await async function(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}(200*Math.pow(2,s-1)),this._debug(t,"refreshing attempt",s),await ZB(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:JB})),a=(e,t)=>{const s=200*Math.pow(2,e);return t&&yB(t)&&Date.now()+s-r<tB},new Promise((e,t)=>{(async()=>{for(let i=0;i<1/0;i++)try{const t=await s(i);if(!a(i,null,t))return void e(t)}catch(r){if(!a(i,r))return void t(r)}})()}))}catch(r){if(this._debug(t,"error",r),lB(r))return{data:{session:null,user:null},error:r};throw r}finally{this._debug(t,"end")}var s,a}_isValidSession(e){return"object"==typeof e&&null!==e&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}async _handleProviderSignIn(e,t){const s=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug("#_handleProviderSignIn()","provider",e,"options",t,"url",s),TB()&&!t.skipBrowserRedirect&&window.location.assign(s),{data:{provider:e,url:s},error:null}}async _recoverAndRefresh(){var e,t;const s="#_recoverAndRefresh()";this._debug(s,"begin");try{const r=await EB(this.storage,this.storageKey);if(r&&this.userStorage){let t=await EB(this.userStorage,this.storageKey+"-user");this.storage.isServer||!Object.is(this.storage,this.userStorage)||t||(t={user:r.user},await qB(this.userStorage,this.storageKey+"-user",t)),r.user=null!==(e=null==t?void 0:t.user)&&void 0!==e?e:UB()}else if(r&&!r.user&&!r.user){const e=await EB(this.storage,this.storageKey+"-user");e&&(null==e?void 0:e.user)?(r.user=e.user,await zB(this.storage,this.storageKey+"-user"),await qB(this.storage,this.storageKey,r)):r.user=UB()}if(this._debug(s,"session from storage",r),!this._isValidSession(r))return this._debug(s,"session is not valid"),void(null!==r&&await this._removeSession());const i=1e3*(null!==(t=r.expires_at)&&void 0!==t?t:1/0)-Date.now()<sB;if(this._debug(s,`session has${i?"":" not"} expired with margin of 90000s`),i){if(this.autoRefreshToken&&r.refresh_token){const{error:e}=await this._callRefreshToken(r.refresh_token);e&&(yB(e)||(this._debug(s,"refresh failed with a non-retryable error, removing the session",e),await this._removeSession()))}}else if(r.user&&!0===r.user.__isUserNotAvailableProxy)try{const{data:e,error:t}=await this._getUser(r.access_token);!t&&(null==e?void 0:e.user)?(r.user=e.user,await this._saveSession(r),await this._notifyAllSubscribers("SIGNED_IN",r)):this._debug(s,"could not get user data, skipping SIGNED_IN notification")}catch(a){this._debug(s,"error getting user data, skipping SIGNED_IN notification",a)}else await this._notifyAllSubscribers("SIGNED_IN",r)}catch(r){return void this._debug(s,"error",r)}finally{this._debug(s,"end")}}async _callRefreshToken(e){var t,s;if(!e)throw new hB;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const a=`#_callRefreshToken(${e.substring(0,5)}...)`;this._debug(a,"begin");try{this.refreshingDeferred=new _B;const{data:t,error:s}=await this._refreshAccessToken(e);if(s)throw s;if(!t.session)throw new hB;await this._saveSession(t.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",t.session);const a={data:t.session,error:null};return this.refreshingDeferred.resolve(a),a}catch(r){if(this._debug(a,"error",r),lB(r)){const e={data:null,error:r};return yB(r)||await this._removeSession(),null===(t=this.refreshingDeferred)||void 0===t||t.resolve(e),e}throw null===(s=this.refreshingDeferred)||void 0===s||s.reject(r),r}finally{this.refreshingDeferred=null,this._debug(a,"end")}}async _notifyAllSubscribers(e,t,s=!0){const a=`#_notifyAllSubscribers(${e})`;this._debug(a,"begin",t,`broadcast = ${s}`);try{this.broadcastChannel&&s&&this.broadcastChannel.postMessage({event:e,session:t});const a=[],r=Array.from(this.stateChangeEmitters.values()).map(async s=>{try{await s.callback(e,t)}catch(r){a.push(r)}});if(await Promise.all(r),a.length>0){for(let e=0;e<a.length;e+=1);throw a[0]}}finally{this._debug(a,"end")}}async _saveSession(e){this._debug("#_saveSession()",e),this.suppressGetSessionWarning=!0;const t=Object.assign({},e),s=t.user&&!0===t.user.__isUserNotAvailableProxy;if(this.userStorage){!s&&t.user&&await qB(this.userStorage,this.storageKey+"-user",{user:t.user});const e=Object.assign({},t);delete e.user;const a=$B(e);await qB(this.storage,this.storageKey,a)}else{const e=$B(t);await qB(this.storage,this.storageKey,e)}}async _removeSession(){this._debug("#_removeSession()"),await zB(this.storage,this.storageKey),await zB(this.storage,this.storageKey+"-code-verifier"),await zB(this.storage,this.storageKey+"-user"),this.userStorage&&await zB(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&TB()&&(null===window||void 0===window?void 0:window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const e=setInterval(()=>this._autoRefreshTokenTick(),tB);this.autoRefreshTicker=e,e&&"object"==typeof e&&"function"==typeof e.unref?e.unref():"undefined"!=typeof Deno&&"function"==typeof Deno.unrefTimer&&Deno.unrefTimer(e),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const t=Date.now();try{return await this._useSession(async e=>{const{data:{session:s}}=e;if(!s||!s.refresh_token||!s.expires_at)return void this._debug("#_autoRefreshTokenTick()","no session");const a=Math.floor((1e3*s.expires_at-t)/tB);this._debug("#_autoRefreshTokenTick()",`access token expires in ${a} ticks, a tick lasts 30000ms, refresh threshold is 3 ticks`),a<=3&&await this._callRefreshToken(s.refresh_token)})}catch(e){}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(!(e.isAcquireTimeout||e instanceof lG))throw e;this._debug("auto refresh token tick lock not available")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!TB()||!(null===window||void 0===window?void 0:window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),null===window||void 0===window||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){}}async _onVisibilityChanged(e){const t=`#_onVisibilityChanged(${e})`;this._debug(t,"visibilityState",document.visibilityState),"visible"===document.visibilityState?(this.autoRefreshToken&&this._startAutoRefresh(),e||(await this.initializePromise,await this._acquireLock(-1,async()=>{"visible"===document.visibilityState?await this._recoverAndRefresh():this._debug(t,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting")}))):"hidden"===document.visibilityState&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,s){const a=[`provider=${encodeURIComponent(t)}`];if((null==s?void 0:s.redirectTo)&&a.push(`redirect_to=${encodeURIComponent(s.redirectTo)}`),(null==s?void 0:s.scopes)&&a.push(`scopes=${encodeURIComponent(s.scopes)}`),"pkce"===this.flowType){const[e,t]=await HB(this.storage,this.storageKey),s=new URLSearchParams({code_challenge:`${encodeURIComponent(e)}`,code_challenge_method:`${encodeURIComponent(t)}`});a.push(s.toString())}if(null==s?void 0:s.queryParams){const e=new URLSearchParams(s.queryParams);a.push(e.toString())}return(null==s?void 0:s.skipBrowserRedirect)&&a.push(`skip_http_redirect=${s.skipBrowserRedirect}`),`${e}?${a.join("&")}`}async _unenroll(e){try{return await this._useSession(async t=>{var s;const{data:a,error:r}=t;return r?{data:null,error:r}:await ZB(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:null===(s=null==a?void 0:a.session)||void 0===s?void 0:s.access_token})})}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _enroll(e){try{return await this._useSession(async t=>{var s,a;const{data:r,error:i}=t;if(i)return{data:null,error:i};const n=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},"phone"===e.factorType?{phone:e.phone}:"totp"===e.factorType?{issuer:e.issuer}:{}),{data:o,error:l}=await ZB(this.fetch,"POST",`${this.url}/factors`,{body:n,headers:this.headers,jwt:null===(s=null==r?void 0:r.session)||void 0===s?void 0:s.access_token});return l?{data:null,error:l}:("totp"===e.factorType&&"totp"===o.type&&(null===(a=null==o?void 0:o.totp)||void 0===a?void 0:a.qr_code)&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`),{data:o,error:null})})}catch(t){if(lB(t))return{data:null,error:t};throw t}}async _verify(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async t=>{var s;const{data:a,error:r}=t;if(r)return{data:null,error:r};const i=Object.assign({challenge_id:e.challengeId},"webauthn"in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:"create"===e.webauthn.type?vG(e.webauthn.credential_response):jG(e.webauthn.credential_response)})}:{code:e.code}),{data:n,error:o}=await ZB(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:i,headers:this.headers,jwt:null===(s=null==a?void 0:a.session)||void 0===s?void 0:s.access_token});return o?{data:null,error:o}:(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+n.expires_in},n)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",n),{data:n,error:o})})}catch(t){if(lB(t))return{data:null,error:t};throw t}})}async _challenge(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async t=>{var s;const{data:a,error:r}=t;if(r)return{data:null,error:r};const i=await ZB(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:null===(s=null==a?void 0:a.session)||void 0===s?void 0:s.access_token});if(i.error)return i;const{data:n}=i;if("webauthn"!==n.type)return{data:n,error:null};switch(n.webauthn.type){case"create":return{data:Object.assign(Object.assign({},n),{webauthn:Object.assign(Object.assign({},n.webauthn),{credential_options:Object.assign(Object.assign({},n.webauthn.credential_options),{publicKey:yG(n.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},n),{webauthn:Object.assign(Object.assign({},n.webauthn),{credential_options:Object.assign(Object.assign({},n.webauthn.credential_options),{publicKey:bG(n.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(t){if(lB(t))return{data:null,error:t};throw t}})}async _challengeAndVerify(e){const{data:t,error:s}=await this._challenge({factorId:e.factorId});return s?{data:null,error:s}:await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){var e;const{data:{user:t},error:s}=await this.getUser();if(s)return{data:null,error:s};const a={all:[],phone:[],totp:[],webauthn:[]};for(const r of null!==(e=null==t?void 0:t.factors)&&void 0!==e?e:[])a.all.push(r),"verified"===r.status&&a[r.factor_type].push(r);return{data:a,error:null}}async _getAuthenticatorAssuranceLevel(){return this._acquireLock(-1,async()=>await this._useSession(async e=>{var t,s;const{data:{session:a},error:r}=e;if(r)return{data:null,error:r};if(!a)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:i}=LB(a.access_token);let n=null;i.aal&&(n=i.aal);let o=n;(null!==(s=null===(t=a.user.factors)||void 0===t?void 0:t.filter(e=>"verified"===e.status))&&void 0!==s?s:[]).length>0&&(o="aal2");return{data:{currentLevel:n,nextLevel:o,currentAuthenticationMethods:i.amr||[]},error:null}}))}async fetchJwk(e,t={keys:[]}){let s=t.keys.find(t=>t.kid===e);if(s)return s;const a=Date.now();if(s=this.jwks.keys.find(t=>t.kid===e),s&&this.jwks_cached_at+6e5>a)return s;const{data:r,error:i}=await ZB(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(i)throw i;return r.keys&&0!==r.keys.length?(this.jwks=r,this.jwks_cached_at=a,s=r.keys.find(t=>t.kid===e),s||null):null}async getClaims(e,t={}){try{let s=e;if(!s){const{data:e,error:t}=await this.getSession();if(t||!e.session)return{data:null,error:t};s=e.session.access_token}const{header:a,payload:r,signature:i,raw:{header:n,payload:o}}=LB(s);(null==t?void 0:t.allowExpired)||function(e){if(!e)throw new Error("Missing exp claim");if(e<=Math.floor(Date.now()/1e3))throw new Error("JWT has expired")}(r.exp);const l=a.alg&&!a.alg.startsWith("HS")&&a.kid&&"crypto"in globalThis&&"subtle"in globalThis.crypto?await this.fetchJwk(a.kid,(null==t?void 0:t.keys)?{keys:t.keys}:null==t?void 0:t.jwks):null;if(!l){const{error:e}=await this.getUser(s);if(e)throw e;return{data:{claims:r,header:a,signature:i},error:null}}const d=function(e){switch(e){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}(a.alg),c=await crypto.subtle.importKey("jwk",l,d,!0,["verify"]);if(!(await crypto.subtle.verify(d,c,i,IB(`${n}.${o}`))))throw new vB("Invalid JWT signature");return{data:{claims:r,header:a,signature:i},error:null}}catch(s){if(lB(s))return{data:null,error:s};throw s}}}TG.nextInstanceID=0;const RG=TG;class OG extends RG{constructor(e){super(e)}}class DG{constructor(e,t,s){var a,r,i;this.supabaseUrl=e,this.supabaseKey=t;const n=function(e){const t=null==e?void 0:e.trim();if(!t)throw new Error("supabaseUrl is required.");if(!t.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL((s=t).endsWith("/")?s:s+"/")}catch(a){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}var s}(e);if(!t)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",n),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",n),this.storageUrl=new URL("storage/v1",n),this.functionsUrl=new URL("functions/v1",n);const o=`sb-${n.hostname.split(".")[0]}-auth-token`,l=function(e,t){var s,a;const{db:r,auth:i,realtime:n,global:o}=e,{db:l,auth:d,realtime:c,global:m}=t,h={db:Object.assign(Object.assign({},l),r),auth:Object.assign(Object.assign({},d),i),realtime:Object.assign(Object.assign({},c),n),storage:{},global:Object.assign(Object.assign(Object.assign({},m),o),{headers:Object.assign(Object.assign({},null!==(s=null==m?void 0:m.headers)&&void 0!==s?s:{}),null!==(a=null==o?void 0:o.headers)&&void 0!==a?a:{})}),accessToken:async()=>""};return e.accessToken?h.accessToken=e.accessToken:delete h.accessToken,h}(null!=s?s:{},{db:QV,realtime:JV,auth:Object.assign(Object.assign({},ZV),{storageKey:o}),global:KV});this.storageKey=null!==(a=l.auth.storageKey)&&void 0!==a?a:"",this.headers=null!==(r=l.global.headers)&&void 0!==r?r:{},l.accessToken?(this.accessToken=l.accessToken,this.auth=new Proxy({},{get:(e,t)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(t)} is not possible`)}})):this.auth=this._initSupabaseAuthClient(null!==(i=l.auth)&&void 0!==i?i:{},this.headers,l.global.fetch),this.fetch=XV(t,this._getAccessToken.bind(this),l.global.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers,accessToken:this._getAccessToken.bind(this)},l.realtime)),this.rest=new mH(new URL("rest/v1",n).href,{headers:this.headers,schema:l.db.schema,fetch:this.fetch}),this.storage=new $V(this.storageUrl.href,this.headers,this.fetch,null==s?void 0:s.storage),l.accessToken||this._listenForAuthEvents()}get functions(){return new NW(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},s={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,s)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var e,t;if(this.accessToken)return await this.accessToken();const{data:s}=await this.auth.getSession();return null!==(t=null===(e=s.session)||void 0===e?void 0:e.access_token)&&void 0!==t?t:this.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:a,userStorage:r,storageKey:i,flowType:n,lock:o,debug:l},d,c){const m={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new OG({url:this.authUrl.href,headers:Object.assign(Object.assign({},m),d),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:a,userStorage:r,flowType:n,lock:o,debug:l,fetch:c,hasCustomAuthorizationHeader:Object.keys(this.headers).some(e=>"authorization"===e.toLowerCase())})}_initRealtimeClient(e){return new rV(this.realtimeUrl.href,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},null==e?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",null==t?void 0:t.access_token)})}_handleTokenChanged(e,t,s){"TOKEN_REFRESHED"!==e&&"SIGNED_IN"!==e||this.changedAccessToken===s?"SIGNED_OUT"===e&&(this.realtime.setAuth(),"STORAGE"==t&&this.auth.signOut(),this.changedAccessToken=void 0):(this.changedAccessToken=s,this.realtime.setAuth(s))}}!function(){if("undefined"!=typeof window)return!1;if("undefined"==typeof process)return!1;const e=process.version;if(null==e)return!1;const t=e.match(/^v(\d+)\./);!!t&&parseInt(t[1],10)}();const qG=(EG={auth:{storage:localStorage,persistSession:!0,autoRefreshToken:!0}},new DG("https://zivvkvoaqggapqnpxtcs.supabase.co","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InppdnZrdm9hcWdnYXBxbnB4dGNzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjE3ODE4NTIsImV4cCI6MjA3NzM1Nzg1Mn0.ZQ5S4uGnt2sJolruezkf3G5PxQL-8dfwb9tMEMAd-Js",EG));var EG;const zG="/assets/amex-logo-NMAdbQ7R.png",_G="/assets/bmc-logo-2jzedfbA.png",LG="/assets/ge-logo-vy1X7H0d.png",FG="/assets/novell-logo--1Ty88up.png",WG=kF({name:vF().min(2,"Name must be at least 2 characters").max(100,"Name must be less than 100 characters").regex(/^[a-zA-Z\s\-'.]+$/,"Name contains invalid characters"),email:vF().email("Please enter a valid business email").max(255,"Email must be less than 255 characters").refine(e=>{const t=e.split("@")[1]?.toLowerCase();return!["gmail.com","yahoo.com","hotmail.com","outlook.com","aol.com","icloud.com"].includes(t)},{message:"Please use your business email address"}),company:vF().min(2,"Company name is required").max(200,"Company name must be less than 200 characters"),phone:vF().max(50,"Phone number is too long").optional().or(SF("")),message:vF().max(1e3,"Message must be less than 1000 characters").optional().or(SF("")),intent:CF(["demo","architect","inquiry"],{required_error:"Please select what you're looking for"})}),HG={demo:{label:"Request a Demo",description:"See our platform capabilities in action",icon:oo},architect:{label:"Talk to an Architect",description:"Discuss your technical requirements",icon:GI},inquiry:{label:"General Inquiry",description:"Ask a question or explore options",icon:Mb}},VG=[{src:LG,alt:"GE",width:48},{src:zG,alt:"American Express",width:56},{src:_G,alt:"BMC Software",width:48},{src:FG,alt:"Novell",width:52}];function BG({open:e,onOpenChange:t,defaultIntent:s="demo",context:a={}}){const{toast:r}=kt(),[i,n]=Qe.useState(!1),[o,l]=Qe.useState(!1),{register:d,handleSubmit:c,reset:m,setValue:h,watch:x,formState:{errors:u}}=D_({resolver:V_(WG),defaultValues:{intent:s}}),p=x("intent");Qe.useEffect(()=>{h("intent",s)},[s,h]),Qe.useEffect(()=>{e&&BO("demo_modal_open",{intent:s,source_page:a.sourcePage||window.location.pathname,source_button:a.sourceButton||"unknown",service_context:a.serviceContext,product_context:a.productContext,industry_context:a.industryContext})},[e,s,a]);const g=()=>{t(!1),setTimeout(()=>{m({intent:s}),l(!1)},300)};return o?J.jsx(IF,{open:e,onOpenChange:g,children:J.jsx(OF,{className:"sm:max-w-md",children:J.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[J.jsx("div",{className:"rounded-full bg-green-100 p-3 mb-4",children:J.jsx(Rl,{className:"h-8 w-8 text-green-600"})}),J.jsx(qF,{className:"text-xl mb-2",children:"Request Received"}),J.jsx(EF,{className:"text-base",children:"Thank you for your interest. A member of our team will reach out within 1 business day."})]})})}):J.jsx(IF,{open:e,onOpenChange:g,children:J.jsxs(OF,{className:"sm:max-w-xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{className:"text-xl",children:"Let's Start a Conversation"}),J.jsx(EF,{children:"Tell us about your needs and we'll connect you with the right team."})]}),J.jsxs("form",{onSubmit:c(async e=>{n(!0);try{const t=FO(),s={name:e.name.trim(),email:e.email.trim().toLowerCase(),company:e.company.trim(),phone:e.phone?.trim()||null,message:e.message?.trim()||null,intent:e.intent,intentLabel:HG[e.intent].label,sourcePage:a.sourcePage||window.location.pathname,sourceButton:a.sourceButton||"unknown",serviceContext:a.serviceContext||null,productContext:a.productContext||null,industryContext:a.industryContext||null,resourceContext:a.resourceContext||null,utmSource:t.utm_source||null,utmMedium:t.utm_medium||null,utmCampaign:t.utm_campaign||null,userAgent:navigator.userAgent,referrer:document.referrer||null},{error:i}=await qG.functions.invoke("demo-request",{body:s});if(i)throw i;BO("demo_form_submit",{intent:e.intent,intent_label:HG[e.intent].label,source_page:a.sourcePage||window.location.pathname,source_button:a.sourceButton||"unknown",service_context:a.serviceContext,product_context:a.productContext,industry_context:a.industryContext,has_phone:!!e.phone,has_message:!!e.message,status:"success"}),l(!0),r({title:"Request received",description:"We'll be in touch within 1 business day."}),setTimeout(()=>{g()},2500)}catch(t){BO("demo_form_submit",{intent:e.intent,source_page:a.sourcePage||window.location.pathname,status:"error",error_message:t instanceof Error?t.message:"Unknown error"}),r({title:"Request failed",description:"Please try again or email sales@allerin.com directly.",variant:"destructive"})}finally{n(!1)}}),className:"space-y-5 mt-4",children:[J.jsxs("div",{className:"space-y-3",children:[J.jsxs(HF,{className:"text-sm font-medium",children:["What are you looking for? ",J.jsx("span",{className:"text-destructive",children:"*"})]}),J.jsx(uW,{value:p,onValueChange:e=>h("intent",e),className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:Object.keys(HG).map(e=>{const t=HG[e],s=t.icon,a=p===e;return J.jsxs("label",{className:`\n                      relative flex flex-col items-center p-4 rounded-lg border-2 cursor-pointer transition-all\n                      ${a?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}\n                    `,children:[J.jsx(pW,{value:e,id:`intent-${e}`,className:"sr-only"}),J.jsx(s,{className:"h-6 w-6 mb-2 "+(a?"text-primary":"text-muted-foreground")}),J.jsx("span",{className:"text-sm font-medium text-center "+(a?"text-primary":""),children:t.label}),J.jsx("span",{className:"text-xs text-muted-foreground text-center mt-1 hidden sm:block",children:t.description})]},e)})}),u.intent&&J.jsx("p",{className:"text-sm text-destructive",children:u.intent.message})]}),J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsxs(HF,{htmlFor:"demo-name",children:["Full Name ",J.jsx("span",{className:"text-destructive",children:"*"})]}),J.jsx(zF,{id:"demo-name",placeholder:"Jane Smith",autoComplete:"name",...d("name"),className:u.name?"border-destructive":""}),u.name&&J.jsx("p",{className:"text-sm text-destructive",children:u.name.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs(HF,{htmlFor:"demo-email",children:["Business Email ",J.jsx("span",{className:"text-destructive",children:"*"})]}),J.jsx(zF,{id:"demo-email",type:"email",placeholder:"jane@company.com",autoComplete:"email",...d("email"),className:u.email?"border-destructive":""}),u.email&&J.jsx("p",{className:"text-sm text-destructive",children:u.email.message})]})]}),J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsxs(HF,{htmlFor:"demo-company",children:["Company ",J.jsx("span",{className:"text-destructive",children:"*"})]}),J.jsx(zF,{id:"demo-company",placeholder:"Acme Corporation",autoComplete:"organization",...d("company"),className:u.company?"border-destructive":""}),u.company&&J.jsx("p",{className:"text-sm text-destructive",children:u.company.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"demo-phone",children:"Phone (Optional)"}),J.jsx(zF,{id:"demo-phone",type:"tel",placeholder:"+1 (555) 123-4567",autoComplete:"tel",...d("phone")})]})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"demo-message",children:"Tell us about your project (Optional)"}),J.jsx(_F,{id:"demo-message",placeholder:"What challenges are you looking to solve? Any specific timeline or requirements?",rows:3,...d("message"),className:"resize-none"})]}),J.jsxs("div",{className:"pt-2 border-t border-border",children:[J.jsx("p",{className:"text-xs text-muted-foreground text-center mb-3",children:"Trusted by engineering leaders at Fortune 500 companies"}),J.jsx("div",{className:"flex items-center justify-center gap-6 opacity-60",children:VG.map(e=>J.jsx("img",{src:e.src,alt:e.alt,width:e.width,height:24,className:"h-6 w-auto object-contain grayscale",loading:"lazy",style:{aspectRatio:`${e.width}/24`}},e.alt))})]}),J.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[J.jsx(oz,{type:"button",variant:"outline",onClick:g,children:"Cancel"}),J.jsx(oz,{type:"submit",disabled:i,children:i?J.jsxs(J.Fragment,{children:[J.jsx(ay,{className:"mr-2 h-4 w-4 animate-spin"}),"Submitting..."]}):J.jsxs(J.Fragment,{children:[J.jsx(Ik,{className:"mr-2 h-4 w-4"}),"Submit Request"]})})]}),J.jsxs("p",{className:"text-xs text-muted-foreground text-center",children:["By submitting, you agree to our"," ",J.jsx("a",{href:"/privacy-policy",className:"underline hover:no-underline",children:"Privacy Policy"}),". We'll never share your information."]})]})]})})}const GG=[{name:"Products & Solutions",href:"/products",hasDropdown:!0,items:[{name:"Products",href:"/products"},{name:"Solutions",href:"/solutions"}]},{name:"Services",href:"/services"},{name:"Industries",href:"/industries"},{name:"Resources",href:"/resources"},{name:"Blog",href:"https://www.allerin.com/blog",isExternal:!0},{name:"Company",href:"#company",hasDropdown:!0,items:[{name:"About",href:"/company"},{name:"Trust Center",href:"/trust"}]},{name:"ROI Calculator",href:"/roi-calculator",isPill:!0}],UG=()=>{const[e,t]=Qe.useState(!1),[s,a]=Qe.useState(!1),r=e=>{!function(e){BO("nav_click",{item:e})}(e)},i=()=>{GO({source:"header"}),a(!0)};return J.jsxs(J.Fragment,{children:[J.jsx("a",{href:"#main",className:"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-primary focus:text-primary-foreground focus:rounded-md focus:outline-none focus:ring-2 focus:ring-ring",children:"Skip to content"}),J.jsx("header",{className:"sticky top-0 z-50 clean-card backdrop-blur-md border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"flex items-center justify-between h-16",children:[J.jsx("div",{className:"flex items-center",children:J.jsx(tt,{to:"/",onClick:()=>r("logo"),children:J.jsx("img",{src:lz,alt:"Allerin",className:"h-8 w-auto",width:120,height:32,fetchPriority:"high"})})}),J.jsx("nav",{className:"hidden lg:flex items-center space-x-6",children:GG.map(e=>e.isPill?J.jsxs(pz,{children:[J.jsxs(gz,{className:"px-4 py-2 rounded-full border border-data-teal/30 text-sm font-medium text-foreground hover:border-data-teal/50 hover:bg-data-teal/5 transition-all inline-flex items-center gap-1 focus:outline-none focus:ring-2 focus:ring-ring",children:[e.name,J.jsx(al,{className:"h-3 w-3"})]}),J.jsxs(fz,{align:"end",children:[J.jsx(yz,{asChild:!0,children:J.jsx(tt,{to:"/roi-calculator",className:"cursor-pointer",onClick:()=>r("roi_quick"),children:"Quick Estimate"})}),J.jsx(yz,{asChild:!0,children:J.jsx(tt,{to:"/outcomes",className:"cursor-pointer",onClick:()=>r("roi_discovery"),children:"Outcome Discovery Engine"})})]})]},e.name):e.hasDropdown&&e.items?J.jsxs(pz,{children:[J.jsxs(gz,{className:"text-foreground hover:text-data-teal transition-colors font-medium data-accent focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2 min-h-[44px] inline-flex items-center gap-1",children:[e.name,J.jsx(al,{className:"h-3 w-3"})]}),J.jsx(fz,{align:"start",children:e.items.map(e=>J.jsx(yz,{asChild:!0,children:J.jsx(tt,{to:e.href,className:"cursor-pointer",onClick:()=>r(e.name.toLowerCase()),children:e.name})},e.name))})]},e.name):"isExternal"in e&&e.isExternal?J.jsx("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",onClick:()=>r(e.name.toLowerCase()),className:"text-foreground hover:text-data-teal transition-colors font-medium data-accent focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2 min-h-[44px] inline-flex items-center",children:e.name},e.name):e.href.startsWith("#")?J.jsx("a",{href:e.href,onClick:()=>r(e.name.toLowerCase().replace(" & ","_").replace(" ","_")),className:"text-foreground hover:text-data-teal transition-colors font-medium data-accent focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2 min-h-[44px] inline-flex items-center",children:e.name},e.name):J.jsx(tt,{to:e.href,onClick:()=>r(e.name.toLowerCase().replace(" & ","_").replace(" ","_")),className:"text-foreground hover:text-data-teal transition-colors font-medium data-accent focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2 min-h-[44px] inline-flex items-center",children:e.name},e.name))}),J.jsxs("div",{className:"hidden lg:flex items-center gap-3",children:[J.jsx(oz,{variant:"outline",className:"clean-card border-data-teal/30 hover:border-data-teal/50 hover:bg-data-teal/5 focus:outline-none focus:ring-2 focus:ring-ring min-h-[44px] min-w-[44px]",asChild:!0,children:J.jsx(tt,{to:"/contact",children:"Contact"})}),J.jsx(oz,{onClick:i,"aria-label":"Request a demo",className:"data-accent bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue focus:outline-none focus:ring-2 focus:ring-ring min-h-[44px] min-w-[44px]",children:"Request Demo"})]}),J.jsxs(dz,{open:e,onOpenChange:t,children:[J.jsx(cz,{asChild:!0,className:"lg:hidden",children:J.jsx(oz,{variant:"ghost",size:"sm",className:"focus:outline-none focus:ring-2 focus:ring-ring",children:e?J.jsx(BP,{className:"h-6 w-6"}):J.jsx(Zy,{className:"h-6 w-6"})})}),J.jsxs(uz,{side:"right",className:"w-[300px] sm:w-[400px] flex flex-col",children:[J.jsxs("nav",{className:"flex-1 space-y-4 pt-6",children:[GG.map(e=>e.hasDropdown&&e.items?J.jsxs("div",{children:[J.jsx("div",{className:"block text-foreground font-semibold py-2 px-4",children:e.name}),e.items.map(e=>J.jsx(tt,{to:e.href,className:"block text-muted-foreground hover:text-data-teal transition-colors py-2 px-6 rounded hover:bg-surface/50",onClick:()=>{r(e.name.toLowerCase()),t(!1)},children:e.name},e.name))]},e.name):e.href.startsWith("#")?J.jsx("a",{href:e.href,className:"block text-foreground hover:text-data-teal transition-colors font-medium py-2 px-4 rounded hover:bg-surface/50",onClick:()=>{r(e.name.toLowerCase().replace(" & ","_").replace(" ","_")),t(!1)},children:e.name},e.name):J.jsx(tt,{to:e.href,className:"block text-foreground hover:text-data-teal transition-colors font-medium py-2 px-4 rounded hover:bg-surface/50",onClick:()=>{r(e.name.toLowerCase().replace(" & ","_").replace(" ","_")),t(!1)},children:e.name},e.name)),J.jsx("div",{className:"pt-4 px-4",children:J.jsx(oz,{variant:"outline",className:"w-full mb-3 clean-card border-data-teal/30",asChild:!0,children:J.jsx(tt,{to:"/contact",onClick:()=>t(!1),children:"Contact"})})})]}),J.jsx("div",{className:"border-t border-outline/20 pt-4",children:J.jsx(oz,{onClick:()=>{i(),t(!1)},className:"w-full data-accent bg-gradient-to-r from-data-orange to-data-teal h-12 text-base font-semibold",children:"Request Demo"})})]})]})]})})}),J.jsx(BG,{open:s,onOpenChange:a,defaultIntent:"demo",context:{sourcePage:window.location.pathname,sourceButton:"header_request_demo"}})]})},$G=[{label:"Startups",href:"/industries#startups"},{label:"Enterprise",href:"/industries#enterprise"},{label:"Public Sector",href:"/industries#public"}],YG=["First value 4–8 weeks","Rollback <10 min","Secured & audited"],KG=()=>{const[e,t]=Qe.useState(!1),[s,a]=Qe.useState("demo");return J.jsxs("section",{id:"main",role:"main","aria-label":"Hero section",className:"relative min-h-screen flex items-center justify-center py-section-y bg-gradient-hero",children:[J.jsx("div",{className:"absolute inset-0 bg-gradient-hero bg-cover bg-center bg-no-repeat",style:{backgroundImage:"var(--gradient-hero)",zIndex:0},"aria-hidden":"true"}),J.jsx("div",{className:"container relative z-10",children:J.jsxs("div",{className:"max-w-5xl mx-auto text-center",children:[J.jsx("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-bold leading-[1.1] text-foreground mb-xl",children:"Ship production AI faster."}),J.jsx("p",{className:"text-lg md:text-xl lg:text-2xl text-muted-foreground leading-[1.5] max-w-4xl mx-auto mb-xl",children:"Agentic systems, computer vision, and analytics shipped with KPI gates and reversible rollouts—for startups, enterprise, and public agencies."}),J.jsx("div",{className:"flex flex-wrap justify-center gap-lg md:gap-xl mb-2xl text-sm text-muted-foreground",children:YG.map(e=>J.jsx("span",{className:"inline-flex items-center",children:e},e))}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-lg justify-center items-center mb-xl",children:[J.jsx(oz,{onClick:()=>{GO({source:"hero"}),a("demo"),t(!0)},size:"lg",className:"h-12 px-8 text-base font-semibold bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2","data-analytics-event":"request_demo_click","data-analytics-props":'{"source":"hero"}',children:"Request Demo"}),J.jsx(oz,{variant:"outline",size:"lg",onClick:()=>{GO({source:"hero_architect"}),a("architect"),t(!0)},className:"h-12 px-8 text-base font-semibold clean-card border-data-teal/30 hover:border-data-teal/50 hover:bg-data-teal/5 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2","data-analytics-event":"contact_open","data-analytics-props":'{"source":"hero_architect"}',children:"Talk to an Architect"})]}),J.jsx("div",{className:"mb-2xl",children:J.jsxs(tt,{to:"/roi-calculator",className:"inline-flex items-center text-sm font-medium text-secondary hover:text-secondary/70 hover:underline focus:underline transition-colors group focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2 min-h-[44px]",children:["Estimate ROI",J.jsx(Ka,{className:"ml-1 w-4 h-4 group-hover:translate-x-1 transition-transform"})]})}),J.jsx("div",{className:"flex flex-col sm:flex-row flex-wrap justify-center gap-sm",children:$G.map(e=>J.jsx("a",{href:e.href,className:"inline-flex items-center justify-center px-4 py-2 rounded-full bg-surface/50 border border-outline/30 text-sm font-medium text-muted-foreground hover:text-foreground hover:border-data-teal/40 hover:bg-surface transition-all focus:outline-none focus:ring-2 focus:ring-ring min-h-[44px]","data-analytics-event":"nav_click","data-analytics-props":JSON.stringify({item:`audience_${e.label.toLowerCase().replace(" ","_")}`}),children:e.label},e.label))})]})}),J.jsx(BG,{open:e,onOpenChange:t,defaultIntent:s,context:{sourcePage:"/",sourceButton:"demo"===s?"hero_request_demo":"hero_talk_architect"}})]})},QG=[{name:"American Express",logo:"data:image/webp;base64,UklGRjgKAABXRUJQVlA4WAoAAAAQAAAAfwAAfgAAQUxQSEMAAAABT6CobSOGP9eu900aERFfbSR3hIJIUhskIAEPGEACEiIhEt5DZPeeiP5PAOWO77/xF7ML2WH6eHaSHWdn2eH9SXNPAFZQOCDOCQAAcCoAnQEqgAB/AD6RQJxJpaOioSmV6iCwEglmAJWX+q9cRZDzn2Ne7RZ3bV6aIu9gT1Afm72APKB/Pv2G9z/9P/znqA/an1c/QT+zH4Z/IB/aPSL/2PsAf2z/tewB5Yfsgf2z/k+mF/////e5H33wV8Zvt/259VvGH0w6kfXP+n/r3nn/tPyK81dqzeSQBfWD0PZlOCH+oeMj4Kfl/sAfzr/F+gxno+s+Bn+3pkSrORfS3ZAVeLm3HKXT9IxkPv1MUkVzvQ8tFE1/VZQcO9HyzrXIACRQh8xGfbgkOMgnEuRC4ROxqEZaTV4T1D1oPMyWOUaqVS/z6yGP/+OpAOguVEfq0vTwgkPnlZA5iLwIvN7BKHdvjqBZfnxCwhiXZrxtocJRbyaGMMzT4E63F2Xsv70IzUkOVGY3yOUhlOTbNpaB5fQkJXsLXZuGEy2iUL0uN1ALvZ1I0QwOL0gAAP7u09/0gn/iCf+IJ+yr/58n/j39le8gAAAWPueXesCM83GaFUwsubo4AaFbxQnktCrYh6yRg18IgdKCMX4c0+PsVO06hm1E5vtuaLd+4QaP47IKJx24nAlm1FkFg6o8FGUy+Z48n/lfsLxpUwSfIRfDSzNelf9Erbxh5HwNWbuz5lW4PUgxoi41EUQ77vuOk6XzecfFmZIzwakSmzvq4pndlj/bMfAgQTg6XWMTse1yrv8cHIS43328Aij1as468VsvdpxMMtZMsWi4Cjkl+FGst1fUbOKyBzXzU3elJkudpa58KQlE4z61Gp+S6Rf4DI/4Rnb+NprfI8FwO8qtGKihFyzeU89/jEIUvgroeuoU7seplN2Pm3jI4gg+V2QgQrF6r+5XP3UmUPbiboxNhExnrQtpcpnOc7zq3gmaQDAg9+LZkKpN3FC5dkr7fxvS1DqlbGnmlpYy5QhGs7HaiDErsz+8V+KsoKHTlwXoiKuQMHtSxWbsvXb7ijxrCuq+CVQSYH3XgK/+GeQNaj4hTnybxb4ybizvlWJonTK56ROL9OXpBt5iOUwXIxuDC6VaeAvZsbruxR1C5cnm7EzR+jbW0wMfomX67z2yzuso7hA6ycXZ1GHdE7OJsfv0sEP+XO7rAoTcENI31swCUQkEWmXd7GPUiTfx5ByzS14OnZ9CCUx3lxYXkfVRKh2IHLKYLIAtme8PHo/XHZ28YLGpdK8mr+DU2OkYaTjO59tFx9CSemhl0W1EEYvoGIOSWpGaNdx18o7RWRRB7Amizwv0R2LSBci1qIYwmmHdKI6W11o2Gme+8iCttVCh9S0RWfa9cspx8xjcLPYJ3vHUgD+rptJT9aSH9LRmeATx1wQp9wK4qBfB6VVtXDXkyPq5N4il0h6U0BSimPkqANiMZP6mdRsvOlV8zIF6mguISPNaLtR3akEZpraP4FMcx0NYZLF0pNPrUnZBD6ciSAe0qryQb7xi7GMS6iadyJE+vNZsodmn5U+yLk8wuXgeb0LhfzzZT3DfKRQWSvV7tUl5nvPilpCn30C+iozCJc8YqX0FX4Lfed86cxCVom+BJbLq+cp2civtrS9mUs+A8qhNowkH6Apg83oOhZs9d4WJkOSWHU0V63Qju2LBnq80Ev0H+N1M/XBM4Rxoy9shlDyn8543lfvktKv8aVODwqkpIjyIZT7RLiLxRZ1NUbzOgNN4gl+VuVKkVPDP1neio9r7DaNyGPiZ6erSI/cZblgdckojLfsgewr8nRr/QXoazMkj2n2XFfE/JIrVm6IiQEOFB5txdQYiItodO348sVQEH9k8K//c8/ExS+zp9sty1+DQwPJp/wxhbrmVcR7K3WRkq9zToGqLzkAYlWBlj1Dq2b+whUORURgtjTnsaGbruHov4PlNIKSHGkPOzE/P8nREStCJYemJVbfuqu7wWDEtmImlj89foLHpt6zrzfdEP4ZsVCVzrHlT3U0sdqNSEmPgEmLnlzmHHeEzCj6Hd5Fq0O/N/Mij7EPq2RWjjIE1vqOVSNcqcGj0CQE9aT1cwVGTlrvJhcxkseNVE3v1ui5UeRHv1s/PsIKjHL32l4cnWSur2z0HySbEvICtt5hProsq4F58xggIM3HIF8IJ8vi7WU0gCGezDHEDz7SLOA/hOnWMLOvNzwMc155YaHXqo6gbzwDNUGhqWX+tmeeagImVJmPz8OEnOo53WfJ8x0YJ3yhPkBOnLL4snDLshdDUH7AiK63FKVekgw5ZVRxv63kFky8Gj0fR7/FJpnCSSv7OsAamKhALvBRMsovGiquvAf5ClZmMUqTaf+hKgn/GoU2OW8ZY/Uf9+Q3mGV0Y/SlsfsG2lzRM0gbY6cbhB0l/leXqhNk1ECtAuYO0sRmDkU6lDXMx0McsxqK8C32LLvk68+qpVKmIeRkLcjPzRipay/v0jwJuK6JbfjjeT7FRQFgSvCQ8/CadeR8BYqKMVxKH++v0DMX8aZxQO/bDd0uTZbsWGhVFnoPpP6rgmJhts70PKmHn1Qh4zIIwrXMNUnaTojpuDpEaPusqfYlpZr1kDUMw5xkYK9I7KRSIZ/AuPaUbrMJyS4jzobm9Cm/zE8yA7Do/54B73sAaTK1AOkpU0LPiqjvSAY6PQTPimN/Cs0tUKa2VnL6yv0saMm+Wmne7yUE6ZYS0UBdHJ1ZHswFDlecz56d8iRrupDMHVVd5O8dIWc7aLpAgjkxvVrqtHPEhqLT+jS333DyTFDaGP/bFQKnsBXtbLdswdL15GxiFGUvj/MdrSDkE7lslf1P+oNcLCb2x+TXvhNk9qGnwaBys8mf+fd3xUqlBv6uQyP22fg2m98V6fIKPSgYl8bWMgRVhzeyjFjx/y1aYldYBV704fQTrBYIJFH9NMIYknJBku7AnNKUyQtZn8ocm7Cz3YS28PrBpI36tCYpq0cLJpgmk/VmiMUHZbcfp2iGKj2/vI37tf7vCIWFDVjcYulAaMmfE9OncDjcacsqdrNrJEunY1FWQTeL0tdWGQJGFN4HjJpR9AbjfkaBn9W/2GM04f9pQ44Q969ODTo2uRlQJ9QyX8KDQhJaMV1klkBD3B5T4CuZSjVPyyxisJIIkdmISRAK+LE+V6sHq+GE925IpFUcJrv0wXCRXa0VUpgUSuVXqHJe5q5fmS0za/xZCfCcRP2wBYAGZPUcfNwsVq9n+pAih5ge86/BH1+jy1rouRzJkScvB+9JEyR3nOS5XfZ0Kn2Y2ZhRo6ODlAzuUkZe47MYuk8RwuG2B/cR/veWaoDPjSqs9nhH/p5cEMtXu/rqbUCKDyoT+4rrBFgPE4zdLUf9oQM0UEYQSgNjEzCBjwQe31XGMAvx6yZeebukBqNG79yUM7QAAAAAAAAA=",loading:"eager"},{name:"BMC Software",logo:"data:image/webp;base64,UklGRvIFAABXRUJQVlA4IOYFAACwHwCdASqAAIAAPm02l0ekIyIhKBYJAIANiWgA11ls/wGm1dJ/Jn2J6T/Jvvf/SvYBzGcjeV74t+l/8v7gPpn6APMA/RP/Sf0j+89gD+J+gD+V/6L0Sf1N90f+v9QD/JeaB7BnoAeEZ8GP7g+iV//85D6hVexv369G+twU/s9Y0zDvI1ljqFwoOpWaXl80A0R3xQfORWBr+fK1FpLJDZRjX8h1LFQCa+xbJi1RtNAWOKHrXQ0c6y1AEHTGZr68hBT6C/Du733FIlP3ordkGz2Kr9kneNoE81Ot/oIVV6lLWFyjcxOdDvm9qarTpnOhb/DMNvCjKt8VR7H044jzgLoLhS6xsWvAAP79wIATGnDM/XF/2qLqk1Il3B/KyKU/Ahr4ys/A1szLPcDOaPDn9gpfmOxbL/VbBPYA/GEeQmcQbQss6fSW33+DKyVnGKE182s+TuZEunxXPW3TFZPOS5nbyOjmZHExw7vYeCrG9PiFoceZauOwgJW9ZjDg/wIOZ4ZLIxdMNPtdsPgzNnpLsoMB8d8/Ah5fcxcljHck01donQTMoIgWbPjpkKejAaMvIgnkxoAHQLadIpIRCGwwSn5q19mb3bfhuF7DYNLjCGpNcV+Ez/0P2JzvRuayEya5GUJgmiUvNL3w4vi8TapxnBYCeqEIvCKxQmR81h/qppGt2ShmlmhywxRo21tDedCFnjP7MQ/UzKBSkr8Bo0w1W6eWws85EXwHKVuu8av6sxGCxMkLoKX9X1cnimgvyI1l+yXluQlt67Dt3s+VzYvsPuh+5ls6lNJYA1zLv/G6e7KLtOFioUBf6PGMFNhFzM0Up49p5OBjlLRQGMgsDSBFRf4VWgnUIhFdT3d6eUoz0pBTJmT7mzNwa1mt4ZoIbkFRwqr/cNQkvBLM4FhGCsC93GNBnR5p1+5YwWLV9YUFKCmOVzjb3JMy39M4CeT7tnahwxnghfnDAJL+z4Bf4+r3E+Nly2IYb5xeCZ5AjkkeKox0h1NauPZmgxi74C9WWTuETPNfm1VfT+qyCdvGxan6S/lyCPS4pcoEPMhW07/hsOeOQ62Nq/dCkDoUUybYzmTrBPDnHrtP3OC6/2jiaaoPGEfTOBgRenddVo0gkL0R9ZGjSq/+w5RgJ1FRKqVL8Ya15YvCf3j8Lyy/jLbDUC2SgyRI+hrzMtTna8CLgq/nKsQPc+MVWfUJpWK39DlBw1PwUVlGUmDZE98d9W5BFuseiR/bxOlDpt8tG0bcg62TaFi3Nf1LXCh0vFU8UXVOxPln4QxqWVxkEK4fjttpsVct+QP4uNBlPrP6aDbZcNdQr9TEOPzjqfLRo3U3zjB5pQ4VaNSMJkOUh+s34bx1RYEeOPYDZxwb34JX48fbE9MiqnukZS9dV5MMIaJVfEO2HXzj077MbvRYpz6QrUumv8ayEYsZJR3idJ4ldPgCXEhgmNC+1yUOOUQVbql6dAEiEyrqhZ2mTNm6O9uRIfU4P7fx2pGcOD/Ji6e9zqo1yiQRontPLP3RVdXwd6g4eOK3wFHfT/hlb1wsIzgtCdTUcIvYc6ABOSfNPUbCTdrAD1A1n8wR1wK+TeJGSQpupUwEf0nKjh1uGC2g783lMV14g1OyQBbFa47gDVesjTLhe0Hp6AnpdzKUUFTdi9Gjx7tvw2y6W2rAi/8Xnfx2fBGtYNF8p52Rf+7udjn+RVvVg+Tzdi2aRznSrTi36mwngfvk7QqAtw0eH1UDfOFmCVzXho0KcezXtwTgyRO/zpUIOtoo/dQlurveUTAkzaHY6aJZ2pUiNbnO0+MCy6nOwmTIL52FwJuBARE+jXRFfKafN2V3+55SXdV1f6DK12I73k7PFsHu5PnsEWE/7xBhltq/MHFO6X24mLA4lzSu6JtGVuybP3XY6Nxto7jDAPRsud1y35IVZSAXh0nhU5v8qdKn6gwGSbmG+Gyr90zMDhyXDkOmK7JMakjA67i84GVPyuGL38EgWmvEj4403pQpwtQV+oYC4AbNIAAAAAAA",loading:"eager"},{name:"General Electric",logo:"/assets/ge-logo-tKw1orQe.webp",loading:"eager"},{name:"Novell",logo:"/assets/novell-logo-B4O1NIPc.webp",loading:"eager"},{name:"Liberty Mutual",logo:"/assets/liberty-mutual-logo-D38bxu9Y.webp",loading:"lazy"},{name:"FedEx",logo:"/assets/fedex-logo-lONL9ftG.webp",loading:"lazy"}],ZG="CVEs to zero pre-launch, latency down 42%, reversible deploy in 8 minutes.",JG="Director of Engineering",XG="US Enterprise",eU=()=>J.jsx("section",{className:"py-10 md:py-14 bg-surface/30",children:J.jsx("div",{className:"container",children:J.jsxs("div",{className:"flex flex-col lg:flex-row items-center justify-between gap-2xl lg:gap-3xl",children:[J.jsxs("div",{className:"flex-1 w-full overflow-x-auto lg:overflow-visible relative",children:[J.jsx("div",{className:"flex items-center justify-center lg:justify-start gap-2xl md:gap-3xl min-w-max lg:min-w-0 px-md lg:px-0",children:QG.map(e=>J.jsx("div",{className:"grayscale hover:grayscale-0 opacity-60 hover:opacity-100 transition-all duration-300 min-w-[80px] min-h-[44px] flex items-center justify-center","aria-hidden":"true",children:J.jsx("img",{src:e.logo,alt:e.name,loading:e.loading,className:"h-7 md:h-8 w-auto object-contain",width:"49",height:"32",style:{aspectRatio:"49/32"},tabIndex:-1})},e.name))}),J.jsx("div",{className:"lg:hidden absolute left-0 top-0 bottom-0 w-8 bg-gradient-to-r from-surface/30 to-transparent pointer-events-none"}),J.jsx("div",{className:"lg:hidden absolute right-0 top-0 bottom-0 w-8 bg-gradient-to-l from-surface/30 to-transparent pointer-events-none"})]}),J.jsx("div",{className:"flex-shrink-0 w-full lg:w-auto lg:max-w-md",children:J.jsxs("blockquote",{className:"clean-card p-lg border-l-4 border-data-teal",children:[J.jsxs("p",{className:"text-sm md:text-base text-foreground leading-relaxed mb-3",children:['"',ZG,'"']}),J.jsxs("cite",{className:"not-italic text-xs md:text-sm text-muted-foreground",children:["— ",JG,", ",XG]})]})})]})})}),tU=[{icon:$P,label:"Latency (p95)",value:"30–60%",suffix:"lower",colorClass:"text-data-orange"},{icon:Xk,label:"Security",value:"critical CVEs → 0",suffix:"before go-live",colorClass:"text-data-teal"},{icon:Rm,label:"Infra spend",value:"20–40%",suffix:"lower",colorClass:"text-data-blue"}],sU=()=>{const[e,t]=Qe.useState(!1),[s,a]=Qe.useState(!1),r=Qe.useRef(null),i=(()=>{const[e,t]=Qe.useState(!1);return Qe.useEffect(()=>{const e=window.matchMedia("(prefers-reduced-motion: reduce)");t(e.matches);const s=()=>t(e.matches);return e.addEventListener("change",s),()=>e.removeEventListener("change",s)},[]),e})();Qe.useEffect(()=>{if(i||!r.current)return;const s=new IntersectionObserver(s=>{s.forEach(s=>{s.isIntersecting&&!e&&(a(!0),t(!0))})},{threshold:.3});return s.observe(r.current),()=>s.disconnect()},[e,i]);return J.jsx("section",{ref:r,className:"py-4xl md:py-section-y bg-background",children:J.jsx("div",{className:"container",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("dl",{className:"grid grid-cols-1 md:grid-cols-3 gap-lg md:gap-xl mb-xl",children:tU.map((e,t)=>{const a=e.icon;return J.jsxs("div",{className:"clean-card p-xl md:p-2xl text-center transition-all duration-500 "+(s&&!i?"opacity-100 translate-y-0":"opacity-100"),style:{transitionDelay:i?"0ms":100*t+"ms"},children:[J.jsxs("dt",{className:"mb-4",children:[J.jsx("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-gradient-to-br from-surface to-surface-variant mb-3",children:J.jsx(a,{className:`h-6 w-6 ${e.colorClass}`})}),J.jsx("div",{className:"text-sm md:text-base font-medium text-muted-foreground",children:e.label})]}),J.jsxs("dd",{children:[J.jsx("div",{className:`text-3xl md:text-4xl font-bold ${e.colorClass} mb-1`,children:e.value}),J.jsx("div",{className:"text-xs md:text-sm text-muted-foreground",children:e.suffix})]})]},e.label)})}),J.jsx("div",{className:"text-center md:text-right",children:J.jsxs(tt,{to:"/how-we-measure#metrics",onClick:()=>{},className:"inline-flex items-center text-sm font-medium text-data-teal hover:text-data-teal/70 hover:underline transition-colors group focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2 min-h-[44px]",children:["How we measure",J.jsx(Ka,{className:"ml-1 w-4 h-4 group-hover:translate-x-1 transition-transform"})]})})]})})})},aU=Qe.forwardRef(({className:e,...t},s)=>J.jsx("div",{ref:s,className:VT("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));aU.displayName="Card";const rU=Qe.forwardRef(({className:e,...t},s)=>J.jsx("div",{ref:s,className:VT("flex flex-col space-y-sm p-lg",e),...t}));rU.displayName="CardHeader";const iU=Qe.forwardRef(({className:e,...t},s)=>J.jsx("h3",{ref:s,className:VT("text-2xl font-semibold leading-none tracking-tight",e),...t}));iU.displayName="CardTitle";const nU=Qe.forwardRef(({className:e,...t},s)=>J.jsx("p",{ref:s,className:VT("text-sm text-muted-foreground",e),...t}));nU.displayName="CardDescription";const oU=Qe.forwardRef(({className:e,...t},s)=>J.jsx("div",{ref:s,className:VT("p-lg pt-0",e),...t}));oU.displayName="CardContent";const lU=Qe.forwardRef(({className:e,...t},s)=>J.jsx("div",{ref:s,className:VT("flex items-center p-lg pt-0",e),...t}));lU.displayName="CardFooter";const dU=[{slug:"vista",title:"VISTA — ALPR & Redaction",value:"Real-time hotlist alerts and compliant video/audio redaction with audit trails.",bulletText:"Hotlist/watchlist alerts with reviewer queues · Bulk face/plate/object redaction for PRA/FOIA · CJIS-style chain-of-custody & access logs · CAD/RMS & VMS integrations (API-first)",icon:xh,gradient:"from-data-orange to-data-amber",image:"/assets/vista-dashboard-pro-bRyS3pts.webp",alt:"VISTA ALPR dashboard showing detection metrics and map view",usedIn:["Cities","Campuses"]},{slug:"sentra",title:"SENTRA — Traffic Analytics",value:"Edge AI for counting, classification, speed, and incidents with GIS/LRS outputs.",bulletText:"FHWA-grade vehicle classification at the edge · Speed & incident detection with live dashboards · ArcGIS/LRS conflation and shapefile exports · Hybrid edge↔cloud sync; statewide runs supported",icon:bo,gradient:"from-data-teal to-data-cyan",image:"/assets/sentra-dashboard-pro-Ccu1XOMe.webp",alt:"SENTRA traffic analytics showing real-time vehicle classification and incident detection with ArcGIS integration",usedIn:["DOTs"]},{slug:"ipam",title:"iPAM — Parking Platform",value:"One platform for permits, LPR enforcement, violation management, and dynamic pricing.",bulletText:'Virtual permits & waitlists with pro-rating · LPR enforcement; e-chalking & "no return" rules · Violation management & appeals with evidence packaging · Analytics & scheduled reporting; open APIs',icon:Zl,gradient:"from-data-cyan to-data-blue",image:"/assets/ipam-dashboard-pro-C9YXDFfE.webp",alt:"iPAM parking management dashboard showing occupancy, permits, and revenue metrics",usedIn:["Enterprise","Commercial"]},{slug:"neurosight",title:"NeuroSight — AI Weapon Detection",value:"Sub-200 ms firearm detection and behavior cues for campuses and venues.",bulletText:"Real-time detection at the edge · Behavior analytics & HITL review · NDAA-compliant options · Integrates with VMS/access control/mass-notify",icon:Xk,gradient:"from-data-blue to-primary",image:"/assets/neurosight-overview-SXL2FCY1.webp",alt:"NeuroSight AI weapon detection dashboard showing threat detection alerts and behavior analytics in campus environment",usedIn:["Cities","Campuses"]}],cU=()=>J.jsx("section",{className:"py-section-y bg-surface/30",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"max-w-3xl mb-3xl",children:[J.jsx("h2",{className:"text-4xl font-bold text-foreground mb-4",children:"Products & Solutions"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Computer vision and analytics solutions proven in live operations."})]}),J.jsx("div",{className:"grid md:grid-cols-2 gap-xl",children:dU.map((e,t)=>{const s=e.icon;return J.jsx(tt,{to:`/products/${e.slug}`,"data-product":e.slug,onClick:()=>{e.slug},children:J.jsxs(aU,{className:"clean-card flex flex-col h-full overflow-hidden cursor-pointer hover:shadow-lg transition-shadow",onClick:()=>{e.slug},children:[J.jsx("div",{className:"relative w-full aspect-[16/10] overflow-hidden bg-gradient-to-br from-surface to-surface-variant",children:J.jsx("img",{src:e.image,alt:e.alt,loading:t>1?"lazy":"eager",decoding:"async",fetchPriority:t<2?"high":"auto",className:"w-full h-full object-cover",width:"800",height:"500",sizes:"(max-width: 768px) 100vw, 50vw",style:{aspectRatio:"16/10"}})}),J.jsxs(rU,{children:[J.jsxs("div",{className:"flex items-start justify-between gap-3 mb-4",children:[J.jsx("div",{className:`inline-flex p-3 rounded-lg bg-gradient-to-br ${e.gradient} w-fit flex-shrink-0`,children:J.jsx(s,{className:"w-6 h-6 text-white"})}),J.jsx("div",{className:"flex flex-wrap gap-1.5 justify-end",children:e.usedIn.map(e=>J.jsx(tt,{to:`/industries/${e.toLowerCase()}`,onClick:e=>{e.stopPropagation()},className:"inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-surface/50 border border-outline/30 text-muted-foreground hover:text-foreground hover:border-data-teal/40 transition-colors",children:e},e))})]}),J.jsx(iU,{className:"text-xl font-bold text-foreground mb-2",children:e.title}),J.jsx(nU,{className:"text-sm text-muted-foreground",children:e.value})]}),J.jsx(oU,{className:"flex-1",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:e.bulletText})}),J.jsx(lU,{children:J.jsx(oz,{className:"w-full bg-gradient-to-r from-data-teal to-primary hover:opacity-90 min-h-[44px]",onClick:t=>{t.preventDefault(),e.slug,window.location.href=`/products/${e.slug}`},children:"Request Demo"})})]})},e.slug)})})]})}),mU=xs("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function hU({className:e,variant:t,...s}){return J.jsx("div",{className:VT(mU({variant:t}),e),...s})}const xU=[{segment:"Manufacturing",slug:"manufacturing",solution:"QualiZer",promise:"in-line defect detection",bulletText:"Reduce scrap/rework with edge CV at the line · Explainable reviews; trend reports by SKU/shift · Integrates with MES/ERP for holds & alerts",personas:["Plant Ops","Quality"],icon:ph,gradient:"from-data-orange to-data-amber"},{segment:"Manufacturing",slug:"manufacturing",solution:"VibraQore",promise:"predictive maintenance",bulletText:"Detect bearing/imbalance faults early (motor/pump) · Plan interventions; avoid unplanned downtime · Sensor + vision fusion; work order hooks",personas:["Reliability","EHS"],icon:ph,gradient:"from-data-orange to-data-amber"},{segment:"Warehousing & Logistics",slug:"warehousing-logistics",solution:"StockVexel",promise:"autonomous inventory scanning",bulletText:"Drone/AMR cycle counts; shrink & OSA visibility · Reconcile to WMS; exceptions to handhelds · Works nights; no aisle closures needed",personas:["DC Managers","3PL Ops"],icon:bP,gradient:"from-data-teal to-data-cyan"},{segment:"Warehousing & Logistics",slug:"warehousing-logistics",solution:"YardLytix",promise:"dock/yard analytics",bulletText:"Door dwell & trailer turns; SLA alerts · Gate OCR + yard map; real-time dwell heatmaps · Integrates with TMS/YMS",personas:["Yard Ops","Transportation"],icon:bP,gradient:"from-data-teal to-data-cyan"},{segment:"Retail",slug:"retail",solution:"ShelfSentra",promise:"shelf compliance & OSA",bulletText:"Detect out-of-stocks & planogram drift in-aisle · Push tasks to store devices; measure recovery time · Lift on-shelf availability and sales conversion",personas:["Store Ops","Merchandising"],icon:aM,gradient:"from-data-cyan to-data-blue"},{segment:"Retail",slug:"retail",solution:"Queuence",promise:"queue & staffing analytics",bulletText:"Predict queues; alert for lane opens or staffing · Tie to labor planner; cut walk-offs and wait time · Privacy-preserving analytics (no PII stored)",personas:["Store Ops"],icon:aM,gradient:"from-data-cyan to-data-blue"}],uU=()=>J.jsx("section",{className:"py-section-y bg-gradient-hero",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"max-w-3xl mb-3xl",children:[J.jsx("h2",{className:"text-4xl font-bold text-foreground mb-4",children:"Industry Solutions"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Quick-win CV/analytics packs tuned to your environment—ship in 60–90 days with KPI gates."})]}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-xl mb-2xl",children:xU.map((e,t)=>{const s=e.icon;return J.jsxs(aU,{className:"clean-card flex flex-col h-full cursor-pointer","data-segment":e.slug,"data-solution":e.solution,onClick:()=>(e.segment,void e.solution),children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[J.jsx("div",{className:`p-2.5 rounded-lg bg-gradient-to-br ${e.gradient} flex-shrink-0`,children:J.jsx(s,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{className:"flex-1 min-w-0",children:[J.jsx(iU,{className:"text-lg font-bold text-foreground leading-tight mb-1",children:e.segment}),J.jsxs(nU,{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-semibold text-foreground",children:e.solution})," — ",e.promise]})]})]})}),J.jsxs(oU,{className:"flex-1",children:[J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:e.bulletText}),J.jsx("div",{className:"flex flex-wrap gap-2",children:e.personas.map(e=>J.jsx(hU,{variant:"secondary",className:"text-xs","aria-hidden":"true",tabIndex:-1,children:e},e))})]}),J.jsxs(lU,{className:"flex flex-col sm:flex-row gap-3 pt-0",children:[J.jsx(tt,{to:`/industries/${e.slug}`,className:"flex-1 w-full",children:J.jsx(oz,{className:"w-full bg-gradient-to-r from-data-teal to-primary hover:opacity-90 min-h-[44px]",onClick:e=>e.stopPropagation(),children:"Explore segment"})}),J.jsx(tt,{to:`/roi-calculator?calc=${e.slug}&utm_source=home&utm_medium=industry_card&utm_content=${e.solution.toLowerCase().replace(/\s+/g,"")}`,className:"text-sm font-medium text-data-teal hover:underline focus:underline focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2 min-h-[44px] flex items-center justify-center",onClick:t=>{t.stopPropagation(),e.segment},children:"Estimate ROI →"})]})]},`${e.slug}-${t}`)})}),J.jsx("div",{className:"text-center",children:J.jsx(tt,{to:"/industries",children:J.jsx(oz,{size:"lg",variant:"outline",className:"border-data-teal/30 hover:border-data-teal/50 hover:bg-data-teal/5 min-h-[44px]",onClick:()=>{},children:"View all industries →"})})})]})}),pU=()=>{const e=e=>{!function(e){BO("roi_home_promo_click",{scenario:e})}(e)};return J.jsx("section",{className:"py-16 md:py-24 bg-muted/30",children:J.jsx("div",{className:"container",children:J.jsxs("div",{className:"grid md:grid-cols-2 gap-8 md:gap-12 items-center",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Estimate your payback in minutes."}),J.jsx("p",{className:"text-lg text-muted-foreground mb-6",children:"Choose a scenario and get a defensible Year-1 ROI with exportable assumptions."}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Estimates only; we validate assumptions during a 30-min consult."})]}),J.jsxs("div",{className:"flex flex-col gap-4",children:[J.jsx(oz,{asChild:!0,size:"lg",variant:"outline",className:"w-full justify-start",onClick:()=>e("agentic"),"data-analytics-event":"roi_home_promo_click","data-analytics-props":'{"scenario":"agentic"}',children:J.jsxs(tt,{to:"/roi-calculator/agentic",children:[J.jsx(Fn,{className:"mr-2 h-5 w-5"}),"Agentic AI Automation"]})}),J.jsx(oz,{asChild:!0,size:"lg",variant:"outline",className:"w-full justify-start",onClick:()=>e("cv"),"data-analytics-event":"roi_home_promo_click","data-analytics-props":'{"scenario":"cv"}',children:J.jsxs(tt,{to:"/roi-calculator/cv?usecase=alpr",children:[J.jsx(Fn,{className:"mr-2 h-5 w-5"}),"Computer Vision (ALPR/PPE/Occupancy)"]})}),J.jsx(oz,{asChild:!0,size:"lg",variant:"outline",className:"w-full justify-start",onClick:()=>e("modernization"),"data-analytics-event":"roi_home_promo_click","data-analytics-props":'{"scenario":"modernization"}',children:J.jsxs(tt,{to:"/roi-calculator/modernization",children:[J.jsx(Fn,{className:"mr-2 h-5 w-5"}),"Platform/Rails Modernization"]})}),J.jsxs("div",{className:"pt-4 border-t border-outline/20",children:[J.jsx(oz,{asChild:!0,size:"lg",className:"w-full bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90",children:J.jsxs(tt,{to:"/outcomes",children:[J.jsx(Fn,{className:"mr-2 h-5 w-5"}),"Open Outcome Discovery Engine"]})}),J.jsx("p",{className:"text-xs text-muted-foreground mt-2 text-center",children:"Multi-use-case planning with strategic recommendations"})]})]})]})})})},gU=[{key:"agentic-ai",slug:"agentic-ai",name:"Agentic AI Systems",promise:"Multi-agent automations with guardrails and HITL review.",bullets:["Eliminate manual back-office steps","Policy-aligned actions","Explainable decisions"],whatYouGet:["Orchestration graph in code (agents, tools, policies) with retries/timeouts","Evals suite: jailbreak, toxicity, groundedness, accuracy gates","Guardrails and safety gates enforced in CI and runtime","Reviewer console (approve/annotate/retry) with audit trail","Run log and trace viewer (inputs, prompts/versions, tool calls, outputs)","Budget caps and alerts; cost per transaction export"],icon:un,gradient:"from-data-orange to-data-amber",outcomes:["Eliminate manual back-office steps","Policy-aligned actions with human override","Traceable, explainable decisions with run logs","Reviewer minutes per case ↓ 30–50%","Cost per transaction capped and reported"],timeline:"2–4 weeks (design+pilot), 6–8 weeks (pilot→prod)",team:"architect, MLE, FE, BE, PM; security reviewer on demand",inputs:["Process maps or workflow documentation","Sample data and edge cases","Policy docs, consent and approval thresholds","SME availability for evaluation","Target KPIs (time saved, accuracy), model/tool constraints"],tech:"Control plane: LangGraph/Temporal/Argo; retries/backoff/idempotency. Models: OpenAI/Claude/local; routing and fallback policies. HITL: reviewer UI; reason codes; audit and retention windows. Identity: SSO (OIDC/SAML); roles/attributes; least-privilege. On-prem/GovCloud or VPC; secrets in KMS; policy repo in Git.",proof:["Before/after KPI chart on target workflow","Evals summary with thresholds and deltas","Run-log sample (redacted) and trace screenshot","Cost per transaction and budget adherence","Policy mapping table (policy → runtime check)","Critical CVEs at release → 0"],faqs:[{question:"How quickly can we ship?",answer:"Design+pilot in 2–4 weeks; first prod flows ≤ 8 weeks."},{question:"What data do you need?",answer:"3–5 realistic traces per flow, edge cases, and policy thresholds."},{question:"Can this run on-prem?",answer:"Yes. Same instrumentation, run-logs, and evidence packs."},{question:"How is pricing structured?",answer:"Fixed sprint + optional pods; infra and model usage at cost."},{question:"How do you keep actions safe?",answer:"Guardrails + eval gates, HITL for sensitive actions, rollback and kill switches."},{question:"How is agentic AI different from traditional automation?",answer:"Traditional automation follows rigid if/then rules. Agentic AI adapts to context, makes decisions based on policies, and explains its reasoning. It handles edge cases without brittle rule chains."},{question:"How do you ensure agent decisions are secure?",answer:"We implement guardrails that block unsafe actions, policy validators that check alignment before execution, and audit logs that trace every decision. Human-in-the-loop review gates catch edge cases."},{question:"What about agent hallucinations or errors?",answer:"We use evals to measure accuracy on your data, confidence thresholds to flag uncertain decisions, and HITL review for critical actions. All outputs are traceable and reversible."},{question:"Can agents coordinate with each other?",answer:"Yes. For multi-agent coordination at scale, we recommend pairing Agentic AI Systems with our AI Orchestration platform for routing, cost control, and centralized governance."},{question:"How do you handle compliance and auditability?",answer:"Every agent action is logged with timestamp, input, output, policy check, and actor ID. We support SOC2, HIPAA, and FedRAMP requirements with PII redaction and retention policies."},{question:"What models do you use?",answer:"We support OpenAI (GPT-5/4), Anthropic (Claude), Google (Gemini), and custom fine-tuned models. We select based on your accuracy, latency, and cost requirements."}],relatedProducts:["vista","neurosight"],popularIndustries:["manufacturing","healthcare","finance"],seoTitle:"Agentic AI Systems: Multi-Agent Automation with Guardrails & HITL | Allerin",seoDescription:"Deploy policy-aligned agentic AI automations in 2-4 weeks. Eliminate manual back-office steps with traceable, explainable multi-agent workflows and human oversight.",personas:["CTO/CIO","AI Lead","Operations"],relatedServices:["ai-orchestration","mlops-model-ops","genai-accelerator"],beforeAfterStats:[{metric:"Agent Accuracy",before:"74%",after:"94%",impact:"+20% reduction in hallucinations"},{metric:"Human Review Time",before:"8hr/day",after:"45min/day",impact:"89% efficiency gain"}]},{key:"genai-accelerator",slug:"genai-accelerator",name:"GenAI Product Accelerator",promise:"RAG features shipped to production safely.",bullets:["MVP in weeks","Measurable accuracy","Usage analytics & observability"],whatYouGet:["Vector pipeline + knowledge ingestion (automated re-indexing)","RAG orchestration layer with prompt versioning and fallbacks","Evals suite: accuracy (exact-match + semantic), hallucination gates, toxicity filters","CI/CD integration with regression gates (accuracy thresholds)","Observability dashboard: usage, cost per query, latency p95","Safety monitoring: PII detection, content filters, rate limits"],icon:WM,gradient:"from-data-teal to-data-cyan",outcomes:["Working RAG feature in prod with accuracy ≥ target","Evals dashboard and CI check for regressions","Usage analytics and safety monitoring","Measurable user satisfaction or task completion rate","Cost per query optimized and tracked"],timeline:"4 weeks (MVP), 6 weeks (production-ready with full evals and monitoring)",team:"architect, MLE, FE, BE, QA; security reviewer for prod",inputs:["10-50 sample Q&A pairs for evaluation","Source documents or knowledge base","Accuracy targets and success metrics","PII/compliance requirements (HIPAA, SOC2, etc.)","Existing APIs or systems to integrate"],tech:"Vector stores: Pinecone/Weaviate/pgvector with hybrid search. Models: OpenAI (GPT-5/4), Anthropic (Claude 3.5), Google (Gemini), or open-source (Llama 3). Chunking: semantic splitting with overlap; metadata enrichment. Retrieval: BM25 + dense embeddings; reranking with Cohere/cross-encoders. Observability: LangSmith/Phoenix/custom; cost tracking per query. Deployment: Cloud (AWS/GCP/Azure) or on-prem; API Gateway + auth (OAuth2/API keys). Safety: PII redaction, content filters (Azure Content Safety/Llama Guard), rate limits.",proof:["Accuracy scorecard with baseline → production deltas","Hallucination rate chart (pre-launch vs. 30-day avg)","Cost per query breakdown and optimization report","User satisfaction survey results (NPS or task completion)","Retrieval precision/recall metrics by document type","Performance SLA adherence report (latency p50/p95/p99)","Production RAG hallucination rate < 3%"],faqs:[{question:"How quickly can we ship?",answer:"MVP in 4 weeks; production-ready in 6 weeks with full evals and monitoring."},{question:"What data do you need?",answer:"10-50 sample Q&A pairs, source documents/knowledge base, accuracy targets, PII/compliance requirements."},{question:"Can this run on-prem?",answer:"Yes. Same vector stores, evals, and observability; air-gapped deployments supported."},{question:"How is pricing structured?",answer:"Fixed 6-week sprint; infra and model costs at usage."},{question:"How do you prevent hallucinations?",answer:"Multi-layer: retrieval filtering, prompt guardrails, confidence thresholds, and post-generation validation with human review for edge cases."},{question:"Can we use our own models?",answer:"Yes. Supports OpenAI, Anthropic, open-source (Llama, Mistral), or your fine-tuned models with adapters."}],relatedProducts:["vista","sentra"],popularIndustries:["retail","healthcare","finance"],seoTitle:"GenAI Product Accelerator: RAG Features Shipped to Production in 4-6 Weeks | Allerin",seoDescription:"Launch production-ready RAG features with measurable accuracy. Includes eval dashboards, safety gates, and usage analytics for secure GenAI deployment.",personas:["Product Lead","Engineering VP","AI Team"],relatedServices:["agentic-ai","computer-vision-fasttrack"],beforeAfterStats:[{metric:"Time to Market",before:"6 months",after:"6 weeks",impact:"4x faster launch"},{metric:"Prompt Accuracy",before:"68%",after:"91%",impact:"+23% user satisfaction"}]},{key:"computer-vision-fasttrack",slug:"computer-vision-fasttrack",name:"Computer Vision FastTrack",promise:"PoC→prod pipeline on edge/cloud.",bullets:["Detect/track reliably","Low latency at the edge","Ops dashboards that stick"],whatYouGet:["Custom model trained on your footage (detection/tracking/classification)","Edge deployment package: ONNX/TensorRT optimized for Jetson/x86/ARM","Inference pipeline with <target latency (typically 60-200ms p95)","Precision/recall benchmarks on test set with confusion matrices","MLOps workflow: drift monitoring, review UI, re-labeling, retraining hooks","Production runbook: deployment, rollback, troubleshooting, scaling"],icon:xh,gradient:"from-data-cyan to-data-blue",outcomes:["Model meets precision/recall target on your footage","Edge pipeline ≤ target latency; stable FPS","Ops workflow (review, re-label, retrain) live","Measurable reduction in manual review time (typically 87%)","Drift monitoring and automated retraining triggers"],timeline:"4 weeks (PoC), 8 weeks (production-ready with MLOps)",team:"CV lead, MLE, edge dev, FE, QA; ops reviewer for deployment",inputs:["Sample footage or image sets (200-500 frames minimum)","Labeling guidelines or existing annotations","Target edge hardware specs (Jetson/x86/ARM)","Precision/recall targets and acceptable latency","Ops workflow requirements (drift alerts, retraining triggers)"],tech:"Edge hardware: NVIDIA Jetson (Nano/Xavier/Orin), x86 (Intel/AMD), ARM (RPi/custom). Models: YOLOv8/v11, EfficientDet, custom CNNs; ONNX/TensorRT export; INT8 quantization. Frameworks: PyTorch/TensorFlow → ONNX; TensorRT optimization for 3-5x speedup. Streaming: RTSP/RTMP/USB; frame buffering and batching; resilient reconnect with backoff; timestamp sync with clock drift checks. Deployment: Docker/K3s on edge; REST/MQTT for results; centralized model registry. Edge management: heat throttling guard; GPU temp monitoring; rolling buffers with cold tier (S3/Blob) lifecycle rules. MLOps: Prometheus/Grafana for drift; Label Studio/CVAT for re-labeling; DVC for dataset versioning. Cloud fallback: AWS/GCP/Azure for heavy inference or batch processing.",proof:["Precision/recall scorecard with per-class breakdown","Latency benchmarks (p50/p95/p99) across hardware configs","FPS stability chart (30-day post-deployment)","Drift detection alert examples with remediation","Manual review time reduction (before/after workflow analysis)","Model card with architecture, inputs, outputs, limitations","Production model inference p95 latency ≤ 200ms"],faqs:[{question:"What if we don't have labeled data?",answer:"We label 200-500 seed samples or use semi-supervised/active learning to bootstrap training with minimal labels."},{question:"Can this run on existing cameras?",answer:"Yes. Any RTSP/RTMP stream or USB camera. We adapt to your resolution, FPS, and lighting conditions."},{question:"How do we handle model drift?",answer:"Automated drift monitoring via distribution shifts + confidence drops. When detected, we trigger re-labeling workflow and retrain."},{question:"What's the handoff?",answer:"Exported ONNX/TensorRT model, Docker deployment config, MLOps runbook, Grafana dashboards, and re-training scripts."},{question:"What hardware do you recommend?",answer:"NVIDIA Jetson Orin for best price/performance. Xavier for legacy. x86 if you need flexibility. We benchmark on your target hardware."},{question:"How fast can this run?",answer:"Typically 60-200ms p95 latency per frame. YOLOv8 on Jetson Orin hits 30-60 FPS at 1080p with TensorRT INT8."}],relatedProducts:["vista","sentra","neurosight"],popularIndustries:["manufacturing","warehousing-logistics","retail"],seoTitle:"Computer Vision FastTrack: Edge AI PoC to Production in 4-8 Weeks | Allerin",seoDescription:"Deploy reliable edge computer vision with <target latency, stable FPS. Includes model training, Jetson/x86 deployment, and MLOps workflows for production CV.",personas:["Operations VP","CV Engineer","Plant Manager"],relatedServices:["genai-accelerator","mlops-model-ops"],beforeAfterStats:[{metric:"Model Accuracy",before:"82%",after:"96%",impact:"+14% defect detection"},{metric:"Inference Latency",before:"850ms",after:"120ms",impact:"7x faster processing"},{metric:"Reviewer Minutes/Event",before:"3.8 min",after:"1.9 min",impact:"Target: <2.0 min achieved"}],industryPatterns:[{industry:"Manufacturing",useCase:"Defect detection & assembly verification",example:"Identify surface defects, misalignments, and missing components on production lines with 96%+ accuracy"},{industry:"Transportation & Rail",useCase:"Track/ROW inspection & rolling stock monitoring",example:"Automated detection of rail surface defects, vegetation encroachment, and equipment anomalies reducing manual inspection time by 87%"},{industry:"Warehousing & Logistics",useCase:"Package counting, damage detection & compliance",example:"Real-time package damage detection and volumetric counting with sub-second latency for high-throughput operations"},{industry:"Retail",useCase:"Shelf compliance & queue management",example:"Monitor product placement, planogram compliance, and customer queue depth for operational optimization"}],architectureGuide:[{approach:"Edge-Only",when:"On-prem requirements, no cloud connectivity, <100ms latency needed",tradeoffs:"Lower cost, data sovereignty, limited model size, manual updates",bestFor:"Government/DOT, utilities, remote sites"},{approach:"Hybrid Edge + Cloud",when:"Real-time inference at edge + batch analytics in cloud",tradeoffs:"Best of both worlds, resilient to connectivity loss, moderate complexity",bestFor:"Manufacturing, retail, logistics"},{approach:"Cloud-Fallback",when:"Primary cloud inference with edge backup during outages",tradeoffs:"Simpler edge footprint, higher latency, cloud dependency",bestFor:"Enterprise with reliable connectivity"}],procurementReadiness:["Accuracy thresholds: Precision/recall targets per class with confusion matrices","Latency SLAs: p50/p95/p99 inference latency with hardware specs","Audit trails: Chain-of-custody for training data, model versions, and predictions","Evidence packs: Exportable detection results with timestamps, confidence scores, and visual proof","Retention windows: Configurable data retention policies (RTSP streams, predictions, re-training sets)","Redaction options: PII masking for faces, license plates, and identifiable features","Compliance: CJIS-compliant for law enforcement, SOC 2 Type II, on-prem/GovCloud deployment options"]},{key:"data-analytics-platform",slug:"data-analytics-platform",name:"Data & Analytics Platform",promise:"GIS + KPI dashboards with a data-quality spine.",bullets:["Faster ops insight","DQ pipeline with alerts","Narrative reporting with anomalies"],whatYouGet:["Data connectors with retry logic and monitoring (source → warehouse)","KPI catalog with definitions, owners, refresh schedules, and SLAs","Data quality pipeline: profiling, validation rules, alerts on critical failures","GIS-enabled dashboards with zoom, filter, layer controls, and export","Narrative report generator with automated summaries and anomaly detection","Runbook: troubleshooting, scaling, adding KPIs, data refresh procedures"],icon:Wo,gradient:"from-data-blue to-primary",outcomes:["Live KPI dashboards with GIS layers and drill-down capabilities","Data quality pipeline with automated alerts on critical field failures","Scheduled narrative reports with anomaly detection and trend analysis","Measurable reduction in report prep time (typically 75%)","Self-service analytics with governed data catalog"],timeline:"3–6 weeks",team:["Data Engineer","Frontend Dashboard Developer","Data Analyst","Project Manager"],inputs:["Data sources and existing workbooks to replace","KPI definitions and data stewardship owners","Data quality target tolerances and thresholds","Security roles and SSO configuration scopes","Reporting cadence and target audiences","GIS layer requirements and spatial data sources"],tech:"Data Warehouses: Snowflake, BigQuery, Redshift, Azure Synapse, Databricks. GIS: ArcGIS Enterprise/Online, QGIS, Mapbox, Google Maps Platform, PostGIS. BI Tools: Tableau, Power BI, Looker, Metabase, custom React dashboards with Recharts/D3. Data Quality: Great Expectations, dbt tests, custom Python validators, Soda. ETL/ELT: Fivetran, Airbyte, dbt, custom Airflow/Prefect DAGs. Orchestration: Airflow, Prefect, dbt Cloud. Integration: REST/GraphQL APIs, CDC (Debezium), message queues (Kafka, RabbitMQ). Observability: Prometheus, Grafana, Monte Carlo, elementary. Export formats: CSV, Excel, PDF, Shapefiles, GeoJSON, ArcGIS Feature Service.",proof:["KPI catalog with owners, definitions, SLAs, and refresh schedules","Data quality scorecard: pass rates, failure alerts, remediation time","Dashboard usage metrics: active users, queries/day, p95 query latency","Before/after report prep time analysis (manual vs automated)","GIS layer performance: render time, zoom responsiveness, concurrent users","Data pipeline SLA tracking: uptime %, late runs, failure recovery time"],faqs:[{question:"What if our data is messy?",answer:"We include data quality profiling, cleansing rules, and validation in the pipeline. Critical failures trigger alerts; warnings are logged for review."},{question:"Can we add KPIs later?",answer:"Yes. The KPI catalog is extensible with documented processes for adding metrics, defining ownership, and setting refresh schedules."},{question:"Do you support real-time dashboards?",answer:"Yes, if source systems support streaming (Kafka, Kinesis) or low-latency queries. We implement incremental refresh patterns for near-real-time KPIs."},{question:"What's included in handoff?",answer:"Connector configuration, KPI catalog documentation, dashboard templates, data quality runbook, GIS layer specs, and troubleshooting guides."},{question:"Can we export GIS data?",answer:"Yes. Dashboards support export to Shapefiles, GeoJSON, CSV with coordinates, and ArcGIS Feature Service for downstream GIS workflows."},{question:"How do you handle data governance?",answer:"We implement RBAC for dashboard access, data lineage tracking, audit logs for sensitive queries, and SSO integration for enterprise authentication."}],relatedProducts:["sentra","ipam"],popularIndustries:["manufacturing","warehousing-logistics","transportation-rail"],seoTitle:"Data & Analytics Platform: GIS Dashboards + Data Quality in 3-6 Weeks | Allerin",seoDescription:"Deploy live KPI dashboards with GIS layers, automated data quality pipelines, and narrative reporting. Reduce report prep time by 75% with governed self-service analytics.",personas:["Data Lead","Analytics VP","BI Manager"],relatedServices:["mlops-model-ops","platform-modernization"],beforeAfterStats:[{metric:"Query Performance",before:"45s",after:"1.2s",impact:"97% faster insights"},{metric:"Data Pipeline SLA",before:"82%",after:"99.7%",impact:"Near-zero downtime"},{metric:"Report Prep Time",before:"8 hours",after:"2 hours",impact:"75% time savings"}],industryPatterns:[{industry:"Manufacturing",useCase:"Production KPI dashboards with OEE & yield tracking",example:"Real-time equipment health monitoring with downtime root cause analysis and predictive maintenance alerts integrated with EAM systems"},{industry:"Transportation & Rail",useCase:"Track health GIS with maintenance priority heat maps",example:"Visual inspection data overlaid on GIS with automated work order generation for high-priority segments based on condition scores"},{industry:"Warehousing & Logistics",useCase:"Real-time inventory flow with geofence alerts",example:"Package movement tracking across facilities with dwell-time anomalies and capacity utilization dashboards for operational optimization"},{industry:"Energy & Utilities",useCase:"Asset health dashboards with outage prediction",example:"Grid asset monitoring with failure prediction models, outage impact zones, and crew dispatch optimization via GIS routing"}],architectureGuide:[{approach:"Cloud-Native (Snowflake/BigQuery)",when:"Need scalability, managed services, ML integration, multi-region",tradeoffs:"Best performance and features, cloud costs, requires connectivity",bestFor:"Enterprises with cloud-first strategy, high data volumes"},{approach:"Hybrid (Cloud + On-Prem)",when:"Regulatory constraints, sensitive data on-prem, cloud analytics",tradeoffs:"Balanced compliance and capabilities, moderate complexity",bestFor:"Healthcare, finance, government with data residency requirements"},{approach:"On-Prem Only",when:"Air-gapped environments, full data sovereignty required",tradeoffs:"Complete control, higher ops burden, limited scalability",bestFor:"Defense, critical infrastructure, strict compliance environments"}],procurementReadiness:["Data quality SLAs: Measurable thresholds for completeness, accuracy, timeliness with automated alerts","GIS export formats: Shapefiles, GeoJSON, KML, ArcGIS Feature Service, WMS/WFS endpoints","Dashboard access controls: RBAC, row-level security, SSO/SAML integration, audit logs","Data lineage tracking: End-to-end visibility from source to dashboard with transformation documentation","Performance SLAs: Query latency targets (p95 < 3s), dashboard load time, concurrent user capacity","On-prem/GovCloud deployment: Air-gapped installation support, FedRAMP considerations","Compliance: SOC 2 Type II, HIPAA-ready architecture, data retention policies, PII handling"]},{key:"mlops-model-ops",slug:"mlops-model-ops",name:"MLOps & Model Operations",promise:"Registry, monitoring/drift, and model governance.",bullets:["Traceable models","Drift alerts","Fast rollback"],whatYouGet:["Model registry with versioning, lineage tracking, and metadata tagging (MLflow/W&B/custom)","Drift monitoring dashboard with statistical tests (KL divergence, PSI, data quality)","Automated rollback workflow with last-known-good fallback and rollback criteria","Evaluation harness with precision/recall/F1 benchmarks and confusion matrices","CI/CD integration for model deployment with GitHub Actions/GitLab CI pipelines","MLOps runbook with troubleshooting, scaling guidelines, and cost guardrails"],icon:mc,gradient:"from-data-orange to-data-teal",outcomes:["Registry & lineage in place","Drift/accuracy monitoring with alerts","Standardized deploy/rollback flows","Measurable reduction in model deployment time"],timeline:"3–5 weeks",team:["ML Engineer","Platform Engineer","DevOps Lead","QA Engineer"],inputs:["Existing model artifacts and training code","Deployment environments and CI/CD setup","Accuracy thresholds and alert policies","Rollback criteria","Budget/cost guardrails"],tech:"MLflow, Weights & Biases, or custom registry; cloud/on-prem; CI/CD integration (GitHub Actions, GitLab CI)",proof:["Model lineage graph","Drift/accuracy monitoring dashboard","Deployment time before/after","Rollback test evidence"],faqs:[{question:"Do we need MLflow?",answer:"No. We can use MLflow, W&B, or build a custom registry."},{question:"How do you detect drift?",answer:"Statistical tests on inputs/outputs; alerts on threshold breach."},{question:"What if a model fails in prod?",answer:"Automated rollback to last known good version."},{question:"What's the handoff?",answer:"Registry config, eval harness, monitoring dashboards, and runbook."}],relatedProducts:["vista","sentra","neurosight"],popularIndustries:["finance","healthcare","manufacturing"],seoTitle:"MLOps & Model Operations: Drift Monitoring, Registry & Governance | Allerin",seoDescription:"Deploy MLOps infrastructure with model registry, drift monitoring, and automated rollback in 3-5 weeks. Reduce model deployment time with governance.",personas:["ML Platform","DevOps Lead","Data Science VP"],relatedServices:["agentic-ai","data-analytics-platform"],beforeAfterStats:[{metric:"Model Deployment Time",before:"3 weeks",after:"2 hours",impact:"252x faster to production"},{metric:"Drift Detection",before:"Manual/weekly",after:"Auto/real-time",impact:"Proactive model health monitoring"},{metric:"Incident Recovery",before:"4–8 hours",after:"5 minutes",impact:"96% faster recovery with auto-rollback"},{metric:"Canary Failures Caught",before:"Unknown",after:"<1%",impact:"Auto-rollback prevents production incidents"}],industryPatterns:[{industry:"Finance",useCase:"Fraud detection models with strict audit trails",example:"Real-time fraud scoring models with comprehensive lineage tracking, bias monitoring for fair lending compliance, and automated rollback on accuracy degradation below 94%"},{industry:"Healthcare",useCase:"Clinical prediction models with HIPAA compliance",example:"Patient risk stratification models with explainability requirements, PHI-safe model artifacts, audit logs for all predictions, and regulatory-compliant model versioning"},{industry:"Manufacturing",useCase:"Predictive maintenance with edge deployment",example:"Equipment failure prediction models deployed to edge devices with drift monitoring for sensor data, automated retraining triggers, and zero-downtime model updates"}],architectureGuide:[{approach:"Centralized MLOps",when:"Single ML team, consistent tooling requirements, centralized governance needed",tradeoffs:"Strong governance and consistency, but may slow down autonomous teams. Best for orgs prioritizing compliance.",bestFor:"Finance, Healthcare, Regulated Industries"},{approach:"Federated MLOps",when:"Multiple ML teams, poly-cloud deployment, team autonomy prioritized",tradeoffs:"Teams move faster with their preferred tools, but governance becomes harder. Requires strong platform team.",bestFor:"Large enterprises, Multi-cloud, Product-driven orgs"},{approach:"Hybrid MLOps",when:"Balance of governance and flexibility needed, phased adoption",tradeoffs:"Centralize critical governance (registry, monitoring) while allowing tool flexibility. Moderate complexity.",bestFor:"Mid-market, Growing ML teams, Compliance-aware"}],procurementReadiness:["Model lineage and audit trail: Version tracking, dataset provenance, training metadata, deployment history with timestamps","Drift detection SLAs: Real-time monitoring, alert escalation paths, automated rollback thresholds, incident response time commitments","Rollback criteria: Performance degradation thresholds, last-known-good version identification, rollback success rate guarantees","Bias monitoring and fairness: Demographic parity checks, equal opportunity metrics, disparate impact analysis for regulated models","Cost monitoring and guardrails: Training cost budgets, inference cost tracking, automated scale-down policies, cost anomaly alerts","Compliance evidence: SOC 2 Type II attestation, HIPAA compliance for healthcare models, Model risk management (SR 11-7) documentation","Access control and authentication: RBAC for model registry, SSO integration, audit logging for sensitive model access"]},{key:"platform-modernization",slug:"platform-modernization",name:"Platform Modernization",promise:"Modular monolith first; APIs; observability & cost.",bullets:["No feature freeze","p95 down, cost down","Safer releases"],whatYouGet:["Modernization blueprint with target architecture and migration phases","Dual-run infrastructure with blue-green/canary deployment capability","Observability stack: distributed tracing, structured logging, error budgets","API gateway and module boundaries with contracts and versioning","CI/CD pipeline with automated testing and rollback automation","Security baseline: SBOM generation, SAST/DAST scanning, CSP/HSTS headers, secret rotation via KMS","Cost plan: unit economics per request/service, autoscale policies, budget alerts and rightsizing recommendations","Performance report: p95 latency, throughput, cost analysis, error rates"],icon:qk,gradient:"from-data-teal to-data-blue",outcomes:["Measurable p95 latency drop & infra cost reduction","Zero-downtime cutover, dual-run validation","Observability + error budget in place","Faster release cadence with lower risk"],timeline:"4–8 weeks",team:["Solution Architect","Backend Engineer","DevOps Lead","QA Engineer"],inputs:["Current architecture docs and pain points","Performance baselines (p95, throughput)","Target cost reduction %","Release cadence goals","Compliance/security requirements"],tech:"Languages: Ruby/Rails, Node.js, Python/Django/Flask, Java/Spring Boot, .NET/C#. Cloud: AWS, Azure, GCP, on-prem/hybrid. Containers: Docker, Kubernetes, ECS, AKS, GKE. CI/CD: GitHub Actions, GitLab CI, Jenkins, CircleCI, Azure DevOps. Observability: Datadog, New Relic, Prometheus/Grafana, Sentry, CloudWatch. Databases: PostgreSQL, MySQL, MongoDB, Redis, DynamoDB. API Gateway: Kong, AWS API Gateway, Azure APIM, Nginx, custom.",proof:["Before/after p95 latency chart","Infra cost comparison","Observability stack (traces, logs, metrics)","Rollback success rate"],faqs:[{question:"Do we need to stop feature work?",answer:"No. We run dual-boot or blue-green to avoid freezes."},{question:"What if we can't cut over all at once?",answer:"We support phased rollouts with canary or percentage-based routing."},{question:"How do you measure success?",answer:"p95 latency, cost, error budget, and release frequency."},{question:"What's the handoff?",answer:"Blueprint, cutover playbook, observability stack, and perf report."},{question:"What migration strategies do you support?",answer:"Modular monolith, microservices, strangler fig, or hybrid—we help you choose based on team size, risk tolerance, and scale requirements."},{question:"Can you modernize without Kubernetes?",answer:"Yes. We support ECS, serverless, VM-based, or on-prem deployments—Kubernetes is not required."},{question:"How do you handle vendor lock-in?",answer:"We use API-first architecture, infrastructure as code, and platform-agnostic deployment patterns. Your modernized platform can run on AWS, Azure, GCP, or on-prem with minimal changes."},{question:"Can we keep the monolith?",answer:"Yes. We typically move to a modular monolith first—better boundaries, safer deploys, lower ops cost. We only extract microservices when ROI is clear (independent scaling, team autonomy, or polyglot needs)."}],relatedProducts:["ipam","sentra"],popularIndustries:["finance","retail","healthcare"],seoTitle:"Platform Modernization: Zero-Downtime Migration with p95 & Cost Reduction | Allerin",seoDescription:"Modernize legacy platforms without feature freeze. Achieve measurable p95 latency & cost reduction with dual-run validation in 4-8 weeks.",personas:["CTO","Platform Eng","Engineering VP"],relatedServices:["rails-upgrades","security-compliance","mlops-model-ops"],beforeAfterStats:[{metric:"Deployment Frequency",before:"1x/month",after:"12x/day",impact:"360x faster releases"},{metric:"Infrastructure Cost",before:"$85k/mo",after:"$31k/mo",impact:"64% cost reduction"},{metric:"Error Budget Adherence",before:"72% compliance",after:"99.2% compliance",impact:"Near-perfect SLO tracking"}],industryPatterns:[{industry:"Finance",useCase:"Legacy core banking modernization",example:"Migrated COBOL mainframe to Java microservices with zero-downtime, achieving 78% cost reduction and enabling real-time fraud detection"},{industry:"Retail",useCase:"E-commerce platform scalability",example:"Modernized monolithic e-commerce to API-first architecture, handling 12x Black Friday traffic with 82% latency reduction"},{industry:"Healthcare",useCase:"HIPAA-compliant EHR integration",example:"Modernized patient data platform with end-to-end encryption, achieving SOC 2 Type II and 95% faster API response times"}],architectureGuide:[{approach:"Modular Monolith",when:"Teams <50, Rails/Django/monorepo culture, gradual migration preferred",tradeoffs:"Faster deployment (4-6 weeks), simpler ops, but limited independent scaling",bestFor:"SMB, startups scaling to mid-market, risk-averse organizations"},{approach:"Microservices",when:"Large teams (50+), polyglot requirements, independent scaling critical",tradeoffs:"Maximum flexibility and scale, but higher operational complexity and DevOps maturity required",bestFor:"Enterprise, high-growth SaaS, multi-product platforms"},{approach:"Strangler Fig",when:"Legacy systems with high risk, phased migration over 12-24 months",tradeoffs:"Lowest risk with continuous delivery, but longer timeline and dual-system maintenance",bestFor:"Government, heavily regulated industries, mission-critical systems"},{approach:"Hybrid (Modular + Services)",when:"Mid-size teams, balance of governance and flexibility needed",tradeoffs:"Pragmatic approach avoiding microservices sprawl, but requires strong architectural judgment",bestFor:"Growing companies, B2B SaaS, platform teams"}],procurementReadiness:["Performance SLAs: p95 latency targets, throughput guarantees, error budget commitments","Cost projections: Infrastructure cost reduction estimates, ROI timeline, scaling cost models","Zero-downtime guarantee: Dual-run validation, rollback procedures, incident response SLAs","Observability deliverables: Distributed tracing, error budgets, custom dashboards, alert runbooks","Migration evidence: Before/after performance reports, architecture diagrams, cutover checklists","Compliance: SOC 2 Type II, HIPAA, PCI-DSS support for regulated environments","Support: Runbook handoff, 30-day post-launch support, escalation procedures"]},{key:"security-compliance",slug:"security-compliance",name:"AI Security & Compliance",heroHeadline:"97% of Organizations Experienced an AI Security Breach in 2023. Compliance Alone Didn't Stop It.",heroSubheadline:"Your AI systems process sensitive data, make critical decisions, and interact with customers. Traditional compliance frameworks weren't designed for prompt injection, model theft, or data poisoning attacks. You need security built for AI—and compliance that proves it.",promise:"AI-specific security hardening with compliance frameworks that matter.",bullets:["AI threat protection","Continuous monitoring","Audit-ready evidence"],whatYouGet:["AI threat assessment: prompt injection, model theft, data poisoning vulnerability analysis","LLM security hardening: input validation, output filtering, jailbreak protection","Model access controls: RBAC, API key management, usage monitoring","AI-specific SBOM: model lineage, training data provenance, dependency tracking","Compliance mapping: SOC 2, ISO 27001, HIPAA, NIST AI RMF alignment","Continuous monitoring: anomaly detection, drift monitoring, incident response","Audit evidence pack: security controls documentation, penetration test results, compliance artifacts"],icon:Xk,gradient:"from-data-cyan to-primary",outcomes:["AI-specific vulnerabilities identified and mitigated","Zero critical findings in AI security assessment","SOC 2 + NIST AI RMF compliance evidence delivered","Continuous monitoring and alerting operational","Full audit trail for AI system decisions"],timeline:"4–8 weeks",team:["Security Architect","ML Security Engineer","Compliance Lead","DevSecOps Engineer"],inputs:["AI/ML system architecture documentation","Model inventory and deployment configurations","Current security policies and compliance requirements","Access control matrix and API documentation","Incident response procedures and audit timeline"],tech:"AI security tools (Lakera, Protect AI, Robust Intelligence); SAST/DAST for ML pipelines; model monitoring (Arize, WhyLabs); compliance automation (Vanta, Drata integration); SBOM generation for ML (SPDX, CycloneDX)",proof:["AI threat assessment report with remediation roadmap","Penetration test results for AI endpoints","Compliance mapping to SOC 2, ISO 27001, NIST AI RMF","Model security controls documentation","Continuous monitoring dashboard with alerting","Audit evidence pack with control attestations"],faqs:[{question:"What AI-specific threats do you address?",answer:"We assess and mitigate prompt injection, jailbreaks, data poisoning, model extraction, membership inference, and adversarial attacks specific to your AI systems."},{question:"Do you help with SOC 2 for AI systems?",answer:"Yes. We map AI-specific controls to SOC 2 Trust Service Criteria and prepare evidence packs. Your auditor issues the formal report; we provide audit-ready documentation."},{question:"What is NIST AI RMF and why does it matter?",answer:"NIST AI Risk Management Framework is the emerging standard for AI governance. Early adoption positions you ahead of regulations and demonstrates AI responsibility to customers and regulators."},{question:"Can you secure both cloud and self-hosted AI?",answer:"Yes. We secure AI systems regardless of deployment: cloud APIs (OpenAI, Anthropic), self-hosted models, fine-tuned models, and hybrid architectures."},{question:"How is this different from traditional application security?",answer:"Traditional appsec doesn't address AI-specific attack vectors. We add prompt injection testing, model behavior analysis, training data security, and AI output validation on top of standard security practices."},{question:"What about ongoing monitoring after the engagement?",answer:"We deploy continuous monitoring for model drift, anomalous usage patterns, and security events. You can self-operate or engage us for managed security services."}],relatedProducts:["vista","neurosight"],popularIndustries:["finance","healthcare","technology"],seoTitle:"AI Security & Compliance | Secure Your Production AI Systems | Allerin",seoDescription:"97% of organizations experienced an AI security breach in 2023. Protect your AI systems with specialized security assessments, SOC 2 + NIST AI RMF compliance, and continuous monitoring.",personas:["CISO","VP Engineering","Head of AI/ML","Compliance Officer"],relatedServices:["platform-modernization","mlops-model-ops"],beforeAfterStats:[{metric:"Production CVEs",before:"37 critical",after:"0",impact:"100% vulnerability elimination"},{metric:"Audit Prep Time",before:"6 weeks",after:"2 days",impact:"95% faster compliance"},{metric:"SBOM Coverage",before:"0% dependencies tracked",after:"100% supply chain visibility",impact:"Full dependency transparency"},{metric:"Missing Controls Closed",before:"24 ASVS gaps",after:"0 open findings",impact:"Audit-ready control compliance"}],industryPatterns:[{industry:"Healthcare",useCase:"HIPAA compliance for patient data platform",example:"Implemented PHI encryption at rest/transit, BAA templates, audit logging, and breach notification procedures achieving full HIPAA technical safeguards compliance"},{industry:"Finance",useCase:"PCI-DSS compliance for payment processing",example:"Deployed cardholder data tokenization, network segmentation, quarterly ASV scans, and annual penetration tests meeting PCI-DSS Level 1 requirements"},{industry:"Government",useCase:"FedRAMP authorization for cloud services",example:"Delivered SSP documentation, FIPS 140-2 encryption, ConMon integration, and POA&M tracker enabling FedRAMP Moderate ATO"}],procurementReadiness:["Security audit deliverables: OWASP Top 10 report, SAST/DAST findings, penetration test results","Compliance evidence: WCAG 2.1 AA audit report, remediation logs, accessibility test results","SBOM artifacts: CycloneDX/SPDX format, license analysis, vulnerability-to-component mapping","Remediation timeline: Critical CVE fixes (1 week), high-severity (2 weeks), compliance evidence (3-4 weeks)","Framework alignment: OWASP, NIST CSF, CIS Controls, FedRAMP for government contractors","Regulation support: HIPAA (healthcare), SOC 2 Type II (SaaS), PCI-DSS (payments), GDPR (EU data)","Risk documentation: Accepted risk register, compensating controls, remediation roadmap"]},{key:"product-pods",slug:"product-pods",name:"Product Pods",promise:"Dedicated pods + fractional leadership. Predictable throughput, zero-freeze onboarding, audit-ready workflows.",bullets:["Velocity without churn","Transparent cadence","Lower risk"],whatYouGet:["Pod charter with clear ownership, scope boundaries, and escalation paths","Weekly sprint demos with stakeholder Q&A and feedback loops","Bi-weekly retrospectives with actionable improvement items tracked","Monthly roadmap health review: velocity trends, at-risk epics, dependency status","Real-time backlog visibility: definition of ready/done, acceptance criteria templates","Incident response SLOs: P0/P1 triage, post-mortem reports, mitigation tracking","Transparent metrics dashboard: sprint completion, carry-over %, bug density, PR cycle time"],icon:GI,gradient:"from-data-blue to-data-orange",outcomes:["Predictable delivery velocity without turnover disruption","Sprint carry-over reduced to <10%","Clear ownership and scope with defined escalation paths","Measurable sprint completion rate >90%","Bug density <2 per 1K LOC; production incidents tracked and closed","Faster time-to-production with continuous delivery cadence"],timeline:"Ongoing engagement; monthly or quarterly renewal",team:["Pod Lead (1 FTE): sprint planning, risk mitigation, stakeholder sync","Frontend Engineers (2 FTE): component library, UI/UX, accessibility, performance","Backend Engineers (2 FTE): API design, data models, integrations, security","QA Engineer (1 FTE): test automation, regression, performance, bug triage","Product Manager (0.5 FTE): feature prioritization, acceptance criteria, metrics"],inputs:["Product roadmap and quarterly priorities with success criteria","Current velocity baseline and key pain points (carry-over, bug rates, lead time)","Definition of Ready (DoR) and Definition of Done (DoD) checklists","Tooling and access: issue tracker, repos, CI/CD, observability, Slack/Teams","Incident and bug SLOs: response time, severity thresholds, escalation policy"],tech:"Stack-agnostic; we adapt to your existing tooling and infrastructure. Common integrations: Jira/Linear, GitHub/GitLab, CircleCI/GitHub Actions, Datadog/Sentry, Slack/Teams. Pod uses your conventions for branching, PR reviews, deployments, monitoring.",proof:["Sprint velocity chart: 12-week trend with baseline and current average","Carry-over trend: % of stories rolled sprint-to-sprint","Roadmap health dashboard: epic progress, at-risk items, dependency blockers","Bug density and incident metrics: critical bugs per release, P0/P1 response times","Sample sprint report: committed vs. completed points, feature breakdown, health scores","Code quality metrics: test coverage %, PR review cycle time, DORA metrics (deployment frequency, lead time)","Exit in a Box sample: knowledge transfer package TOC with runbooks, IaC, docs, and transition timeline"],faqs:[{question:"How do pods integrate with our existing team?",answer:"We align with your sprint cadence, tooling, and processes. Weekly demos and retrospectives ensure transparency. Pods work as an extension of your team, not a silo."},{question:"What if our priorities change mid-sprint?",answer:"We re-plan at sprint boundaries with transparent backlog grooming. For urgent pivots, we use feature flags and staged rollouts to avoid disruption."},{question:"How is pricing structured?",answer:"Fixed monthly pod fee covering pod lead, engineers, QA, and fractional PM. No hidden costs; pricing scales with pod size and engagement length."},{question:"What's the handoff process if we bring development in-house?",answer:"We provide full documentation, knowledge transfer sessions, and shadowing periods. All code, tests, and CI/CD configs are yours; we train your team to maintain velocity post-transition."},{question:"How do you handle production incidents?",answer:"We follow your incident SLOs: P0/P1 triage within 1 hour, post-mortem reports within 48 hours, mitigation tracking with root cause analysis."},{question:"Can pods work with our offshore or distributed team?",answer:"Yes. We adapt to your timezone and overlap requirements. Async communication, clear handoffs, and documented decisions ensure distributed teams stay aligned."}],relatedProducts:["ipam","vista","sentra"],popularIndustries:["retail","finance","manufacturing"],seoTitle:"Product Pods: Dedicated Engineering Teams with Fractional Leadership | Allerin",seoDescription:"Scale product velocity without churn. Predictable delivery with dedicated pods, transparent sprint cadence, and measurable roadmap health. 4x faster shipping with <10% carry-over.",personas:["CPO","Engineering VP","Product Lead"],relatedServices:["genai-accelerator","platform-modernization","rapid-prototyping"],beforeAfterStats:[{metric:"Feature Velocity",before:"2.1/sprint",after:"8.4/sprint",impact:"4x faster shipping"},{metric:"Bug Density",before:"12/kloc",after:"1.8/kloc",impact:"85% code quality boost"},{metric:"Carry-Over %",before:"38%",after:"6%",impact:"Cleaner sprint boundaries"},{metric:"Time to Production",before:"3.2 weeks",after:"1.1 weeks",impact:"66% faster shipping"},{metric:"Lead Time for Change",before:"14 days",after:"3 days",impact:"78% faster delivery (p50)"},{metric:"Change Failure Rate",before:"28%",after:"<10%",impact:"Higher release quality"}],industryPatterns:[{industry:"Retail/E-commerce",useCase:"Checkout optimization and inventory sync",example:"Pod reduced cart abandonment by 42% via A/B tested checkout flows and real-time inventory API; shipped 6 payment gateway integrations in 8 weeks."},{industry:"Finance/Fintech",useCase:"Compliance features and fraud detection",example:"Pod delivered SOC 2-ready audit trails, KYC/AML workflows, and ML-based fraud scoring; critical compliance features shipped on regulatory deadlines."},{industry:"SaaS",useCase:"Growth features and onboarding flows",example:"Pod implemented self-serve onboarding with in-app tours, feature flags, and analytics; time-to-value reduced from 7 days to 90 minutes."}],procurementReadiness:["Pod composition and role allocation: detailed breakdown of FTE allocations, responsibilities, reporting structure","Engagement terms: monthly or quarterly renewals, 30-day notice for changes, SLA commitments documented","Deliverables cadence: weekly demos, bi-weekly retrospectives, monthly roadmap health reports with metrics","Pricing transparency: fixed monthly fee per pod, no hidden costs; optional add-ons for specialized roles (ML, DevOps, security)","Handoff and knowledge transfer: documentation, shadowing, training sessions included at no extra cost","Security and compliance: background checks, NDAs, SOC 2/ISO 27001 compliance evidence on request","Tooling and access requirements: issue tracker, repos, CI/CD, observability, Slack/Teams; SSO/SAML support","Incident response commitments: P0/P1 SLOs, escalation paths, post-mortem timelines, on-call rotation if required"]},{key:"ai-orchestration",slug:"ai-orchestration",name:"AI Platform & Orchestration",promise:"One control plane to design, run, observe, and govern multi-agent/LLM apps—with routing, guardrails, and audit trails at enterprise scale.",bullets:["77% lower AI run costs","99% faster model switching","Full audit compliance"],whatYouGet:["3-5 week build","orchestrator + guardrails","run log + observability"],icon:Pv,gradient:"from-data-orange to-data-amber",outcomes:["Orchestration graph with retries, timeouts, circuit breakers, and backoff logic for multi-agent coordination","Multi-model routing engine with cost/latency policies, automatic fallbacks, and budget enforcement","Central run log with PII redaction, prompt versioning, actor tracing, and compliance-ready audit trails","Guardrails blocking unsafe actions (jailbreak, toxicity, groundedness) with eval suite passing agreed thresholds","Observability stack with traces, metrics, and alerting for latency spikes, cost anomalies, and error rates","SSO/SAML integration, role-based access control (RBAC), and secrets management for secure enterprise deployment"],timeline:"3-5 weeks",team:"architect, MLE, platform eng, QA",inputs:["Agent/tool inventory with dependencies and call graph (e.g., fraud_detector → KYC_agent → document_parser)","Model providers and cost/latency constraints (e.g., GPT-5 for complex reasoning, Llama for high-volume classification)","Safety policies and risk tolerance (jailbreak detection, toxicity thresholds, groundedness checks, PII redaction rules)","Audit and compliance requirements (SOC 2, HIPAA, FedRAMP, GDPR; data residency, retention policies)","Target SLAs (p95 latency <2s, success rate >99%, budget cap $X/month, uptime 99.9%)"],tech:"LangGraph/Temporal/Argo for orchestration; multi-model routing (OpenAI GPT-5/4, Anthropic Claude, Google Gemini, Llama/Mistral); vector stores (Pinecone, Weaviate, pgvector); observability (Datadog/Grafana, OpenTelemetry); on-prem/GovCloud deployment; SSO/SAML (Okta, Auth0); secrets management (Vault, AWS Secrets Manager)",proof:["SLA verification: p95 latency and success-rate targets met on 3 critical flows with load testing results","Cost governance: Budget caps enforced with real-time alerts; model switchovers proven with A/B test logs","Audit trail: Run log traces every request with actor ID, timestamp, prompt version, tool calls, outputs, and PII redaction proof","Safety validation: Guardrails block unsafe actions in test scenarios; eval suite passes agreed accuracy/safety thresholds","Orchestration graph sample: DAG visualization with retry logic, timeouts, and agent dependencies (available on request)","Cost optimization report: Model routing savings breakdown with before/after spend analysis (available on request)"],faqs:[{question:"How is this different from Agentic AI Systems?",answer:"Agentic AI Systems builds the agents and workflows. AI Orchestration is the control plane that manages multi-agent flows, routes between models, enforces cost policies, provides audit trails, and scales to 10+ agents with governance. Think of it as the infrastructure layer for production AI."},{question:"What models do you support?",answer:"OpenAI (GPT-5/4), Anthropic (Claude 3.5/3), Google (Gemini 2.0/1.5), local models (Llama 3, Mistral), and custom fine-tuned models. We handle routing logic, automatic fallbacks on errors, and cost optimization based on task complexity."},{question:"Can this run on-prem or in GovCloud?",answer:"Yes. We deploy the control plane in your VPC, on-prem data center, or AWS GovCloud/Azure Government with SSO integration, secrets management, and policy enforcement. All data stays within your environment."},{question:"How do you prevent runaway costs?",answer:"Budget caps with real-time alerts, intelligent model routing based on cost/latency policies (e.g., use Llama for simple tasks, GPT-5 for complex reasoning), request throttling per agent, and daily/monthly spend dashboards. All configurable per agent or flow."},{question:"How is pricing structured?",answer:"Three options: (1) Per-agent pricing for small deployments (1-5 agents), (2) Platform fee for 6-20 agents with observability and governance included, (3) Custom enterprise quote for 20+ agents with SLA commitments, dedicated support, and on-prem deployment."},{question:"What compliance certifications do you support?",answer:"Our orchestration platform supports SOC 2 Type II, HIPAA, FedRAMP, and GDPR compliance. We provide audit logs, PII redaction, data residency controls, role-based access (RBAC), and encryption at rest and in transit. Compliance evidence package available on request."}],relatedProducts:["vista","neurosight"],popularIndustries:["finance","healthcare","manufacturing"],seoTitle:"AI Orchestration Platform: Multi-Agent Control Plane for Enterprise | Allerin",seoDescription:"Enterprise AI orchestration with 77% cost reduction, 99% faster model routing, and full audit compliance. Multi-agent coordination, guardrails, and observability deployed in 3-5 weeks.",personas:["AI Platform Lead","CTO","Engineering VP"],relatedServices:["agentic-ai","mlops-model-ops","genai-accelerator"],beforeAfterStats:[{metric:"Model Switching Time",before:"3 weeks",after:"5 minutes",impact:"99% faster routing"},{metric:"AI Run Costs",before:"$18k/mo",after:"$4.2k/mo",impact:"77% cost reduction"},{metric:"Agent Coordination Latency",before:"8.4s",after:"1.2s",impact:"86% faster multi-agent flows"},{metric:"API Call Volume",before:"2.4M/mo",after:"890k/mo",impact:"63% fewer redundant calls"},{metric:"Audit Compliance Score",before:"62%",after:"98%",impact:"Full SOC 2 readiness"},{metric:"Model Fallback Success",before:"73%",after:"99.2%",impact:"Zero downtime on provider outages"}],industryPatterns:[{industry:"Finance",useCase:"Multi-agent fraud detection with real-time coordination",example:"Global bank deployed 8-agent fraud detection system: transaction_analyzer → risk_scorer → KYC_validator → document_verifier → decision_engine. Orchestration reduced false positives by 41% via intelligent model routing (Llama for fast scoring, GPT-5 for complex case review) and cut per-transaction cost from $0.18 to $0.04. Audit log provides full trace for regulatory compliance (FINRA, FinCEN)."},{industry:"Healthcare",useCase:"Clinical workflow automation with HIPAA-compliant orchestration",example:"Healthcare system automated prior authorization with 5-agent workflow: intake_bot → clinical_reviewer → policy_checker → approval_engine → notification_sender. Orchestration enforced PII redaction, provided HIPAA audit trails, and reduced authorization time from 4.2 days to 6 hours. On-prem deployment with SSO integration for 1,200 clinicians."},{industry:"Manufacturing",useCase:"Supply chain optimization with agentic planning",example:"Manufacturer deployed 6-agent supply chain planner: demand_forecaster → inventory_optimizer → supplier_coordinator → logistics_router → risk_assessor → decision_reporter. Orchestration reduced planning cycle from 3 days to 4 hours, cut expedited shipping by 38%, and provided real-time visibility into agent decision logic for executive reporting."}],procurementReadiness:["Pricing tiers: (1) Per-agent: $2,500-$5,000/agent/month for 1-5 agents; (2) Platform fee: $15k-$30k/month for 6-20 agents with observability and governance; (3) Custom enterprise: Quote for 20+ agents with SLA commitments and dedicated support","SLA commitments: 99.9% uptime, p95 latency <2s, success rate >99%, 1-hour response for P0 incidents, 4-hour response for P1; post-mortem reports within 48 hours","Security and compliance: SOC 2 Type II, HIPAA, FedRAMP, ISO 27001 certifications; PII redaction, data residency controls, encryption at rest and in transit; compliance evidence package available on request","Deployment options: SaaS (multi-tenant), dedicated VPC (single-tenant), on-prem (your data center), GovCloud/Azure Government; SSO/SAML integration (Okta, Auth0, Azure AD)","Deliverables: Orchestration platform with DAG editor, run log dashboard, cost tracking, guardrails config, observability stack; technical documentation, runbooks, training sessions; 30-day post-launch support","Observability and monitoring: Real-time dashboards for latency, cost, error rates; alerting for budget spikes, SLA violations, guardrail triggers; OpenTelemetry traces exported to your stack (Datadog, Grafana, Splunk)","Model provider flexibility: Bring your own API keys (OpenAI, Anthropic, Google) or use our managed endpoints; support for local models (Llama, Mistral) and custom fine-tuned models; no vendor lock-in","Knowledge transfer and handoff: Full source code, IaC (Terraform/CloudFormation), CI/CD pipelines, runbooks, and architecture diagrams; 2-week shadowing period with your team; optional ongoing managed services"],acceptanceCriteria:["Orchestration graph deployed with retries, timeouts, circuit breakers, and backoff logic for multi-agent coordination","Multi-model routing engine configured with cost/latency policies, automatic fallbacks, and budget enforcement tested on 3 critical flows","Central run log capturing 100% of requests with actor ID, timestamp, prompt version, tool calls, outputs, and PII redaction validated","Guardrails blocking unsafe actions (jailbreak, toxicity, groundedness) with eval suite passing agreed accuracy thresholds (e.g., >95% precision)","Observability stack (Datadog/Grafana) integrated with traces, metrics, alerting for latency spikes, cost anomalies, and error rates","SSO/SAML authentication configured with RBAC for platform access; secrets management (Vault/AWS Secrets Manager) integrated","SLA targets met on load testing: p95 latency <2s, success rate >99%, cost per request within budget cap","Compliance requirements validated: Audit logs meet SOC 2/HIPAA/FedRAMP standards; data residency and retention policies enforced","Knowledge transfer completed: Technical documentation, runbooks, IaC, and 2-week shadowing period with your team","Post-launch support: 30-day on-call coverage with 1-hour P0 response, 4-hour P1 response; post-mortem process documented"]},{key:"rapid-prototyping",slug:"rapid-prototyping",name:"Rapid Prototyping Lab",promise:"Executive-ready prototypes + tech spikes in 2 weeks. De-risk before you build—clear go/no-go with user validation and feasibility proof.",bullets:["Stakeholder buy-in","Validated UX + tech spike","Clear build/no-build call"],whatYouGet:["2-week lab","user-tested prototype","tech spike"],icon:Ef,gradient:"from-data-cyan to-data-teal",outcomes:["Clickable prototype covering 5-7 critical flows","Tech spike code for riskiest section (e.g., RAG, CV, SSO)","Risk register with cost/effort T-shirt sizing","Clear decision: proceed, park, or pivot"],timeline:"2 weeks",team:"architect, UX, FE, MLE/BE (spike)",inputs:["User journeys or workflow maps","Riskiest technical assumption (RAG accuracy, latency, integration)","Target users for testing (5+ participants)","Decision criteria and stakeholders","Budget and timeline constraints"],tech:"Figma or code-based prototype; tech spike in target stack (Python/Node/Rails); cloud or on-prem",proof:["User testing session recordings + synthesis","Tech spike benchmarks (latency, accuracy, feasibility)","Risk register with mitigation options","Decision brief with next-step recommendations"],faqs:[{question:"How is this different from a full MVP?",answer:"This is a decision tool, not production code. The prototype validates UX; the spike proves technical feasibility. Use it to de-risk before committing to a full sprint."},{question:"What if the spike reveals a blocker?",answer:"That's success—you avoid wasting months. We document alternatives and pivot options in the decision brief."},{question:"Can we test with real users?",answer:"Yes. We include 5 moderated user tests; you provide participants or we recruit."},{question:"What's the output format?",answer:"Clickable prototype (Figma or live code), spike repo, risk register spreadsheet, and executive decision brief (PDF)."},{question:"How do you protect IP during prototyping?",answer:"All work is work-for-hire with NDAs. Code lives in your repos with SSO access. Team uses vetted, hardened devices. Background checks on all personnel."},{question:"Can we prototype regulatory or compliance features?",answer:"Yes. We include audit trails, access controls, and compliance mapping in prototypes. Tech spikes validate data residency, encryption, and regulatory requirements."},{question:"What happens after the 2-week lab?",answer:"You receive a decision brief with go/no-go recommendation. If 'Proceed', we transition to Product Pods or a specialized accelerator (GenAI, CV) with a 90-day delivery plan."}],relatedProducts:["vista","neurosight"],popularIndustries:["manufacturing","retail","finance"],seoTitle:"Rapid Prototyping Lab: 2-Week Executive Prototypes & Tech Spikes | Allerin",seoDescription:"De-risk product decisions with user-tested prototypes and technical feasibility spikes in 2 weeks. Clear build/no-build recommendations with risk analysis.",personas:["CTO/CIO","Product Lead","Innovation"],relatedServices:["genai-accelerator","computer-vision-fasttrack","product-pods"],beforeAfterStats:[{metric:"Decision Cycle",before:"6 weeks",after:"2 weeks",impact:"3x faster validation"},{metric:"Wasted Dev Time",before:"4 sprints",after:"0",impact:"De-risked before commit"},{metric:"Cost of Wrong Decision",before:"$400k wasted",after:"$18k prototype",impact:"96% cost avoidance"},{metric:"Stakeholder Alignment",before:"8 weeks",after:"2 weeks",impact:"75% faster buy-in"},{metric:"Feature Validation Rate",before:"40% unused",after:"85% adopted",impact:"2x feature success"},{metric:"Risk Identification",before:"20% risks found",after:"90% risks mapped",impact:"4.5x risk visibility"}],industryPatterns:[{industry:"Manufacturing",useCase:"CV-based defect detection feasibility",example:"Prototyped defect dashboard + spike on model accuracy for top 3 defect types. Validated 91% accuracy, greenlit with $1.2M/yr savings projection."},{industry:"Retail",useCase:"GenAI personalization validation",example:"Clickable e-commerce flow + RAG spike with product catalog. User testing revealed checkout friction; pivoted design, de-risked integration."},{industry:"Finance",useCase:"Fraud detection ML + compliance",example:"Tech spike on model precision/recall + compliance framework prototype. Proved 94% precision, mapped audit trail requirements, greenlit for build."}]},{key:"integration-fasttrack",slug:"integration-fasttrack",name:"Integration FastTrack",promise:"Production-ready connectors with test suites and docs.",bullets:["Zero-surprise cutovers","Fewer data errors","Battle-tested retries"],badges:["Zero-Downtime","Contract-Driven","Dual-Run Validation","Production-Ready"],whatYouGet:["Spec pack: sequence diagrams, auth scopes, OpenAPI/Protobuf/Avro/JSON schema","Test harness: unit/contract/integration; replayable fixtures; mock servers","Error taxonomy + retry/backoff and idempotency keys","Reconciliation jobs + variance dashboards; backfill plan","Runbooks: deploy/rollback, replay, DLQ handling, on-call workflow","Security: SAST/DAST/SCA clean; secrets in KMS; PII masking; least-privilege","Docs: setup, versioning policy, change log, support SLAs"],icon:_f,gradient:"from-data-blue to-data-cyan",outcomes:["≥99.5% successful sync on sample data","Webhook + retry/idempotency logic battle-tested","Dual-run reconciliation with <0.5% variance","Alerting, runbooks, and versioned docs"],timeline:"3–6 weeks depending on protocol count and vendor responsiveness",team:"Integration lead, BE, BE/SRE, QA, architect; optional security reviewer",inputs:["Source/target contracts (OpenAPI/GraphQL/EDIFACT/X12/FHIR/NIEM/etc.)","Test credentials + sandbox tenants; sample datasets; data ownership","Error/timeout/rate-limit policy; throughput targets; idempotency rules","Mapping specs; transformation rules; PII handling","Environments, CI/CD, and observability access"],tech:"Middleware: MuleSoft, Boomi, Apache Camel, Node.js/Python. Message Brokers: Kafka, RabbitMQ, AWS SQS/SNS. API Management: Kong, Apigee, AWS API Gateway. Contract Testing: Pact, Postman/Newman. Monitoring: Datadog, Prometheus + Grafana.",proof:["Sync success rate dashboard (≥99.5%)","Dual-run reconciliation report","Contract test suite and fixtures","Runbook and alerting config"],faqs:[{question:"What guarantees do you provide?",answer:"Idempotency and at-least-once or exactly-once semantics as required; documented with tests and DLQ strategy."},{question:"How do you handle vendor rate limits?",answer:"Token bucket/backoff; deterministic retries; circuit breaker."},{question:"Can you support on-prem + air-gap?",answer:"Yes—agent-based or message-bus drop zones; signed artifacts; offline reconciliation."},{question:"How do you secure secrets?",answer:"KMS-backed secret stores; SCIM for service accounts; key rotation playbooks."},{question:"What's the handoff?",answer:"Code, tests, runbooks, dashboards, and training; we can operate under a managed-service SLO or hand back to your team."}],relatedProducts:["ipam","sentra"],popularIndustries:["manufacturing","retail","government","energy-utilities"],seoTitle:"Integration FastTrack: Enterprise System Integration in 8-12 Weeks | Allerin",seoDescription:"Bridge legacy systems to modern platforms with 99.7% sync success. Includes dual-run validation, contract testing, and zero-downtime deployment for ERP, WMS, CAD/RMS, and GIS systems.",personas:["Integration Eng","Platform Eng","CTO"],relatedServices:["data-analytics-platform","platform-modernization"],beforeAfterStats:[{metric:"Sync Success Rate",before:"91.8%",after:"99.7%",impact:"+7.9% reliability"},{metric:"Integration Time",before:"18 weeks",after:"10 weeks",impact:"44% faster delivery"},{metric:"Data Variance",before:"2.3%",after:"0.3%",impact:"87% improvement"}],industryPatterns:[{industry:"Manufacturing",useCase:"ERP ↔ MES ↔ QMS Integration",example:"Real-time production data sync with <500ms latency. 99.7% sync success across 800K+ records. Zero production impact during cutover."},{industry:"Retail & E-Commerce",useCase:"E-commerce ↔ ERP ↔ WMS ↔ Payment Integration",example:"Order-to-cash flow integrity with <1 second latency. Inventory variance <0.1%. Seamless Black Friday 10x load handling."},{industry:"Government & Public Sector",useCase:"CAD/RMS ↔ Records Management ↔ GIS Integration",example:"CJIS-compliant criminal justice data integration. 100% audit trail coverage. Zero data loss during cutover."},{industry:"Energy & Utilities",useCase:"SCADA ↔ GIS ↔ Asset Management Integration",example:"Real-time asset status sync. GIS layer reconciliation <0.5% variance. Outage event propagation <2 minutes."}],architectureGuide:[{approach:"Strangler Fig Pattern",when:"Legacy modernization with gradual migration",tradeoffs:"Lower risk, longer timeline, dual-run complexity",bestFor:"ERP migrations, mission-critical systems"},{approach:"Event-Driven Integration",when:"Real-time sync requirements",tradeoffs:"Scalable, resilient, requires message broker infrastructure",bestFor:"E-commerce, IoT, high-volume transactions"},{approach:"API Gateway + BFF",when:"Multiple consumers (mobile, web, partners)",tradeoffs:"Centralized control, potential bottleneck",bestFor:"Multi-channel applications, API economy"}],procurementReadiness:["All data classified per your schema (PII, PHI, CUI, public)","Encryption in transit (TLS 1.3) and at rest (AES-256)","Audit logging for every API call and data access event","Open standards preferred (REST/JSON, OpenAPI) over proprietary formats","Source code and IP ownership transferred under work-for-hire agreement","HIPAA BAA, PCI-DSS, SOC 2 Type II, CJIS compliance available","Fixed-price engagement with milestone-based payments (30/40/30)","SLA: 99.9% uptime, <1 hour P1 response, 30 days post-production support"],compatibilityMatrix:{protocols:["REST/GraphQL/gRPC","SOAP","SFTP/S3","Kafka/Kinesis/PubSub","Webhooks"],messageBrokers:["Kafka","RabbitMQ","AWS SQS/SNS","Azure Service Bus","Google Pub/Sub"],messageFormats:["JSON/Avro/Protobuf/NDJSON/CSV","EDI X12 (270/271/276/277/835/837)","HL7/FHIR"],targetSystems:["SAP/SuccessFactors","Oracle","Workday","Salesforce","ServiceNow","Dynamics","Netsuite","Okta/Azure AD (SCIM/OIDC/SAML)","Snowflake/BigQuery/Redshift","ArcGIS/Feature Services","S3/GCS/Azure Blob","Triton/MLflow","VMS/WMS/TMS/EAM/CMMS"]}},{key:"rails-upgrades",slug:"rails-upgrades",name:"Rails Upgrades without Feature Freeze",heroHeadline:"Ruby on Rails Upgrades That Don't Break Your Business",heroSubheadline:"Zero-downtime migrations from legacy Rails versions to modern, secure, high-performance applications. Trusted by startups, enterprises, and everything in between.",promise:"In-place Rails/Ruby upgrades while you keep shipping. Dual-boot + blue/green, strong_migrations, CI hardening, and SLO-driven tuning.",bullets:["Same-day cutovers, no freeze","p95 down ≥ 30%","Zero critical CVEs"],badges:["Dual-boot","Blue/green","strong_migrations","SLO-driven"],trustIndicators:["No credit card required","Assessment in 5 business days","100% confidential"],whatYouGet:["Upgrade plan: Ruby X→Y, Rails A→B; gem audit and shim strategy","Dual-boot enabled; green path proven in staging with traffic replay","Zero-downtime migrations via strong_migrations / gh-ost / pt-osc; backout path","CI/CD hardening: matrix builds (old/new), contract tests, flaky-test quarantine","Observability pack: pre/post p95, p99, error budgets, Slow Query log reports","Performance fixes: N+1 elimination; index strategy, partitioning; cache keys","Security hardening: Brakeman, bundler-audit/Snyk, CSP/HSTS, CSRF, session store, key rotation","Cost controls: puma worker math, pgbouncer, env-specific pool sizes, object store offload","Cutover runbook: canary %, health gates, 'abort switch,' rollback <10 min","Post-go-live hypercare (2-4 weeks) with SLO watch"],icon:$P,gradient:"from-data-amber to-data-teal",outcomes:["Same-day cutovers with dual-boot and safe migrations (no freeze)","Zero critical CVEs at release; dependency policy enforced in CI","p95 down ≥ 30% on named hot paths; error rate not worse","Deploy frequency ≥ daily with automatic canary and rollback","Infra and DB cost reduced 20-40% with YJIT, caching, pool tuning"],timeline:"4-8 weeks",team:"Rails lead, BE, SRE/DevOps, QA, Sec reviewer",inputs:["Codebase + Gemfile.lock, production configs, deploy scripts","Current perf/security reports; SLOs; infra costs; DB stats (pg_stat_statements)","Release calendar and downtime constraints","List of critical user journeys and SLAs","Access to CI/CD, observability, error tracking, DB consoles"],tech:"Ruby 3.2/3.3 with YJIT; Rails 7.x (Zeitwerk); Puma 6; PostgreSQL ≥13; strong_migrations; pgbouncer; OpenTelemetry; Datadog/New Relic/Grafana",proof:["All tests passing in both Rails versions","CVE count → 0 at release; SBOM generated","p95 latency improved ≥30% on defined endpoints","Rollback proven <10 minutes; blue-green cutover report"],faqs:[{question:"Do we need a feature freeze?",answer:"No; dual-boot + canary isolate risk. Your team keeps shipping features while we prepare the upgrade path in parallel."},{question:"How do you manage gem incompatibilities?",answer:"Targeted shims; parallel CI; remove shims post-cutover. We provide a compatibility matrix for your specific stack and develop solutions for problematic dependencies."},{question:"Can we keep our monolith?",answer:"Yes; optimize first; modularize only where ROI clears. We focus on performance and security gains without forcing an architectural rewrite."},{question:"What breaks most often?",answer:"ActiveStorage migrations, Zeitwerk autoload, autoload→eager_load, params changes, controller callbacks; we provide a compatibility matrix and handle these common pitfalls proactively."},{question:"How do you prove success?",answer:"Signed pre/post KPI report; rollback rehearsal; hypercare window. Every deliverable includes measurable metrics and audit-ready documentation."}],relatedProducts:["ipam"],popularIndustries:["finance","retail","healthcare"],seoTitle:"Rails Upgrades without Feature Freeze — dual-boot, blue-green, measurable p95 & cost wins | Allerin",seoDescription:"In-place Rails/Ruby upgrades while you keep shipping. Dual-boot + blue/green, strong_migrations, CI hardening, and SLO-driven tuning. 4–8 week sprint with audit-ready evidence.",personas:["Rails Lead","Backend Eng","CTO"],relatedServices:["platform-modernization","security-compliance"],beforeAfterStats:[{metric:"p95 latency",before:"2.4s",after:"280ms",impact:"target ≥ 30-60% drop"},{metric:"Deploy frequency",before:"1/month",after:"12/day",impact:"continuous delivery enabled"},{metric:"Infra cost",before:"$85k/mo",after:"$31k/mo",impact:"right-size + caching + YJIT"},{metric:"CVEs at release",before:">0",after:"0",impact:"Brakeman/bundler-audit/SBOM clean"}],industryPatterns:[{industry:"Finance & Fintech",useCase:"SaaS Platform Upgrade (Rails 6.1 → 7.1)",example:"Upgraded fintech API serving 2.4M transactions/day. Zero downtime, p95 from 1.8s → 680ms. PCI-DSS compliance maintained throughout. 18 CVEs eliminated."},{industry:"Retail & E-Commerce",useCase:"E-commerce Monolith Upgrade (Rails 5.2 → 7.1)",example:"Black Friday-ready Rails upgrade for 800K SKU catalog. 55% memory reduction enabled downsizing from 24 to 14 dynos. $86k annual savings."},{industry:"Healthcare & MedTech",useCase:"HIPAA-Compliant Patient Portal (Rails 4.2 → 7.1)",example:"Multi-version Rails upgrade with audit trail preservation. BAA compliance maintained. Zero data loss during dual-boot migration."}],architectureGuide:[{approach:"Dual-Boot",when:"Monolith with active feature work",tradeoffs:"Longer timeline (6-8 weeks), more CI complexity, but zero feature freeze",bestFor:"Teams shipping 20+ PRs/week, high-traffic apps, SaaS platforms"},{approach:"Blue-Green",when:"Clean cutover, strict rollback SLA (<10 min)",tradeoffs:"Requires 2x infrastructure temporarily, simpler CI setup",bestFor:"High-availability systems, financial services, enterprise SaaS"},{approach:"In-Place + Canary",when:"Small teams, lower traffic, faster timeline",tradeoffs:"Higher risk, requires robust monitoring and alerting",bestFor:"Startups, MVPs, low-complexity apps (<50K LOC)"}],procurementReadiness:["Source code and test suite audit with deprecation inventory","Zero-downtime deployment with rollback SLA (<10 min)","All tests passing in both Rails versions before cutover","CVE remediation with SBOM (CycloneDX format)","Performance SLA: ≥30% p95 improvement on defined endpoints","IP ownership: upgraded codebase and gem shims under work-for-hire","Fixed-price with milestone payments (30/40/30)","30 days post-cutover support included"],compatibilityMatrix:{protocols:["Rails 4.x → 7.x","Rails 5.x → 7.x","Rails 6.x → 7.x","Ruby 2.7 → 3.3"],messageBrokers:["Sidekiq","Resque","DelayedJob","ActiveJob"],messageFormats:["Heroku","AWS (ECS/EC2)","Render","Fly.io","Bare Metal","Docker/K8s"],targetSystems:["PostgreSQL","MySQL/MariaDB","Redis","Memcached","Devise","Pundit","CanCanCan","ActiveAdmin","RSpec","Minitest","Webpacker → Vite","Sprockets → Propshaft"]}}];var fU="Collapsible",[yU,bU]=Q(fU),[vU,jU]=yU(fU),NU=Qe.forwardRef((e,t)=>{const{__scopeCollapsible:s,open:a,defaultOpen:r,disabled:i,onOpenChange:n,...o}=e,[l,d]=se({prop:a,defaultProp:r??!1,onChange:n,caller:fU});return J.jsx(vU,{scope:s,disabled:i,contentId:fe(),open:l,onOpenToggle:Qe.useCallback(()=>d(e=>!e),[d]),children:J.jsx(ee.div,{"data-state":CU(l),"data-disabled":i?"":void 0,...o,ref:t})})});NU.displayName=fU;var wU="CollapsibleTrigger",kU=Qe.forwardRef((e,t)=>{const{__scopeCollapsible:s,...a}=e,r=jU(wU,s);return J.jsx(ee.button,{type:"button","aria-controls":r.contentId,"aria-expanded":r.open||!1,"data-state":CU(r.open),"data-disabled":r.disabled?"":void 0,disabled:r.disabled,...a,ref:t,onClick:ie(e.onClick,r.onOpenToggle)})});kU.displayName=wU;var MU="CollapsibleContent",AU=Qe.forwardRef((e,t)=>{const{forceMount:s,...a}=e,r=jU(MU,e.__scopeCollapsible);return J.jsx(ae,{present:s||r.open,children:({present:e})=>J.jsx(SU,{...a,ref:t,present:e})})});AU.displayName=MU;var SU=Qe.forwardRef((e,t)=>{const{__scopeCollapsible:s,present:a,children:r,...i}=e,n=jU(MU,s),[o,l]=Qe.useState(a),d=Qe.useRef(null),c=Z(t,d),m=Qe.useRef(0),h=m.current,x=Qe.useRef(0),u=x.current,p=n.open||o,g=Qe.useRef(p),f=Qe.useRef(void 0);return Qe.useEffect(()=>{const e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),le(()=>{const e=d.current;if(e){f.current=f.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";const t=e.getBoundingClientRect();m.current=t.height,x.current=t.width,g.current||(e.style.transitionDuration=f.current.transitionDuration,e.style.animationName=f.current.animationName),l(a)}},[n.open,a]),J.jsx(ee.div,{"data-state":CU(n.open),"data-disabled":n.disabled?"":void 0,id:n.contentId,hidden:!p,...i,ref:c,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":u?`${u}px`:void 0,...e.style},children:p&&r})});function CU(e){return e?"open":"closed"}var IU=NU,PU=kU,TU=AU;const RU=IU,OU=kU,DU=AU,qU=()=>{const[e,t]=Qe.useState(new Set);return J.jsx("section",{className:"py-section-y bg-background",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"max-w-3xl mb-3xl",children:[J.jsx("h2",{className:"text-4xl font-bold text-foreground mb-4",children:"Outcome Sprints & Co-Build Pods"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Time-boxed pushes to hit KPIs—with reversible rollouts and measurable acceptance criteria."})]}),J.jsx("div",{className:"grid md:grid-cols-3 gap-xl",children:gU.map(s=>{const a=s.icon,r=e.has(s.key);return J.jsxs(aU,{className:"clean-card flex flex-col h-full","data-service-key":s.key,onClick:()=>{s.key},children:[J.jsxs(rU,{children:[J.jsx("div",{className:`inline-flex p-3 rounded-lg bg-gradient-to-br ${s.gradient} mb-4 w-fit`,children:J.jsx(a,{className:"w-6 h-6 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground mb-2",children:s.name}),J.jsx(nU,{className:"text-sm text-muted-foreground",children:s.promise})]}),J.jsxs(oU,{className:"flex-1 hidden md:block",children:[J.jsx("ul",{className:"space-y-2 mb-4",children:s.bullets.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-data-teal mt-0.5 flex-shrink-0",children:"•"}),J.jsx("span",{children:e})]},t))}),J.jsxs(hU,{variant:"secondary",className:"text-xs",children:["What you get: ",s.whatYouGet.join(" · ")]})]}),J.jsx("div",{className:"md:hidden flex-1",children:J.jsxs(RU,{open:r,onOpenChange:()=>{return e=s.key,void t(t=>{const s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s});var e},children:[J.jsx(OU,{asChild:!0,children:J.jsxs(oz,{variant:"ghost",size:"sm",className:"w-full justify-between px-6 text-sm font-medium text-data-teal hover:text-data-teal/70",onClick:e=>e.stopPropagation(),children:["View deliverables",r?J.jsx(ll,{className:"h-4 w-4"}):J.jsx(al,{className:"h-4 w-4"})]})}),J.jsx(DU,{children:J.jsxs(oU,{className:"pt-0",children:[J.jsx("ul",{className:"space-y-2 mb-4",children:s.bullets.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-data-teal mt-0.5 flex-shrink-0",children:"•"}),J.jsx("span",{children:e})]},t))}),J.jsxs(hU,{variant:"secondary",className:"text-xs",children:["What you get: ",s.whatYouGet.join(" · ")]})]})})]})}),J.jsx(lU,{children:J.jsx(tt,{to:`/services/${s.slug}`,className:"w-full",onClick:e=>e.stopPropagation(),children:J.jsx(oz,{variant:"outline",className:"w-full min-h-[44px]",onClick:()=>{s.key},children:"View deliverables →"})})})]},s.key)})})]})})},EU=[{title:"p95 latency ↓46% in 6 weeks",summary:"Re-platformed hot paths, added tracing, tuned indices—no feature freeze.",badges:["Rails","Postgres","Grafana"],slug:"enterprise-saas-performance",outcome:"Performance",capability:"Analytics"},{title:"Infra spend ↓29% YoY",summary:"Batched edge inference on Jetson; cold storage tiering; fewer GPU hours.",badges:["Jetson","DeepStream","S3"],slug:"municipal-cv-cost",outcome:"Cost",capability:"CV"},{title:"Critical CVEs → 0 before go-live",summary:"OWASP sweep, SBOM, access logging; bulk video/audio redaction in VISTA.",badges:["VISTA","Brakeman","SAST"],slug:"redaction-compliance",outcome:"Compliance",capability:"GenAI"}],zU=["Speed","Cost","Performance","Compliance"],_U=["CV","Agentic","GenAI","Analytics"],LU=()=>{const[e,t]=Qe.useState(null),[s,a]=Qe.useState(null),r=(r,i)=>{if("outcome"===r){t(e===i?null:i)}else{a(s===i?null:i)}},i=EU.filter(t=>(!e||t.outcome===e)&&(!s||t.capability===s));return J.jsx("section",{className:"py-section-y relative bg-surface/30",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"text-center mb-3xl",children:[J.jsxs("h2",{className:"text-4xl md:text-6xl font-bold mb-xl",children:[J.jsx("span",{className:"text-foreground",children:"Case "}),J.jsx("span",{className:"bg-gradient-to-r from-data-orange to-data-teal bg-clip-text text-transparent",children:"Studies"})]}),J.jsxs("p",{className:"text-xl text-muted-foreground max-w-3xl mx-auto mb-2xl",children:["Selected outcomes from production deployments—measured using our"," ",J.jsx(tt,{to:"/how-we-measure",className:"text-data-teal hover:underline",children:"published method"}),"."]}),J.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-lg mb-2xl",children:[J.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[J.jsx("span",{className:"text-sm font-medium text-muted-foreground mr-2",children:"Outcome:"}),zU.map(t=>J.jsx(hU,{variant:e===t?"default":"outline",className:"cursor-pointer hover:bg-accent transition-colors",onClick:()=>r("outcome",t),children:t},t))]}),J.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[J.jsx("span",{className:"text-sm font-medium text-muted-foreground mr-2",children:"Capability:"}),_U.map(e=>J.jsx(hU,{variant:s===e?"default":"outline",className:"cursor-pointer hover:bg-accent transition-colors",onClick:()=>r("capability",e),children:e},e))]})]})]}),J.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-2xl mb-3xl",children:i.map((e,t)=>J.jsx(aU,{className:"group clean-card hover:shadow-medium transition-all duration-300 cursor-pointer",onClick:()=>{e.slug},children:J.jsxs(oU,{className:"p-2xl",children:[J.jsx("h3",{className:"text-2xl font-bold mb-sm text-foreground group-hover:text-data-teal transition-colors",children:e.title}),J.jsx("p",{className:"text-muted-foreground mb-xl leading-relaxed",children:e.summary}),J.jsx("div",{className:"flex flex-wrap gap-xs mb-xl",children:e.badges.map((e,t)=>J.jsx(hU,{variant:"secondary",className:"text-xs",children:e},t))}),J.jsxs(tt,{to:`/customers/${e.slug}?utm_source=home&utm_medium=case_band&utm_content=${e.slug}`,className:"inline-flex items-center text-data-teal hover:text-data-orange transition-colors font-medium",onClick:e=>e.stopPropagation(),children:["Read case study",J.jsx(Ka,{className:"ml-2 h-4 w-4 group-hover:translate-x-1 transition-transform"})]})]})},t))}),0===i.length&&J.jsx("div",{className:"text-center py-12",children:J.jsx("p",{className:"text-muted-foreground",children:"No case studies match your filters."})})]})})},FU=({procurementLink:e=!1,ctaConfig:t})=>{const[s,a]=Qe.useState(!1),[r,i]=Qe.useState("architect");return J.jsxs("section",{className:"relative py-section-y overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-data-orange/5 via-data-teal/5 to-data-blue/5"}),J.jsx("div",{className:"container relative z-10",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("h2",{className:"text-4xl md:text-5xl font-bold mb-xl",children:t?.headline||"Ready to build your product?"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-2xl leading-relaxed",children:t?.subhead||"84-person senior engineering team, measurable outcomes, fast routes to production."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-lg justify-center items-center",children:[J.jsxs(oz,{size:"lg",onClick:()=>{UO(!0,"discuss_project"),i("architect"),a(!0)},className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 transition-opacity text-lg px-8 min-h-[44px] min-w-[44px]",children:[J.jsx(oo,{className:"mr-2 h-5 w-5"}),t?.button||"Discuss Your Project"]}),t?t.secondary&&J.jsx("p",{className:"text-lg text-muted-foreground",children:t.secondary}):J.jsxs("button",{onClick:()=>{UO(!1,"request_demo"),i("demo"),a(!0)},className:"text-lg text-data-teal hover:text-data-orange transition-colors underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded px-4 py-2 min-h-[44px]",children:["Or request a product demo",J.jsx(Ka,{className:"inline ml-2 h-5 w-5"})]})]}),J.jsxs("p",{className:"mt-xl text-sm text-muted-foreground",children:["Procurement team?"," ",J.jsx("a",{href:"/trust",className:"underline hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded",onClick:()=>{BO("procurement_contact_click",{source:"final_cta_fineprint"})},children:"See our Trust Center →"})]})]})}),J.jsx(BG,{open:s,onOpenChange:a,defaultIntent:r,context:{sourcePage:window.location.pathname,sourceButton:"demo"===r?"final_cta_demo":"final_cta_discuss"}})]})};var WU="horizontal",HU=["horizontal","vertical"],VU=Qe.forwardRef((e,t)=>{const{decorative:s,orientation:a=WU,...r}=e,i=function(e){return HU.includes(e)}(a)?a:WU,n=s?{role:"none"}:{"aria-orientation":"vertical"===i?i:void 0,role:"separator"};return J.jsx(ee.div,{"data-orientation":i,...n,...r,ref:t})});VU.displayName="Separator";var BU=VU;const GU=Qe.forwardRef(({className:e,orientation:t="horizontal",decorative:s=!0,...a},r)=>J.jsx(BU,{ref:r,decorative:s,orientation:t,className:VT("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",e),...a}));GU.displayName=BU.displayName;const UU=[{title:"Products & Solutions",links:[{label:"VISTA",href:"/solutions/vista"},{label:"SENTRA",href:"/solutions/sentra"},{label:"iPAM",href:"/solutions/ipam"},{label:"NeuroSight",href:"/solutions/neurosight"}]},{title:"Services",links:[{label:"Agentic AI",href:"/services/agentic-ai"},{label:"GenAI Accelerator",href:"/services/genai-accelerator"},{label:"CV FastTrack",href:"/services/cv-fasttrack"},{label:"Platform Modernization",href:"/services/platform-modernization"},{label:"MLOps",href:"/services/mlops"},{label:"Security & Compliance",href:"/services/security-compliance"}]},{title:"Industries",links:[{label:"Manufacturing",href:"/industries/manufacturing"},{label:"Warehousing & Logistics",href:"/industries/warehousing-logistics"},{label:"Retail",href:"/industries/retail"},{label:"Insurance & Government",href:"/industries/insurance-government"},{label:"View all",href:"/industries"}]},{title:"Resources",links:[{label:"ROI Calculator",href:"/roi-calculator"},{label:"How we measure",href:"/how-we-measure"},{label:"Customers",href:"/customers"},{label:"Resources",href:"/resources"},{label:"Blog",href:"https://blog.allerin.com"}]},{title:"Company",links:[{label:"About",href:"/about"},{label:"Careers",href:"/careers"},{label:"Trust Center",href:"/trust"},{label:"Component Library",href:"/component-library"},{label:"Contact",href:"mailto:analytics@allerin.com"}]}],$U=[{icon:J.jsx(Xj,{className:"h-4 w-4"}),label:"+1-512-200-2416",href:"tel:+15122002416"},{icon:J.jsx(Sy,{className:"h-4 w-4"}),label:"analytics@allerin.com",href:"mailto:analytics@allerin.com"},{icon:J.jsx(Fy,{className:"h-4 w-4"}),label:"2921 Prado Street, Unit A, Austin, TX 78702",href:"https://maps.google.com/?q=2921+Prado+Street+Unit+A+Austin+TX+78702"}],YU=[{icon:J.jsx(cI,{className:"h-5 w-5"}),href:"https://x.com/allerint",label:"Twitter",external:!0},{icon:J.jsx(Ff,{className:"h-5 w-5"}),href:"https://www.linkedin.com/company/allerin/",label:"LinkedIn",external:!0},{icon:J.jsx(up,{className:"h-5 w-5"}),href:"https://github.com/allerin",label:"GitHub",external:!0}],KU=()=>{const[e,t]=Qe.useState(""),[s,a]=Qe.useState(!1);return J.jsx("footer",{className:"relative mt-section-y",children:J.jsxs("div",{className:"bg-background",children:[J.jsx("div",{className:"container py-4xl",children:J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-7 gap-3xl",children:[J.jsxs("div",{className:"lg:col-span-2",children:[J.jsx("div",{className:"flex items-center mb-4",children:J.jsx("img",{src:lz,alt:"Allerin",className:"h-10 w-auto",width:160,height:40,loading:"lazy",decoding:"async"})}),J.jsx("p",{className:"text-muted-foreground mb-xl leading-relaxed",children:"Allerin builds production-grade AI—agentic systems, computer vision, and analytics—shipped with KPI gates, reversible rollouts, and measurable outcomes."}),J.jsx("div",{className:"space-y-sm mb-xl",children:$U.map((e,t)=>J.jsxs("a",{href:e.href,className:"flex items-center text-muted-foreground hover:text-data-teal transition-colors group",children:[J.jsx("span",{className:"mr-sm text-data-orange group-hover:text-data-teal transition-colors",children:e.icon}),e.label]},t))}),J.jsx("div",{className:"flex gap-sm",children:YU.map((e,t)=>J.jsx(oz,{variant:"ghost",size:"sm",className:"data-accent clean-card hover:bg-data-teal/10 hover:text-data-teal transition-all",asChild:!0,children:J.jsx("a",{href:e.href,"aria-label":e.label,rel:"me noopener",target:"_blank",onClick:()=>{e.label},children:e.icon})},t))})]}),UU.map(e=>J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground mb-lg data-accent",children:e.title}),J.jsx("ul",{className:"space-y-sm",children:e.links.map(t=>{const s=t.href.startsWith("http")||t.href.startsWith("mailto:");return J.jsx("li",{children:s?J.jsx("a",{href:t.href,onClick:()=>(e.title,void t.label),className:"text-muted-foreground hover:text-data-teal transition-colors text-sm",target:t.href.startsWith("http")?"_blank":void 0,rel:t.href.startsWith("http")?"noopener noreferrer":void 0,children:t.label}):J.jsx(tt,{to:t.href,onClick:()=>(e.title,void t.label),className:"text-muted-foreground hover:text-data-teal transition-colors text-sm",children:t.label})},t.label)})})]},e.title))]})}),J.jsx(GU,{className:"opacity-20"}),J.jsxs("div",{className:"container py-2xl",children:[J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-2xl mb-xl",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground mb-sm",children:"Stay Updated"}),J.jsxs("form",{onSubmit:async s=>{if(s.preventDefault(),e){a(!0);try{const{data:s,error:a}=await qG.functions.invoke("newsletter-subscribe",{body:{email:e,source:"footer"}});if(a)throw a;uR.success(s.message||"Thanks for subscribing!"),t("")}catch(r){uR.error("Failed to subscribe. Please try again.")}finally{a(!1)}}else uR.error("Please enter your email")},className:"flex gap-xs mb-xs",children:[J.jsx(zF,{type:"email",placeholder:"Enter your email",value:e,onChange:e=>t(e.target.value),required:!0,disabled:s,className:"clean-card border-data-teal/30 focus:border-data-teal bg-background"}),J.jsx(oz,{type:"submit",disabled:s,className:"bg-gradient-to-r from-data-orange to-data-teal whitespace-nowrap",children:s?"...":"Subscribe"})]}),J.jsxs("p",{className:"text-xs text-muted-foreground",children:["By subscribing, you agree to our"," ",J.jsx(tt,{to:"/privacy-policy",className:"underline hover:text-data-teal",onClick:()=>{},children:"Privacy Policy"}),". We respect your privacy and use double opt-in."]})]}),J.jsx("div",{className:"flex flex-col justify-end",children:J.jsxs("div",{className:"flex flex-wrap gap-lg text-sm text-muted-foreground justify-start md:justify-end",children:[J.jsx(tt,{to:"/privacy-policy",onClick:()=>{},className:"hover:text-data-teal transition-colors",children:"Privacy Policy"}),J.jsx(tt,{to:"/terms-of-service",onClick:()=>{},className:"hover:text-data-teal transition-colors",children:"Terms of Service"}),J.jsx(tt,{to:"/cookies-policy",onClick:()=>{},className:"hover:text-data-teal transition-colors",children:"Cookies Policy"}),J.jsx("button",{onClick:()=>{Wq()},className:"hover:text-data-teal transition-colors text-left",children:"Cookie Preferences"}),J.jsx(tt,{to:"/disclaimer",onClick:()=>{},className:"hover:text-data-teal transition-colors",children:"Disclaimer"}),J.jsx(tt,{to:"/dei",onClick:()=>{},className:"hover:text-data-teal transition-colors",children:"DEI Policy"})]})})]}),J.jsx(GU,{className:"opacity-20 mb-xl"}),J.jsx("div",{className:"text-center text-sm text-muted-foreground",children:J.jsxs("p",{children:["© ",(new Date).getFullYear()," Allerin. All rights reserved."]})})]})]})})},QU={"@context":"https://schema.org","@type":"Organization",name:"Allerin",url:"https://www.allerin.com/",logo:"https://www.allerin.com/allerin-logo.png",description:"Allerin builds production-grade AI—agentic systems, computer vision, and analytics—shipped with KPI gates, reversible rollouts, and measurable outcomes.",sameAs:["https://blog.allerin.com","https://www.linkedin.com/company/allerin/","https://x.com/allerint","https://github.com/allerin"],subOrganization:{"@type":"Blog",name:"Allerin Blog",url:"https://blog.allerin.com"},address:{"@type":"PostalAddress",streetAddress:"2921 Prado Street, Unit A",addressLocality:"Austin",addressRegion:"TX",postalCode:"78702",addressCountry:"US"},contactPoint:[{"@type":"ContactPoint",contactType:"sales",telephone:"+1-512-200-2416",email:"analytics@allerin.com",areaServed:"US",availableLanguage:["en"]}],areaServed:"US"},ZU={"@context":"https://schema.org","@type":"WebSite",url:"https://www.allerin.com/",name:"Allerin",potentialAction:{"@type":"SearchAction",target:{"@type":"EntryPoint",urlTemplate:"https://www.allerin.com/resources?search={query}"},"query-input":"required name=query"}},JU=()=>J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Allerin — Ship production AI faster (Agentic · CV · Analytics)"}),J.jsx("meta",{name:"description",content:"84-person senior engineering team. Production-grade AI with KPI gates, reversible rollouts, and measurable outcomes. Agentic systems, computer vision, analytics."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/"}),J.jsx("meta",{property:"og:title",content:"Allerin — Ship production AI faster"}),J.jsx("meta",{property:"og:description",content:"84-person senior engineering team. Production-grade AI with KPI gates, reversible rollouts, and measurable outcomes."}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/home.webp"}),J.jsx("meta",{property:"og:image:width",content:"1200"}),J.jsx("meta",{property:"og:image:height",content:"630"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"Allerin — Ship production AI faster"}),J.jsx("meta",{name:"twitter:description",content:"Production-grade AI with KPI gates, reversible rollouts, and measurable outcomes."}),J.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/home.webp"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(QU)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(ZU)})]}),J.jsx(UG,{}),J.jsxs("main",{children:[J.jsx(KG,{}),J.jsx(eU,{}),J.jsx(sU,{}),J.jsx(cU,{}),J.jsx(uU,{}),J.jsx(qU,{}),J.jsx(pU,{}),J.jsx(LU,{}),J.jsx(FU,{})]}),J.jsx(KU,{})]});var XU="Accordion",e$=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[t$,s$,a$]=K(XU),[r$,i$]=Q(XU,[a$,bU]),n$=bU(),o$=Ze.forwardRef((e,t)=>{const{type:s,...a}=e,r=a,i=a;return J.jsx(t$.Provider,{scope:e.__scopeAccordion,children:"multiple"===s?J.jsx(x$,{...i,ref:t}):J.jsx(h$,{...r,ref:t})})});o$.displayName=XU;var[l$,d$]=r$(XU),[c$,m$]=r$(XU,{collapsible:!1}),h$=Ze.forwardRef((e,t)=>{const{value:s,defaultValue:a,onValueChange:r=()=>{},collapsible:i=!1,...n}=e,[o,l]=se({prop:s,defaultProp:a??"",onChange:r,caller:XU});return J.jsx(l$,{scope:e.__scopeAccordion,value:Ze.useMemo(()=>o?[o]:[],[o]),onItemOpen:l,onItemClose:Ze.useCallback(()=>i&&l(""),[i,l]),children:J.jsx(c$,{scope:e.__scopeAccordion,collapsible:i,children:J.jsx(g$,{...n,ref:t})})})}),x$=Ze.forwardRef((e,t)=>{const{value:s,defaultValue:a,onValueChange:r=()=>{},...i}=e,[n,o]=se({prop:s,defaultProp:a??[],onChange:r,caller:XU}),l=Ze.useCallback(e=>o((t=[])=>[...t,e]),[o]),d=Ze.useCallback(e=>o((t=[])=>t.filter(t=>t!==e)),[o]);return J.jsx(l$,{scope:e.__scopeAccordion,value:n,onItemOpen:l,onItemClose:d,children:J.jsx(c$,{scope:e.__scopeAccordion,collapsible:!0,children:J.jsx(g$,{...i,ref:t})})})}),[u$,p$]=r$(XU),g$=Ze.forwardRef((e,t)=>{const{__scopeAccordion:s,disabled:a,dir:r,orientation:i="vertical",...n}=e,o=Ze.useRef(null),l=Z(o,t),d=s$(s),c="ltr"===Ve(r),m=ie(e.onKeyDown,e=>{if(!e$.includes(e.key))return;const t=e.target,s=d().filter(e=>!e.ref.current?.disabled),a=s.findIndex(e=>e.ref.current===t),r=s.length;if(-1===a)return;e.preventDefault();let n=a;const o=r-1,l=()=>{n=a+1,n>o&&(n=0)},m=()=>{n=a-1,n<0&&(n=o)};switch(e.key){case"Home":n=0;break;case"End":n=o;break;case"ArrowRight":"horizontal"===i&&(c?l():m());break;case"ArrowDown":"vertical"===i&&l();break;case"ArrowLeft":"horizontal"===i&&(c?m():l());break;case"ArrowUp":"vertical"===i&&m()}const h=n%r;s[h].ref.current?.focus()});return J.jsx(u$,{scope:s,disabled:a,direction:r,orientation:i,children:J.jsx(t$.Slot,{scope:s,children:J.jsx(ee.div,{...n,"data-orientation":i,ref:l,onKeyDown:a?void 0:m})})})}),f$="AccordionItem",[y$,b$]=r$(f$),v$=Ze.forwardRef((e,t)=>{const{__scopeAccordion:s,value:a,...r}=e,i=p$(f$,s),n=d$(f$,s),o=n$(s),l=fe(),d=a&&n.value.includes(a)||!1,c=i.disabled||e.disabled;return J.jsx(y$,{scope:s,open:d,disabled:c,triggerId:l,children:J.jsx(IU,{"data-orientation":i.orientation,"data-state":S$(d),...o,...r,ref:t,disabled:c,open:d,onOpenChange:e=>{e?n.onItemOpen(a):n.onItemClose(a)}})})});v$.displayName=f$;var j$="AccordionHeader",N$=Ze.forwardRef((e,t)=>{const{__scopeAccordion:s,...a}=e,r=p$(XU,s),i=b$(j$,s);return J.jsx(ee.h3,{"data-orientation":r.orientation,"data-state":S$(i.open),"data-disabled":i.disabled?"":void 0,...a,ref:t})});N$.displayName=j$;var w$="AccordionTrigger",k$=Ze.forwardRef((e,t)=>{const{__scopeAccordion:s,...a}=e,r=p$(XU,s),i=b$(w$,s),n=m$(w$,s),o=n$(s);return J.jsx(t$.ItemSlot,{scope:s,children:J.jsx(PU,{"aria-disabled":i.open&&!n.collapsible||void 0,"data-orientation":r.orientation,id:i.triggerId,...o,...a,ref:t})})});k$.displayName=w$;var M$="AccordionContent",A$=Ze.forwardRef((e,t)=>{const{__scopeAccordion:s,...a}=e,r=p$(XU,s),i=b$(M$,s),n=n$(s);return J.jsx(TU,{role:"region","aria-labelledby":i.triggerId,"data-orientation":r.orientation,...n,...a,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});function S$(e){return e?"open":"closed"}A$.displayName=M$;var C$=v$,I$=N$,P$=k$,T$=A$;const R$=o$,O$=Qe.forwardRef(({className:e,...t},s)=>J.jsx(C$,{ref:s,className:VT("border-b",e),...t}));O$.displayName="AccordionItem";const D$=Qe.forwardRef(({className:e,children:t,...s},a)=>J.jsx(I$,{className:"flex",children:J.jsxs(P$,{ref:a,className:VT("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...s,children:[t,J.jsx(al,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));D$.displayName=P$.displayName;const q$=Qe.forwardRef(({className:e,children:t,...s},a)=>J.jsx(T$,{ref:a,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...s,children:J.jsx("div",{className:VT("pb-4 pt-0",e),children:t})}));q$.displayName=T$.displayName;const E$=[{icon:$P,name:"Latency (p95)",definition:"95th-percentile end-to-end request time for defined operations.",color:"data-orange"},{icon:Xk,name:"Security (critical CVEs)",definition:"Count of critical vulnerabilities open at go-live (target: zero).",color:"data-teal"},{icon:Rm,name:"Infra spend",definition:"Comparable monthly run-rate for compute, storage, and egress for the scoped system.",color:"data-blue"},{icon:XC,name:"Adoption & engagement",definition:"Usage of shipped capabilities (eligible population, active users, events).",color:"data-purple"},{icon:ZS,name:"Accuracy & drift (ML/CV)",definition:"Precision/recall or class-wise accuracy vs. a labeled sample; drift deltas on key features.",color:"data-orange"}],z$=[{label:"Latency (p95 Δ%)",equation:"(p95_pre − p95_post) ÷ p95_pre",example:"840 ms → 450 ms ⇒ (840−450)/840 = 46% lower"},{label:"Critical CVEs at go-live",equation:"count(severity = critical, status=open) on release branch at T0",example:"Target 0"},{label:"Infra spend Δ%",equation:"(run-rate_pre − run-rate_post) ÷ run-rate_pre",example:"$42k → $33k ⇒ 21% lower"},{label:"Adoption rate",equation:"active_users_feature ÷ eligible_population (same window)",example:"1,250 active / 2,000 eligible = 62.5%"},{label:"CV accuracy",equation:"per-class precision/recall vs. labeled sample, with site weighting",example:"Drift = KS/PSI on selected features and Δ accuracy vs. gate"}],_$=["Before/after KPI chart pack (PNG/PDF)","Scanner reports + SBOM summary at release","Cost deltas with line items and allocation notes","Eval summary (confusion matrices, drift plots)","Change log and rollback plan snapshot"],L$=[{q:"What is p95 and why not average?",a:"Averages hide long-tail pain; p95 captures user-visible slow paths on the same operation set pre/post."},{q:"Do you cherry-pick endpoints?",a:"No. The operation set is defined up front and sampled identically before and after changes."},{q:"How do you avoid moving the cost?",a:"Shared services are allocated pro-rata and the allocation method is published with the cost deltas."},{q:"Can we include planned discounts or commitments?",a:"Only if they are executed for both windows."},{q:"How is seasonality handled?",a:"We extend measurement windows or normalize by hour/day mix if bias is detected."},{q:"What if a critical CVE appears after go-live?",a:"It is logged, triaged, and patched per SLA. Go-live criteria apply at the release point; post-release issues are tracked separately."},{q:"How do you validate CV accuracy on my sites?",a:"Site-stratified labeled samples; gates are set per class and agreed in advance."},{q:"Can everything be on-prem?",a:"Yes. We run with the same instrumentation and export artifacts to your environment."}];function F$(){const e={"@context":"https://schema.org","@type":"FAQPage",mainEntity:L$.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))};return J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsxs(iz,{children:[J.jsx("title",{children:"How We Measure Outcomes | Allerin"}),J.jsx("meta",{name:"description",content:"We publish the math—windows, formulas, and artifacts—so improvements are credible and repeatable."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/how-we-measure"}),J.jsx("meta",{property:"og:title",content:"How We Measure Outcomes | Allerin"}),J.jsx("meta",{property:"og:description",content:"We publish the math—windows, formulas, and artifacts—so improvements are credible and repeatable."}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/how-we-measure"}),J.jsx("meta",{name:"twitter:card",content:"summary"}),J.jsx("meta",{name:"twitter:title",content:"How We Measure Outcomes | Allerin"}),J.jsx("meta",{name:"twitter:description",content:"We publish the math—windows, formulas, and artifacts—so improvements are credible and repeatable."}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(e)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"TechArticle",headline:"How we measure outcomes",dateModified:"2025-10-28",about:["Latency p95","Security CVEs","Infra cost","ML accuracy and drift"],author:{"@type":"Organization",name:"Allerin"},mainEntityOfPage:"https://www.allerin.com/how-we-measure"})})]}),J.jsx(UG,{}),J.jsxs("main",{id:"main",className:"pt-20",children:[J.jsx("section",{className:"py-16 md:py-24 bg-gradient-hero",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs(tt,{to:"/",className:"inline-flex items-center text-sm font-medium text-data-teal hover:text-data-teal/70 mb-8 focus:outline-none focus:ring-2 focus:ring-ring rounded px-2 py-2",children:[J.jsx(Ga,{className:"mr-2 w-4 h-4"}),"Back to Home"]}),J.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-[1.1] text-foreground mb-6",children:"How we measure outcomes"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground leading-relaxed",children:"We publish what changes, how we calculate it, and when we call success. The same rules apply to every deployment."})]})})}),J.jsx("section",{id:"metrics",className:"py-16 md:py-24 bg-background scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-center",children:"What we track"}),J.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:E$.map((e,t)=>{const s=e.icon;return J.jsx("div",{className:"clean-card p-6",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-gradient-to-br from-surface to-surface-variant",children:J.jsx(s,{className:`h-6 w-6 text-${e.color}`})})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:e.name}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:e.definition})]})]})},t)})})]})})}),J.jsx("section",{id:"windows",className:"py-16 md:py-24 bg-surface/30 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Windows & sampling"}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Pre-window"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Minimum 14 days of production baseline (exclude incidents)."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Post-window"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Minimum 14 days after cutover (exclude incident days; allow warm-up of 48 hours)."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Like-for-like"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Identical operation sets, identical time-of-day/day-of-week distribution."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Confidence"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"If p-value > 0.1 or seasonality bias is detected, extend windows or rerun."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Scope"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Only the system(s) touched by the engagement; shared services allocated pro-rata."})]})]})]})})}),J.jsx("section",{id:"formulas",className:"py-16 md:py-24 bg-background scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12",children:"Formulas & examples"}),J.jsx("div",{className:"space-y-6",children:z$.map((e,t)=>J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:e.label}),J.jsx("p",{className:"text-sm font-mono text-data-teal mb-2 bg-surface/50 p-3 rounded",children:e.equation}),J.jsxs("p",{className:"text-sm text-muted-foreground italic",children:["Example: ",e.example]})]},t))})]})})}),J.jsx("section",{id:"instrumentation",className:"py-16 md:py-24 bg-surface/30 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Instrumentation & tools"}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Latency"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Distributed tracing/metrics (e.g., OpenTelemetry → Prometheus/Grafana), sampled by operation."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Security"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"SCA/SAST/DAST scanners plus OS package scanners; SBOM at release."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Infra"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Cloud bills and usage (compute/storage/egress), plus on-prem meter data where applicable."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Adoption"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"App analytics + server events; anonymous where required."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Accuracy & drift"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Eval harness (fixed seed), site-stratified samples, drift monitors on features and outputs."})]})]})]})})}),J.jsx("section",{id:"acceptance",className:"py-16 md:py-24 bg-background scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Acceptance criteria"}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Performance"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["p95 lower by an agreed target (typ. ",J.jsx("strong",{children:"30–60%"}),"), sustained for the post-window, no feature freeze."]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Security"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[J.jsx("strong",{children:"0"})," critical CVEs before go-live; high/medium tracked with owner and SLA."]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Cost"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Infra run-rate ",J.jsx("strong",{children:"20–40% lower"})," for scoped workloads, same or better SLOs."]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"ML/CV"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Accuracy at or above gate; drift bounded; reviewer load at target."})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Adoption"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Feature usage reaches agreed floor within the window."})]})]})]})})}),J.jsx("section",{id:"evidence",className:"py-16 md:py-24 bg-surface/30 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Evidence we export"}),J.jsx("div",{className:"clean-card p-8",children:J.jsx("ul",{className:"space-y-4",children:_$.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(ux,{className:"h-5 w-5 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground leading-relaxed",children:e})]},t))})})]})})}),J.jsx("section",{id:"faq",className:"py-16 md:py-24 bg-background scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Frequently asked questions"}),J.jsx(R$,{type:"single",collapsible:!0,className:"space-y-4",children:L$.map((e,t)=>J.jsxs(O$,{value:`item-${t}`,className:"clean-card px-6",children:[J.jsx(D$,{className:"text-left hover:no-underline",onClick:()=>{e.q},children:J.jsx("span",{className:"font-semibold text-foreground",children:e.q})}),J.jsx(q$,{children:J.jsx("p",{className:"text-muted-foreground leading-relaxed pt-2",children:e.a})})]},t))}),J.jsx("p",{className:"text-sm text-muted-foreground text-center mt-8",children:"Last updated: October 28, 2025"})]})})}),J.jsx("section",{className:"py-16 md:py-20 bg-gradient-to-r from-data-orange/5 via-data-teal/5 to-data-blue/5",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Ready to ship with measurable outcomes?"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-8",children:"Every sprint ends with verifiable metrics. Let's discuss your KPIs."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[J.jsx(oz,{size:"lg",asChild:!0,className:"bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue h-12 px-8",onClick:()=>{},children:J.jsx("a",{href:"mailto:analytics@allerin.com?subject=Talk to an Architect",children:"Talk to an Architect"})}),J.jsx(oz,{variant:"outline",size:"lg",asChild:!0,className:"clean-card border-data-teal/30 hover:border-data-teal/50 h-12 px-8",onClick:()=>{},children:J.jsx(tt,{to:"/outcomes",children:"Request Demo"})})]})]})})})]}),J.jsx(KU,{})]})}function W$(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function H$(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}const V$=6048e5;let B$={};function G$(){return B$}function U$(e,t){const s=G$(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,r=W$(e),i=r.getDay(),n=(i<a?7:0)+i-a;return r.setDate(r.getDate()-n),r.setHours(0,0,0,0),r}function $$(e){return U$(e,{weekStartsOn:1})}function Y$(e){const t=W$(e),s=t.getFullYear(),a=H$(e,0);a.setFullYear(s+1,0,4),a.setHours(0,0,0,0);const r=$$(a),i=H$(e,0);i.setFullYear(s,0,4),i.setHours(0,0,0,0);const n=$$(i);return t.getTime()>=r.getTime()?s+1:t.getTime()>=n.getTime()?s:s-1}function K$(e){const t=W$(e);return t.setHours(0,0,0,0),t}function Q$(e){const t=W$(e),s=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return s.setUTCFullYear(t.getFullYear()),+e-+s}function Z$(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const s=W$(e);return!isNaN(Number(s))}const J$={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function X$(e){return(t={})=>{const s=t.width?String(t.width):e.defaultWidth;return e.formats[s]||e.formats[e.defaultWidth]}}const eY={date:X$({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:X$({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:X$({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},tY={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function sY(e){return(t,s)=>{let a;if("formatting"===(s?.context?String(s.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,r=s?.width?String(s.width):t;a=e.formattingValues[r]||e.formattingValues[t]}else{const t=e.defaultWidth,r=s?.width?String(s.width):e.defaultWidth;a=e.values[r]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}const aY={ordinalNumber:(e,t)=>{const s=Number(e),a=s%100;if(a>20||a<10)switch(a%10){case 1:return s+"st";case 2:return s+"nd";case 3:return s+"rd"}return s+"th"},era:sY({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:sY({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:sY({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:sY({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:sY({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function rY(e){return(t,s={})=>{const a=s.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],i=t.match(r);if(!i)return null;const n=i[0],o=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(o)?function(e,t){for(let s=0;s<e.length;s++)if(t(e[s]))return s;return}(o,e=>e.test(n)):function(e,t){for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t(e[s]))return s;return}(o,e=>e.test(n));let d;d=e.valueCallback?e.valueCallback(l):l,d=s.valueCallback?s.valueCallback(d):d;return{value:d,rest:t.slice(n.length)}}}const iY={ordinalNumber:(nY={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const s=e.match(nY.matchPattern);if(!s)return null;const a=s[0],r=e.match(nY.parsePattern);if(!r)return null;let i=nY.valueCallback?nY.valueCallback(r[0]):r[0];return i=t.valueCallback?t.valueCallback(i):i,{value:i,rest:e.slice(a.length)}}),era:rY({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:rY({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:rY({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:rY({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:rY({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};var nY;const oY={code:"en-US",formatDistance:(e,t,s)=>{let a;const r=J$[e];return a="string"==typeof r?r:1===t?r.one:r.other.replace("{{count}}",t.toString()),s?.addSuffix?s.comparison&&s.comparison>0?"in "+a:a+" ago":a},formatLong:eY,formatRelative:(e,t,s,a)=>tY[e],localize:aY,match:iY,options:{weekStartsOn:0,firstWeekContainsDate:1}};function lY(e){const t=W$(e),s=function(e,t){const s=K$(e),a=K$(t),r=+s-Q$(s),i=+a-Q$(a);return Math.round((r-i)/864e5)}(t,function(e){const t=W$(e),s=H$(e,0);return s.setFullYear(t.getFullYear(),0,1),s.setHours(0,0,0,0),s}(t));return s+1}function dY(e){const t=W$(e),s=+$$(t)-+function(e){const t=Y$(e),s=H$(e,0);return s.setFullYear(t,0,4),s.setHours(0,0,0,0),$$(s)}(t);return Math.round(s/V$)+1}function cY(e,t){const s=W$(e),a=s.getFullYear(),r=G$(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,n=H$(e,0);n.setFullYear(a+1,0,i),n.setHours(0,0,0,0);const o=U$(n,t),l=H$(e,0);l.setFullYear(a,0,i),l.setHours(0,0,0,0);const d=U$(l,t);return s.getTime()>=o.getTime()?a+1:s.getTime()>=d.getTime()?a:a-1}function mY(e,t){const s=W$(e),a=+U$(s,t)-+function(e,t){const s=G$(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,r=cY(e,t),i=H$(e,0);return i.setFullYear(r,0,a),i.setHours(0,0,0,0),U$(i,t)}(s,t);return Math.round(a/V$)+1}function hY(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const xY={y(e,t){const s=e.getFullYear(),a=s>0?s:1-s;return hY("yy"===t?a%100:a,t.length)},M(e,t){const s=e.getMonth();return"M"===t?String(s+1):hY(s+1,2)},d:(e,t)=>hY(e.getDate(),t.length),a(e,t){const s=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return s.toUpperCase();case"aaa":return s;case"aaaaa":return s[0];default:return"am"===s?"a.m.":"p.m."}},h:(e,t)=>hY(e.getHours()%12||12,t.length),H:(e,t)=>hY(e.getHours(),t.length),m:(e,t)=>hY(e.getMinutes(),t.length),s:(e,t)=>hY(e.getSeconds(),t.length),S(e,t){const s=t.length,a=e.getMilliseconds();return hY(Math.trunc(a*Math.pow(10,s-3)),t.length)}},uY="midnight",pY="noon",gY="morning",fY="afternoon",yY="evening",bY="night",vY={G:function(e,t,s){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return s.era(a,{width:"abbreviated"});case"GGGGG":return s.era(a,{width:"narrow"});default:return s.era(a,{width:"wide"})}},y:function(e,t,s){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return s.ordinalNumber(a,{unit:"year"})}return xY.y(e,t)},Y:function(e,t,s,a){const r=cY(e,a),i=r>0?r:1-r;if("YY"===t){return hY(i%100,2)}return"Yo"===t?s.ordinalNumber(i,{unit:"year"}):hY(i,t.length)},R:function(e,t){return hY(Y$(e),t.length)},u:function(e,t){return hY(e.getFullYear(),t.length)},Q:function(e,t,s){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return hY(a,2);case"Qo":return s.ordinalNumber(a,{unit:"quarter"});case"QQQ":return s.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return s.quarter(a,{width:"narrow",context:"formatting"});default:return s.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,s){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return hY(a,2);case"qo":return s.ordinalNumber(a,{unit:"quarter"});case"qqq":return s.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return s.quarter(a,{width:"narrow",context:"standalone"});default:return s.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,s){const a=e.getMonth();switch(t){case"M":case"MM":return xY.M(e,t);case"Mo":return s.ordinalNumber(a+1,{unit:"month"});case"MMM":return s.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return s.month(a,{width:"narrow",context:"formatting"});default:return s.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,s){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return hY(a+1,2);case"Lo":return s.ordinalNumber(a+1,{unit:"month"});case"LLL":return s.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return s.month(a,{width:"narrow",context:"standalone"});default:return s.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,s,a){const r=mY(e,a);return"wo"===t?s.ordinalNumber(r,{unit:"week"}):hY(r,t.length)},I:function(e,t,s){const a=dY(e);return"Io"===t?s.ordinalNumber(a,{unit:"week"}):hY(a,t.length)},d:function(e,t,s){return"do"===t?s.ordinalNumber(e.getDate(),{unit:"date"}):xY.d(e,t)},D:function(e,t,s){const a=lY(e);return"Do"===t?s.ordinalNumber(a,{unit:"dayOfYear"}):hY(a,t.length)},E:function(e,t,s){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return s.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return s.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return s.day(a,{width:"short",context:"formatting"});default:return s.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,s,a){const r=e.getDay(),i=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return hY(i,2);case"eo":return s.ordinalNumber(i,{unit:"day"});case"eee":return s.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return s.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return s.day(r,{width:"short",context:"formatting"});default:return s.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,s,a){const r=e.getDay(),i=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return hY(i,t.length);case"co":return s.ordinalNumber(i,{unit:"day"});case"ccc":return s.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return s.day(r,{width:"narrow",context:"standalone"});case"cccccc":return s.day(r,{width:"short",context:"standalone"});default:return s.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,s){const a=e.getDay(),r=0===a?7:a;switch(t){case"i":return String(r);case"ii":return hY(r,t.length);case"io":return s.ordinalNumber(r,{unit:"day"});case"iii":return s.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return s.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return s.day(a,{width:"short",context:"formatting"});default:return s.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,s){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return s.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return s.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return s.dayPeriod(a,{width:"narrow",context:"formatting"});default:return s.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,s){const a=e.getHours();let r;switch(r=12===a?pY:0===a?uY:a/12>=1?"pm":"am",t){case"b":case"bb":return s.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return s.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return s.dayPeriod(r,{width:"narrow",context:"formatting"});default:return s.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,s){const a=e.getHours();let r;switch(r=a>=17?yY:a>=12?fY:a>=4?gY:bY,t){case"B":case"BB":case"BBB":return s.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return s.dayPeriod(r,{width:"narrow",context:"formatting"});default:return s.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,s){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),s.ordinalNumber(t,{unit:"hour"})}return xY.h(e,t)},H:function(e,t,s){return"Ho"===t?s.ordinalNumber(e.getHours(),{unit:"hour"}):xY.H(e,t)},K:function(e,t,s){const a=e.getHours()%12;return"Ko"===t?s.ordinalNumber(a,{unit:"hour"}):hY(a,t.length)},k:function(e,t,s){let a=e.getHours();return 0===a&&(a=24),"ko"===t?s.ordinalNumber(a,{unit:"hour"}):hY(a,t.length)},m:function(e,t,s){return"mo"===t?s.ordinalNumber(e.getMinutes(),{unit:"minute"}):xY.m(e,t)},s:function(e,t,s){return"so"===t?s.ordinalNumber(e.getSeconds(),{unit:"second"}):xY.s(e,t)},S:function(e,t){return xY.S(e,t)},X:function(e,t,s){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return NY(a);case"XXXX":case"XX":return wY(a);default:return wY(a,":")}},x:function(e,t,s){const a=e.getTimezoneOffset();switch(t){case"x":return NY(a);case"xxxx":case"xx":return wY(a);default:return wY(a,":")}},O:function(e,t,s){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+jY(a,":");default:return"GMT"+wY(a,":")}},z:function(e,t,s){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+jY(a,":");default:return"GMT"+wY(a,":")}},t:function(e,t,s){return hY(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,s){return hY(e.getTime(),t.length)}};function jY(e,t=""){const s=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),i=a%60;return 0===i?s+String(r):s+String(r)+t+hY(i,2)}function NY(e,t){if(e%60==0){return(e>0?"-":"+")+hY(Math.abs(e)/60,2)}return wY(e,t)}function wY(e,t=""){const s=e>0?"-":"+",a=Math.abs(e);return s+hY(Math.trunc(a/60),2)+t+hY(a%60,2)}const kY=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},MY=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},AY={p:MY,P:(e,t)=>{const s=e.match(/(P+)(p+)?/)||[],a=s[1],r=s[2];if(!r)return kY(e,t);let i;switch(a){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;default:i=t.dateTime({width:"full"})}return i.replace("{{date}}",kY(a,t)).replace("{{time}}",MY(r,t))}},SY=/^D+$/,CY=/^Y+$/,IY=["D","DD","YY","YYYY"];const PY=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,TY=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,RY=/^'([^]*?)'?$/,OY=/''/g,DY=/[a-zA-Z]/;function qY(e,t,s){const a=G$(),r=a.locale??oY,i=a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,n=a.weekStartsOn??a.locale?.options?.weekStartsOn??0,o=W$(e);if(!Z$(o))throw new RangeError("Invalid time value");let l=t.match(TY).map(e=>{const t=e[0];if("p"===t||"P"===t){return(0,AY[t])(e,r.formatLong)}return e}).join("").match(PY).map(e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:EY(e)};if(vY[t])return{isToken:!0,value:e};if(t.match(DY))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});r.localize.preprocessor&&(l=r.localize.preprocessor(o,l));const d={firstWeekContainsDate:i,weekStartsOn:n,locale:r};return l.map(s=>{if(!s.isToken)return s.value;const a=s.value;(function(e){return CY.test(e)}(a)||function(e){return SY.test(e)}(a))&&function(e,t,s){const a=function(e,t,s){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${s}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,s);if(IY.includes(e))throw new RangeError(a)}(a,t,String(e));return(0,vY[a[0]])(o,a,r.localize,d)}).join("")}function EY(e){const t=e.match(RY);return t?t[1].replace(OY,"'"):e}const zY=({resource:e,onClick:t})=>J.jsx(tt,{to:`/resources/${e.slug}`,onClick:()=>t(e.slug),className:"group block h-full",children:J.jsxs("article",{className:"flex flex-col h-full bg-card rounded-lg border shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"aspect-[16/9] overflow-hidden rounded-t-lg",children:J.jsx("img",{src:e.heroImg,alt:e.heroAlt,loading:"lazy",decoding:"async",width:"640",height:"360",className:"w-full h-full object-cover transition-transform group-hover:scale-105",style:{aspectRatio:"16/9"}})}),J.jsxs("div",{className:"flex flex-col flex-1 p-lg space-y-lg",children:[J.jsxs("div",{className:"space-y-xs",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"guide"===e.type?"Guide":"Blog"}),e.tags.slice(0,2).map(e=>J.jsx(hU,{variant:"outline",className:"text-xs",children:e},e))]}),J.jsx("h3",{className:"text-xl font-semibold leading-tight group-hover:text-primary transition-colors line-clamp-2",children:e.title}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:e.dek})]}),J.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-xs text-muted-foreground mt-auto pt-4 border-t",children:[J.jsxs("span",{className:"flex items-center gap-1",children:[J.jsx(Ld,{className:"w-3 h-3"}),e.readMinutes," min"]}),J.jsxs("span",{className:"flex items-center gap-1",children:[J.jsx(oo,{className:"w-3 h-3"}),qY(new Date(e.publishedAt),"MMM d, yyyy")]})]}),(e.products||e.services)&&J.jsxs("div",{className:"flex flex-wrap gap-2 pt-2",children:[e.products?.map(e=>J.jsx(hU,{variant:"outline",className:"text-xs",children:e},e)),e.services?.slice(0,1).map(e=>J.jsx(hU,{variant:"outline",className:"text-xs",children:e},e))]})]})]})}),_Y=["Guides","Blog"],LY=["CV","Agentic","GenAI","Analytics","Platform","Security"],FY=["Manufacturing","Warehousing","Retail","Insurance/Gov","Transportation/Rail","Energy/Utilities","Public/Education","Enterprise"],WY=({searchQuery:e,onSearchChange:t,selectedType:s,onTypeChange:a,selectedCapability:r,onCapabilityChange:i,selectedIndustry:n,onIndustryChange:o,onFilterChange:l})=>{const d=s||r||n||e;return J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"relative",children:[J.jsx(Mk,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),J.jsx(zF,{type:"search",placeholder:"Search resources...",value:e,onChange:e=>t(e.target.value),className:"pl-9"})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsx("h3",{className:"text-sm font-medium",children:"Filters"}),d&&J.jsxs(oz,{variant:"ghost",size:"sm",onClick:()=>{t(""),a(null),i(null),o(null)},className:"h-auto p-0 text-xs hover:bg-transparent",children:[J.jsx(BP,{className:"w-3 h-3 mr-1"}),"Clear all"]})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2",children:"Type"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:_Y.map(e=>J.jsx(hU,{variant:s===e.toLowerCase()?"default":"outline",className:"cursor-pointer",onClick:()=>{const t=s===e.toLowerCase()?null:e.toLowerCase();a(t),l("type",t)},children:e},e))})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2",children:"Capability"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:LY.map(e=>J.jsx(hU,{variant:r===e?"default":"outline",className:"cursor-pointer",onClick:()=>{const t=r===e?null:e;i(t),l("capability",t)},children:e},e))})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2",children:"Industry"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:FY.map(e=>J.jsx(hU,{variant:n===e?"default":"outline",className:"cursor-pointer",onClick:()=>{const t=n===e?null:e;o(t),l("industry",t)},children:e},e))})]})]})]})]})};var HY="Checkbox",[VY,BY]=Q(HY),[GY,UY]=VY(HY);function $Y(e){const{__scopeCheckbox:t,checked:s,children:a,defaultChecked:r,disabled:i,form:n,name:o,onCheckedChange:l,required:d,value:c="on",internal_do_not_use_render:m}=e,[h,x]=se({prop:s,defaultProp:r??!1,onChange:l,caller:HY}),[u,p]=Qe.useState(null),[g,f]=Qe.useState(null),y=Qe.useRef(!1),b=!u||(!!n||!!u.closest("form")),v={checked:h,disabled:i,setChecked:x,control:u,setControl:p,name:o,form:n,value:c,hasConsumerStoppedPropagationRef:y,required:d,defaultChecked:!sK(r)&&r,isFormControl:b,bubbleInput:g,setBubbleInput:f};return J.jsx(GY,{scope:t,...v,children:tK(m)?m(v):a})}var YY="CheckboxTrigger",KY=Qe.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:s,...a},r)=>{const{control:i,value:n,disabled:o,checked:l,required:d,setControl:c,setChecked:m,hasConsumerStoppedPropagationRef:h,isFormControl:x,bubbleInput:u}=UY(YY,e),p=Z(r,c),g=Qe.useRef(l);return Qe.useEffect(()=>{const e=i?.form;if(e){const t=()=>m(g.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[i,m]),J.jsx(ee.button,{type:"button",role:"checkbox","aria-checked":sK(l)?"mixed":l,"aria-required":d,"data-state":aK(l),"data-disabled":o?"":void 0,disabled:o,value:n,...a,ref:p,onKeyDown:ie(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:ie(s,e=>{m(e=>!!sK(e)||!e),u&&x&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})});KY.displayName=YY;var QY=Qe.forwardRef((e,t)=>{const{__scopeCheckbox:s,name:a,checked:r,defaultChecked:i,required:n,disabled:o,value:l,onCheckedChange:d,form:c,...m}=e;return J.jsx($Y,{__scopeCheckbox:s,checked:r,defaultChecked:i,disabled:o,required:n,onCheckedChange:d,name:a,form:c,value:l,internal_do_not_use_render:({isFormControl:e})=>J.jsxs(J.Fragment,{children:[J.jsx(KY,{...m,ref:t,__scopeCheckbox:s}),e&&J.jsx(eK,{__scopeCheckbox:s})]})})});QY.displayName=HY;var ZY="CheckboxIndicator",JY=Qe.forwardRef((e,t)=>{const{__scopeCheckbox:s,forceMount:a,...r}=e,i=UY(ZY,s);return J.jsx(ae,{present:a||sK(i.checked)||!0===i.checked,children:J.jsx(ee.span,{"data-state":aK(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})});JY.displayName=ZY;var XY="CheckboxBubbleInput",eK=Qe.forwardRef(({__scopeCheckbox:e,...t},s)=>{const{control:a,hasConsumerStoppedPropagationRef:r,checked:i,defaultChecked:n,required:o,disabled:l,name:d,value:c,form:m,bubbleInput:h,setBubbleInput:x}=UY(XY,e),u=Z(s,x),p=Fe(i),g=We(a);Qe.useEffect(()=>{const e=h;if(!e)return;const t=window.HTMLInputElement.prototype,s=Object.getOwnPropertyDescriptor(t,"checked").set,a=!r.current;if(p!==i&&s){const t=new Event("click",{bubbles:a});e.indeterminate=sK(i),s.call(e,!sK(i)&&i),e.dispatchEvent(t)}},[h,p,i,r]);const f=Qe.useRef(!sK(i)&&i);return J.jsx(ee.input,{type:"checkbox","aria-hidden":!0,defaultChecked:n??f.current,required:o,disabled:l,name:d,value:c,form:m,...t,tabIndex:-1,ref:u,style:{...t.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function tK(e){return"function"==typeof e}function sK(e){return"indeterminate"===e}function aK(e){return sK(e)?"indeterminate":e?"checked":"unchecked"}eK.displayName=XY;const rK=Qe.forwardRef(({className:e,...t},s)=>J.jsx(QY,{ref:s,className:VT("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:J.jsx(JY,{className:VT("flex items-center justify-center text-current"),children:J.jsx(el,{className:"h-4 w-4"})})}));rK.displayName=QY.displayName;const iK=({source:e="resources"})=>{const[t,s]=Qe.useState(""),[a,r]=Qe.useState(!1),[i,n]=Qe.useState(!1);return J.jsxs("div",{className:"bg-muted/50 rounded-lg p-6 border",children:[J.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[J.jsx(Sy,{className:"w-5 h-5 text-primary mt-1"}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold mb-1",children:"Stay updated"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Get new guides and case studies in your inbox"})]})]}),J.jsxs("form",{onSubmit:async i=>{if(i.preventDefault(),a){n(!0);try{const{data:a,error:i}=await qG.functions.invoke("newsletter-subscribe",{body:{email:t,source:e}});if(i)throw i;uR.success(a.message||"Thanks for subscribing!"),s(""),r(!1)}catch(o){uR.error("Failed to subscribe. Please try again.")}finally{n(!1)}}else uR.error("Please agree to receive updates")},className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx(HF,{htmlFor:"subscribe-email",className:"sr-only",children:"Email address"}),J.jsx(zF,{id:"subscribe-email",type:"email",placeholder:"you@company.com",value:t,onChange:e=>s(e.target.value),required:!0,disabled:i})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(rK,{id:"subscribe-consent",checked:a,onCheckedChange:e=>r(e),disabled:i}),J.jsx(HF,{htmlFor:"subscribe-consent",className:"text-xs text-muted-foreground leading-relaxed cursor-pointer",children:"I agree to receive occasional updates about new resources and products"})]}),J.jsx(oz,{type:"submit",className:"w-full",disabled:i||!t||!a,children:i?"Subscribing...":"Subscribe"})]})]})},nK=[{slug:"alpr-redaction-policy-guide",type:"guide",title:"ALPR & Public-Records Redaction: Policy, CJIS, and Audit in Practice",dek:"A field guide to shipping ALPR and video/audio redaction that stands up to PRA/FOIA and CJIS-style audits—without blocking operations.",tags:["CV","ALPR","Redaction","Policy","Audit","Security"],industries:["Public","Education"],products:["VISTA"],services:["CV FastTrack","Security & Compliance"],author:{name:"Sarah Chen",title:"Solutions Architect, Public Sector",avatar:"/avatars/sarah-chen.jpg"},readMinutes:12,heroImg:"/images/resources/alpr-redaction-hero.webp",heroAlt:"Evidence management system showing redacted video footage",publishedAt:"2025-01-15T00:00:00Z",ogImage:"/og/resources-alpr-redaction-policy-guide.webp",body:"\n# Why governance matters (and how it fails in practice)\n\nPublic-records laws and CJIS audits demand chain-of-custody, retention policies, and access controls. Yet most agencies still manage redaction through manual processes that can't scale and leave audit gaps. This guide shows you how to build a system that passes audit while supporting daily operations.\n\n## The gap between policy and practice\n\nPolicy documents specify retention periods, access levels, and redaction requirements. But without automated enforcement, these become wishful thinking. Officers and staff spend hours manually redacting footage, creating inconsistency and delays that undermine both compliance and operational efficiency.\n\n# Data model & chain-of-custody that auditors accept\n\nEvery piece of evidence needs:\n- Unique identifier with timestamps\n- Capture metadata (device, location, officer)\n- Access log (who viewed/edited when)\n- Redaction audit trail (what was redacted, by whom, why)\n- Retention classification and expiration date\n\nOur VISTA platform enforces this automatically—every action is logged, every access is tracked, and every change is auditable.\n\n## Evidence lifecycle tracking\n\nFrom capture through retention to destruction, maintain unbroken chain-of-custody:\n1. Initial capture (CAD event linkage)\n2. Intake and classification\n3. Review and redaction workflow\n4. Publication or response to request\n5. Retention enforcement\n6. Secure destruction\n\n# Retention, access logging, and reviewer roles\n\nDefine roles with least-privilege access:\n- **Intake**: Upload and classify only\n- **Reviewer**: View and apply redactions\n- **Supervisor**: Approve release packages\n- **Auditor**: Read-only access to logs\n- **Admin**: System configuration\n\nSet retention rules by evidence type, automatically flagging items for review or destruction when retention periods expire.\n\n## Access logging requirements\n\nTrack every interaction:\n- Login/logout events\n- Evidence views (full timestamp, user ID)\n- Redaction actions (before/after states)\n- Export and download events\n- Configuration changes\n\nExport logs in standard formats (JSON, CSV) for external audit systems.\n\n# Bulk redaction at scale (faces/plates/objects/audio)\n\nManual redaction doesn't scale. VISTA processes:\n- Face detection and tracking across frames\n- License plate recognition and masking\n- Custom object detection (badges, documents)\n- Audio redaction (voices, sensitive content)\n\nBatch jobs handle hundreds of hours of footage overnight. Reviewers validate results, adjusting thresholds and manually correcting edge cases through an efficient review UI.\n\n## Accuracy gates and human review\n\nSet confidence thresholds per redaction type. Low-confidence detections route to human review. High-confidence detections apply automatically but remain auditable. This balance enables scale while maintaining quality.\n\n# Integration patterns (CAD/RMS, VMS, SSO)\n\nVISTA integrates with existing systems:\n- **CAD/RMS**: Automatic event linkage, case numbers\n- **VMS**: Direct ingest from body-worn and fixed cameras\n- **SSO**: SAML/OAuth for Active Directory/Okta\n- **Storage**: On-prem or hybrid with encrypted cloud backup\n\nAPIs enable custom workflows and third-party tool integration.\n\n## Deployment options\n\nRun fully on-premises for air-gapped environments or use hybrid cloud for scalability. All data stays within your infrastructure boundaries. Encryption in transit (TLS 1.3) and at rest (AES-256).\n\n# Acceptance criteria you can measure before go-live\n\nBefore production deployment, validate:\n- **Redaction accuracy**: ≥98% precision on test footage\n- **Throughput**: Process 100 hours of footage per day\n- **Latency**: PRA response packages ready within 48 hours\n- **Audit trail completeness**: 100% of actions logged\n- **Access control**: Role-based permissions enforced\n- **Retention**: Automated flagging and destruction workflows\n\nRun pilot with real cases, measure against these benchmarks, and iterate before full rollout.\n",faq:[{q:"How do you prove chain-of-custody?",a:"Every action is logged with timestamps, user IDs, and before/after states. Logs are append-only and digitally signed, providing tamper-evident audit trails that meet legal requirements."},{q:"Can we run fully on-prem?",a:"Yes. VISTA deploys on your infrastructure with no external dependencies. All processing, storage, and access control remain within your network boundaries."},{q:"What are typical redaction throughput numbers?",a:"On standard server hardware, process 100-500 hours of footage per day depending on resolution and redaction complexity. Scale horizontally by adding processing nodes."},{q:"How do we manage expungement/retention?",a:"Set retention policies by evidence type and classification. The system automatically flags items approaching expiration, routes for supervisor review, and securely destroys after approval."}]},{slug:"edge-computer-vision-production-blueprint",type:"guide",title:"Edge Computer Vision to Production: PoC → Pilot → Scale",dek:"A practical blueprint to move from a PoC to stable edge CV—covering datasets, accuracy gates, latency budgets, and operational review loops.",tags:["CV","Edge","Jetson","Latency","Accuracy","MLOps"],industries:["Manufacturing","Warehousing","Retail"],products:["SENTRA"],services:["CV FastTrack","MLOps & Model Ops"],author:{name:"Marcus Rodriguez",title:"Principal Engineer, Computer Vision",avatar:"/avatars/marcus-rodriguez.jpg"},readMinutes:14,heroImg:"/images/resources/edge-cv-hero.webp",heroAlt:"Edge computing devices processing real-time camera feeds in manufacturing facility",publishedAt:"2025-01-20T00:00:00Z",ogImage:"/og/resources-edge-computer-vision-production-blueprint.webp",body:"\n# Choosing sites and datasets that generalize\n\nPoCs often succeed on carefully selected test data but fail in production when conditions vary. To build models that generalize:\n\n## Site selection strategy\n\nChoose pilot sites that represent your operational diversity:\n- Varied lighting conditions (natural, artificial, mixed)\n- Different camera angles and mounting heights\n- Range of product/object variations\n- Typical background clutter and occlusions\n\nDon't pick your \"easiest\" site for pilot. Pick representative sites that will stress-test your models.\n\n## Dataset requirements\n\nCollect training data that covers:\n- All expected object classes and variations\n- Edge cases and failure modes\n- Seasonal and temporal variations (if relevant)\n- Multiple sites and camera positions\n\nAim for 1,000-5,000 labeled examples per class minimum. More is better, but quality trumps quantity—ensure diverse, representative samples.\n\n# Accuracy & latency gates (and how to measure)\n\nSet quantitative acceptance criteria before deployment. Don't settle for \"it looks good\"—measure precisely.\n\n## Accuracy gates\n\nDefine per-class thresholds:\n- **Precision**: ≥95% (minimize false positives)\n- **Recall**: ≥90% (minimize false negatives)\n- **F1 score**: ≥92% (balanced measure)\n\nMeasure on held-out test sets from production sites. Track confusion matrices to identify systematic errors.\n\n## Latency budgets\n\nDefine end-to-end latency requirements:\n- Camera capture → inference → alert: <500ms for real-time use cases\n- Batch processing: <1 hour for overnight jobs\n- Model load time: <30 seconds for edge device startup\n\nMeasure in production conditions, not just on development machines. Account for network latency, concurrent workloads, and thermal throttling on edge devices.\n\n| Pipeline Stage | Budget | Measurement |\n|---------------|--------|-------------|\n| Frame capture | 33ms (30fps) | Camera specs |\n| Preprocessing | 10ms | Profiler |\n| Inference | 100ms | Triton metrics |\n| Post-processing | 20ms | Profiler |\n| Alert dispatch | 50ms | Network monitor |\n| **Total** | **213ms** | End-to-end test |\n\n# Edge pipelines (DeepStream/Triton) with batching\n\nNVIDIA DeepStream and Triton Inference Server provide production-grade edge inference:\n\n## Pipeline architecture\n\n1. **Capture**: RTSP streams from IP cameras\n2. **Decode**: Hardware-accelerated video decode (NVDEC)\n3. **Batch**: Accumulate frames from multiple streams\n4. **Inference**: Run batched inference on GPU (Triton)\n5. **Track**: Multi-object tracking across frames\n6. **Alert**: Detect events and dispatch to upstream systems\n\nUse DeepStream's gst-launch pipelines for low-latency streaming or custom Python/C++ applications for complex logic.\n\n## Batching strategy\n\nBatch size trades off latency vs. throughput:\n- Batch size 1: Lowest latency (~50ms), lower GPU utilization\n- Batch size 8: Moderate latency (~120ms), high throughput\n- Batch size 32: High latency (~300ms), maximum throughput\n\nChoose based on your use case. Real-time alerting needs small batches; overnight analysis can use large batches.\n\n# Drift detection and retraining hooks\n\nModels degrade over time as conditions change. Detect drift and trigger retraining:\n\n## Monitoring signals\n\nTrack these metrics continuously:\n- **Confidence distribution**: Falling average confidence indicates drift\n- **Prediction entropy**: Rising entropy suggests uncertainty\n- **Human corrections**: Increased override rate signals model mismatch\n- **Performance metrics**: Declining accuracy on validation sets\n\nSet thresholds and alert when metrics cross into red zones.\n\n## Retraining workflow\n\n1. Detect drift signal\n2. Sample recent edge cases (low confidence, human corrections)\n3. Label and add to training set\n4. Retrain model with augmented dataset\n5. Validate on test set (must meet original accuracy gates)\n6. Deploy to edge devices via OTA update\n\nAutomate steps 1-2 and 6. Keep humans in the loop for steps 3-5 until you have high confidence in automated pipelines.\n\n# Reviewer tooling and evidence packaging\n\nEdge CV isn't fully autonomous—humans review edge cases, validate alerts, and provide ground truth for retraining.\n\n## Review UI requirements\n\nBuild tooling that enables efficient review:\n- Queue of flagged items (low confidence, alerts, samples)\n- Side-by-side comparison (model prediction vs. ground truth)\n- Quick annotation actions (approve, reject, correct)\n- Keyboard shortcuts for power users\n- Progress tracking and quotas\n\nMeasure reviewer throughput (items/hour) and tune UI to maximize efficiency.\n\n## Evidence packaging\n\nWhen CV detects events, package evidence for downstream consumers:\n- **Video clip**: 5-10 seconds surrounding event\n- **Metadata**: Timestamp, camera ID, confidence scores\n- **Annotations**: Bounding boxes, class labels\n- **Context**: Related events, historical patterns\n\nExport in standard formats (JSON + MP4) for integration with MES, ERP, or analyst tools.\n\n# Scaling: health telemetry, upgrades, and costs\n\nDeploying to dozens or hundreds of edge devices requires operational discipline.\n\n## Health telemetry\n\nMonitor every device:\n- **System**: CPU, GPU, memory, disk, temperature\n- **Pipeline**: Frame rate, inference latency, queue depth\n- **Model**: Prediction counts, confidence distribution\n- **Network**: Bandwidth usage, packet loss, latency\n\nAggregate metrics in central dashboard. Alert on anomalies (thermal throttling, memory leaks, network issues).\n\n## OTA upgrade strategy\n\nDeploy model and software updates safely:\n1. **Canary**: Deploy to 1-2 devices, monitor for 24 hours\n2. **Pilot**: Expand to 10% of fleet, monitor for 48 hours\n3. **Rollout**: Deploy to remaining devices in waves\n4. **Rollback**: Maintain previous version as fallback\n\nUse device management platforms (Balena, AWS IoT, custom) to orchestrate deployments.\n\n## Cost model\n\nEdge CV costs include:\n- **Hardware**: $500-$5,000 per device (Jetson Orin, industrial PCs)\n- **Cameras**: $200-$1,000 per camera (IP cameras, lenses, mounts)\n- **Connectivity**: $50-$200/month per site (network, VPN)\n- **Maintenance**: 10-20% of hardware cost annually\n\nFactor in total cost of ownership over 3-5 year lifespan when comparing to cloud-based alternatives.\n",faq:[{q:"What frame rates and resolutions do you support?",a:"Typical deployments run 15-30fps at 1080p. Higher resolutions (4K) are possible but increase latency and hardware requirements. We optimize pipelines based on your specific accuracy and latency needs."},{q:"How do you validate accuracy against my sites?",a:"We collect representative datasets from your facilities, establish ground truth through manual annotation, and measure precision/recall against defined acceptance criteria before deploying to production."},{q:"What's a safe upgrade path on edge devices?",a:"Use canary deployments (1-2 devices first), monitor health metrics for 24-48 hours, then roll out in waves. Always maintain rollback capability to the previous stable version."}]},{slug:"agentic-ai-guardrails-evals-hitl",type:"guide",title:"Agentic AI Systems: Guardrails, Evals, and Human-in-the-Loop",dek:"How to design multi-agent automations that pass a security review: policy→prompts, eval suites, safety gates, and HITL patterns.",tags:["Agentic","GenAI","Guardrails","Evals","Security"],industries:["Enterprise"],services:["Agentic AI Systems","GenAI Product Accelerator","Security & Compliance"],author:{name:"Dr. Amara Okafor",title:"Lead, Agentic AI Practice",avatar:"/avatars/amara-okafor.jpg"},readMinutes:12,heroImg:"/images/resources/agentic-ai-hero.webp",heroAlt:"Multi-agent system architecture diagram showing guardrails and human review checkpoints",publishedAt:"2025-01-25T00:00:00Z",ogImage:"/og/resources-agentic-ai-guardrails-evals-hitl.webp",body:'\n# Risk model and policy mapping (PII, actions, approvals)\n\nBefore building agents, map your organization\'s policies to technical controls. Ask:\n\n## What can go wrong?\n\nIdentify failure modes:\n- **Data leakage**: PII, confidential info in prompts/responses\n- **Unauthorized actions**: Agents exceeding their authority\n- **Cost overruns**: Uncontrolled API usage\n- **Quality issues**: Hallucinations, incorrect outputs\n- **Security**: Prompt injection, jailbreaks\n\n## Policy → technical controls\n\nTranslate policies into enforceable rules:\n- "Don\'t share customer PII" → Input/output filters, redaction\n- "Require approval for orders >$10K" → Human-in-the-loop gate\n- "Limit AI spending to $500/day" → Rate limits, budget tracking\n- "Audit all decisions" → Comprehensive logging\n\nDocument this mapping. It becomes your acceptance criteria.\n\n# Prompt & tool contracts (least-privilege)\n\nDesign agents with narrow, explicit capabilities. Don\'t give a customer-service agent access to your entire API—scope tools to minimum necessary permissions.\n\n## Prompt contracts\n\nDefine clear interfaces for each agent:\n- **Input schema**: What data the agent receives (typed, validated)\n- **Output schema**: What the agent returns (structured, not free-form)\n- **Constraints**: Boundaries the agent must respect\n\nExample:\n```\nAgent: Order Processor\nInput: { orderId: string, action: "cancel" | "refund" }\nOutput: { success: boolean, message: string, auditLog: string }\nConstraints: \n  - Order must belong to authenticated user\n  - Refunds ≤$10K auto-approve; >$10K route to human\n  - All actions logged to audit table\n```\n\n## Tool least-privilege\n\nProvide agents only the tools they need:\n- Customer service agent: Read orders, create support tickets (no delete)\n- Analyst agent: Read-only database access (no write)\n- Automation agent: Execute approved workflows (no arbitrary code)\n\nEnforce through API keys with scoped permissions, not through prompts alone—prompts can be jailbroken.\n\n# Evals you need (accuracy, jailbreak, toxicity, cost)\n\nContinuous evaluation prevents silent degradation. Build automated test suites:\n\n## Accuracy evals\n\nTest agent outputs against golden datasets:\n- Does the agent extract correct information?\n- Are calculations accurate?\n- Do responses match expected format?\n\nRun on every deployment. Regression should trigger rollback.\n\n## Safety evals\n\nTest for adversarial behavior:\n- **Jailbreak attempts**: Can users trick the agent into ignoring rules?\n- **Prompt injection**: Can users manipulate the agent\'s instructions?\n- **PII leakage**: Does the agent expose sensitive data?\n\nMaintain a "red team" dataset of known attacks. Add new attack vectors as discovered.\n\n## Quality evals\n\nMeasure subjective quality:\n- **Relevance**: Does the response address the query?\n- **Coherence**: Is the response logically consistent?\n- **Toxicity**: Does the agent generate harmful content?\n\nUse LLM-as-judge or human raters. Set acceptance thresholds (e.g., ≥4.0/5.0 average).\n\n## Cost evals\n\nTrack operational costs:\n- Tokens per interaction\n- API calls per workflow\n- Average cost per user session\n\nSet budget alerts. If costs spike, investigate prompt inefficiencies or abuse.\n\n## Minimal eval suite checklist\n\nBefore production:\n- [ ] 100+ accuracy test cases (happy path + edge cases)\n- [ ] 50+ safety test cases (jailbreaks, injections)\n- [ ] Cost per interaction measured and within budget\n- [ ] Quality spot-checked by human raters (n≥50)\n- [ ] All evals automated in CI/CD\n\n# Safety gates & rollback strategies\n\nEven with evals, things break. Build layered defenses:\n\n## Pre-flight checks\n\nBefore executing actions, validate:\n- Input schema compliance\n- User authorization\n- Rate limits not exceeded\n- Known-bad patterns not present\n\nReject invalid requests before they reach the agent.\n\n## Runtime guardrails\n\nWhile agents run, monitor:\n- Token usage (abort if exceeds threshold)\n- Confidence scores (route low-confidence to human)\n- Execution time (timeout if too slow)\n\nImplement circuit breakers—if error rate crosses threshold, disable agent and route to fallback.\n\n## Post-execution validation\n\nAfter agent completes, check:\n- Output schema compliance\n- Sensitive data redaction\n- Audit log completeness\n\nDon\'t return outputs that fail validation. Log failures and alert ops.\n\n## Rollback strategy\n\nWhen issues are detected:\n1. **Immediate**: Disable agent, route traffic to fallback (static responses, human queue)\n2. **Triage**: Review logs, identify root cause\n3. **Fix**: Update prompts, retrain models, patch code\n4. **Re-eval**: Run full eval suite\n5. **Gradual re-deploy**: Canary → pilot → full rollout\n\nMaintain version history. Fast rollback is essential.\n\n# Human-in-the-loop UI patterns (approve/annotate/retry)\n\nAgents augment humans, not replace them. Design HITL workflows that keep humans in control:\n\n## Approval workflows\n\nRoute high-stakes decisions to humans:\n- Present agent recommendation + confidence + reasoning\n- Show relevant context (order history, customer profile)\n- Provide approve/reject/modify actions\n- Track approval latency (SLA monitoring)\n\n## Annotation workflows\n\nHumans correct agent mistakes to improve future performance:\n- Show agent output vs. expected output\n- Provide easy correction interface (edit, select correct option)\n- Feed corrections back into retraining pipeline\n\nMeasure annotation quality (inter-rater agreement) to ensure reliable ground truth.\n\n## Retry workflows\n\nWhen agents fail, let humans retry with adjustments:\n- Show error message and context\n- Allow manual parameter tweaks (temperature, prompt modifications)\n- Re-run agent with new settings\n- Log retry attempts for later analysis\n\n## HITL reviewer flow (state machine)\n\n```\n[Agent Completes] \n  ├─→ High confidence → Auto-approve → [Done]\n  ├─→ Medium confidence → Human review → Approve/Reject → [Done]\n  └─→ Low confidence → Human override → Manual completion → [Done]\n\n[Human Review]\n  ├─→ Approve: Log acceptance, execute action\n  ├─→ Reject: Log rejection reason, route to manual queue\n  └─→ Modify: Annotate correction, re-run agent, log update\n```\n\n# Observability: success, fallback, cost\n\nInstrument everything. You can\'t improve what you don\'t measure.\n\n## Success metrics\n\nTrack:\n- **Completion rate**: % of agent runs that succeed\n- **Accuracy**: % of outputs matching expected results (from evals)\n- **Latency**: P50/P95/P99 response times\n- **User satisfaction**: Thumbs up/down, CSAT surveys\n\n## Fallback metrics\n\nWhen agents fail:\n- **Fallback rate**: % of requests routed to human/static fallback\n- **Fallback reasons**: Categorize failures (low confidence, timeout, error)\n- **Recovery time**: How long until agent restored after incident\n\n## Cost metrics\n\nMonitor spending:\n- **Token usage**: Tokens per request, daily/monthly totals\n- **API costs**: Dollars per interaction, by model/provider\n- **Infrastructure**: Compute, storage, bandwidth\n\nSet budgets and alerts. Cost spikes often indicate abuse or inefficiency.\n\n## Run logs\n\nStore comprehensive logs for every agent execution:\n- Timestamp, user ID, session ID\n- Input (prompt, parameters, context)\n- Output (response, confidence, tokens used)\n- Actions taken (API calls, database writes)\n- Success/failure status and error messages\n\nEnable searchability (Elasticsearch, CloudWatch Logs Insights). Logs are your debugging and audit trail.\n',faq:[{q:"How do we prevent unsafe actions?",a:"Layer defenses: scope agent permissions (least-privilege tools), validate inputs/outputs, enforce approval gates for high-stakes actions, and maintain audit logs. Test with adversarial evals."},{q:"Can we run on-prem/GovCloud?",a:"Yes. Deploy agents and LLMs within your infrastructure. Use self-hosted models (Llama, Mistral) or GovCloud-approved API providers. All data stays in your environment."},{q:"What belongs in an agent 'run log'?",a:"Log inputs (prompt, parameters), outputs (response, confidence), actions taken (API calls, data accessed), success/failure status, and timestamps. This enables debugging, audit, and retraining."}]}];function oK(){const[e,t]=Qe.useState(""),[s,a]=Qe.useState(null),[r,i]=Qe.useState(null),[n,o]=Qe.useState(null),l=e=>{},d=Qe.useMemo(()=>nK.filter(t=>{if(e){const s=e.toLowerCase();if(!(t.title.toLowerCase().includes(s)||t.dek.toLowerCase().includes(s)||t.tags.some(e=>e.toLowerCase().includes(s))))return!1}if(s&&t.type!==s)return!1;if(r&&!t.tags.includes(r))return!1;if(n){const e=n.replace("/",""),s=t.industries?.some(t=>t.toLowerCase().includes(e.toLowerCase()));if(!s)return!1}return!0}),[e,s,r,n]),c=nK.find(e=>"guide"===e.type);return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Resources - Guides, Case Studies & Technical Notes | Allerin"}),J.jsx("meta",{name:"description",content:"Practical guides and case write-ups from production CV, Agentic AI, and Platform deployments. Learn from real implementations and field-tested patterns."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/resources"}),J.jsx("meta",{property:"og:title",content:"Resources — Guides & Case Studies | Allerin"}),J.jsx("meta",{property:"og:description",content:"Practical guides from production CV, Agentic AI, and Platform deployments."}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/resources"}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/resources.webp"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"Resources — Guides & Case Studies | Allerin"}),J.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/resources.webp"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:"Resources",description:"Guides, case write-ups, and practical notes from production deployments.",url:"https://www.allerin.com/resources",publisher:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"}})})]}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsxs("main",{className:"min-h-screen",children:[J.jsx("section",{className:"bg-gradient-to-br from-background via-background to-muted/30 py-16 md:py-24",children:J.jsx("div",{className:"container max-w-6xl",children:J.jsxs("div",{className:"max-w-3xl",children:[J.jsx("h1",{className:"text-4xl md:text-5xl font-bold mb-4",children:"Resources"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Guides, case write-ups, and practical notes from production deployments."})]})})}),J.jsx("section",{className:"py-12",children:J.jsx("div",{className:"container max-w-6xl",children:J.jsxs("div",{className:"grid lg:grid-cols-[250px_1fr] gap-8",children:[J.jsxs("aside",{className:"lg:sticky lg:top-24 lg:self-start",children:[J.jsx(WY,{searchQuery:e,onSearchChange:e=>{t(e)},selectedType:s,onTypeChange:a,selectedCapability:r,onCapabilityChange:i,selectedIndustry:n,onIndustryChange:o,onFilterChange:(e,t)=>{}}),J.jsx("div",{className:"hidden lg:block mt-8",children:J.jsx(iK,{})}),c&&J.jsxs("div",{className:"hidden lg:block mt-8 p-4 bg-primary/5 rounded-lg border border-primary/20",children:[J.jsx(hU,{variant:"default",className:"mb-2",children:"Featured"}),J.jsx("h3",{className:"font-semibold mb-2 line-clamp-2 text-sm",children:c.title}),J.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 mb-3",children:c.dek}),J.jsx("a",{href:`/resources/${c.slug}`,className:"text-xs font-medium text-primary hover:underline",children:"Read guide →"})]})]}),J.jsxs("div",{children:[0===d.length?J.jsx("div",{className:"text-center py-12",children:J.jsx("p",{className:"text-muted-foreground",children:"No resources match your filters. Try adjusting your search."})}):J.jsxs(J.Fragment,{children:[J.jsx("div",{className:"flex items-center justify-between mb-6",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[d.length," ",1===d.length?"resource":"resources"]})}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:d.map(e=>J.jsx(zY,{resource:e,onClick:l},e.slug))})]}),J.jsx("div",{className:"lg:hidden mt-12",children:J.jsx(iK,{})})]})]})})})]}),J.jsx(KU,{})]})]})}const lK=({content:e})=>{const[t,s]=Qe.useState([]),[a,r]=Qe.useState("");return Qe.useEffect(()=>{const t=/^(#{2,3})\s+(.+)$/gm,a=[];let r;for(;null!==(r=t.exec(e));){const e=r[1].length,t=r[2],s=t.toLowerCase().replace(/[^a-z0-9]+/g,"-");a.push({id:s,text:t,level:e})}s(a)},[e]),Qe.useEffect(()=>{const e=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&r(e.target.id)})},{rootMargin:"-100px 0px -80% 0px"});return t.forEach(({id:t})=>{const s=document.getElementById(t);s&&e.observe(s)}),()=>e.disconnect()},[t]),0===t.length?null:J.jsxs("nav",{className:"space-y-1",children:[J.jsx("p",{className:"text-sm font-semibold mb-3",children:"In this guide"}),J.jsx("ul",{className:"space-y-2 text-sm",children:t.map(e=>J.jsx("li",{className:VT(3===e.level&&"pl-4"),children:J.jsx("a",{href:`#${e.id}`,className:VT("block py-1 border-l-2 pl-3 transition-colors hover:text-primary",a===e.id?"border-primary text-primary font-medium":"border-transparent text-muted-foreground"),children:e.text})},e.id))})]})},dK=({currentSlug:e,resources:t,maxItems:s=3})=>{const a=t.find(t=>t.slug===e);if(!a)return null;const r=t.filter(t=>t.slug!==e).map(e=>{let t=0;t+=2*e.tags.filter(e=>a.tags.includes(e)).length;t+=3*(e.products||[]).filter(e=>(a.products||[]).includes(e)).length;return t+=3*(e.services||[]).filter(e=>(a.services||[]).includes(e)).length,{resource:e,score:t}}).filter(e=>e.score>0).sort((e,t)=>t.score-e.score).slice(0,s).map(e=>e.resource);return 0===r.length?null:J.jsx("section",{className:"py-16 bg-muted/30",children:J.jsxs("div",{className:"container max-w-6xl",children:[J.jsx("h2",{className:"text-2xl font-bold mb-8",children:"Related resources"}),J.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:r.map(e=>J.jsx(tt,{to:`/resources/${e.slug}`,className:"group block",children:J.jsx("article",{className:"bg-card rounded-lg border shadow-sm hover:shadow-md transition-shadow p-6 h-full",children:J.jsxs("div",{className:"space-y-3",children:[J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"secondary",className:"text-xs",children:"guide"===e.type?"Guide":"Blog"})}),J.jsx("h3",{className:"font-semibold leading-tight group-hover:text-primary transition-colors line-clamp-2",children:e.title}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:e.dek}),J.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground pt-2",children:[J.jsx(Ld,{className:"w-3 h-3"}),e.readMinutes," min read"]})]})})},e.slug))})]})})};function cK(){const{slug:e}=st(),t=at(),s=nK.find(t=>t.slug===e),[a,r]=Qe.useState(0),[i]=Qe.useState(Date.now()),[n,o]=Qe.useState(new Set);Qe.useEffect(()=>{if(!s)return;const e=()=>{const e=window.innerHeight,t=document.documentElement.scrollHeight-e,s=window.scrollY/t*100;r(s);[25,50,75,100].forEach(e=>{if(s>=e&&!n.has(e)){Date.now();o(t=>new Set(t).add(e))}})};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[s,e,n,i]);const l=e=>{BT()};if(!s)return J.jsx("div",{className:"min-h-screen flex items-center justify-center",children:J.jsxs("div",{className:"text-center",children:[J.jsx("h1",{className:"text-2xl font-bold mb-4",children:"Resource not found"}),J.jsx(tt,{to:"/resources",children:J.jsxs(oz,{variant:"outline",children:[J.jsx(Ga,{className:"mr-2 h-4 w-4"}),"Back to Resources"]})})]})});const d=s.body.split("\n").map(e=>{const t=e.match(/^##\s+(.+)$/);if(t){const e=t[1];return`<h2 id="${e.toLowerCase().replace(/[^a-z0-9]+/g,"-")}" class="text-2xl font-bold mt-12 mb-4 scroll-mt-24">${e}</h2>`}const s=e.match(/^###\s+(.+)$/);if(s){const e=s[1];return`<h3 id="${e.toLowerCase().replace(/[^a-z0-9]+/g,"-")}" class="text-xl font-semibold mt-8 mb-3 scroll-mt-24">${e}</h3>`}const a=e.match(/^#\s+(.+)$/);return a?`<h2 class="text-2xl font-bold mt-12 mb-4">${a[1]}</h2>`:(e=e.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>")).startsWith("```")?e.replace("```",'<pre class="bg-muted p-4 rounded-lg my-4 overflow-x-auto"><code>').replace("```","</code></pre>"):e.match(/^[-*]\s+(.+)$/)?`<li class="ml-6 my-2">${e.replace(/^[-*]\s+/,"")}</li>`:e.trim()&&!e.startsWith("<")?`<p class="my-4 leading-relaxed">${e}</p>`:e}).join("\n");return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsxs("title",{children:[s.title," | Allerin Resources"]}),J.jsx("meta",{name:"description",content:s.dek}),J.jsx("link",{rel:"canonical",href:s.canonical||`https://allerin.com/resources/${s.slug}`}),J.jsx("meta",{property:"og:title",content:s.title}),J.jsx("meta",{property:"og:description",content:s.dek}),J.jsx("meta",{property:"og:url",content:`https://allerin.com/resources/${s.slug}`}),J.jsx("meta",{property:"og:type",content:"article"}),s.ogImage&&J.jsxs(J.Fragment,{children:[J.jsx("meta",{property:"og:image",content:`https://allerin.com${s.ogImage}`}),J.jsx("meta",{property:"og:image:width",content:"1200"}),J.jsx("meta",{property:"og:image:height",content:"630"})]}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"guide"===s.type?"TechArticle":"Article",headline:s.title,description:s.dek,image:s.heroImg,author:{"@type":"Person",name:s.author.name,jobTitle:s.author.title},publisher:{"@type":"Organization",name:"Allerin",url:"https://allerin.com"},datePublished:s.publishedAt,dateModified:s.updatedAt||s.publishedAt,url:`https://allerin.com/resources/${s.slug}`})}),s.faq&&s.faq.length>0&&J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:s.faq.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Resources",item:"https://allerin.com/resources"},{"@type":"ListItem",position:2,name:s.title,item:`https://allerin.com/resources/${s.slug}`}]})})]}),J.jsx("div",{className:"fixed top-0 left-0 h-1 bg-primary z-50 transition-all",style:{width:`${a}%`}}),J.jsxs("main",{className:"min-h-screen",children:[J.jsx("section",{className:"bg-gradient-to-br from-background via-background to-muted/30 py-12 md:py-16",children:J.jsxs("div",{className:"container max-w-4xl",children:[J.jsxs(tt,{to:"/resources",className:"inline-flex items-center text-sm text-muted-foreground hover:text-primary mb-6",children:[J.jsx(Ga,{className:"mr-2 h-4 w-4"}),"Back to Resources"]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[J.jsx(hU,{variant:"secondary",children:"guide"===s.type?"Guide":"Blog"}),s.tags.slice(0,3).map(e=>J.jsx(hU,{variant:"outline",children:e},e))]}),J.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-bold leading-tight",children:s.title}),J.jsx("p",{className:"text-lg text-muted-foreground",children:s.dek}),J.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground pt-4",children:[J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(Ld,{className:"w-4 h-4"}),s.readMinutes," min read"]}),J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(oo,{className:"w-4 h-4"}),qY(new Date(s.publishedAt),"MMMM d, yyyy")]}),J.jsxs("span",{children:[s.author.name,", ",s.author.title]})]})]})]})}),J.jsx("section",{className:"py-12",children:J.jsx("div",{className:"container max-w-6xl",children:J.jsxs("div",{className:"grid lg:grid-cols-[1fr_250px] gap-12",children:[J.jsxs("article",{className:"prose prose-slate max-w-none",children:[s.heroImg&&J.jsx("img",{src:s.heroImg,alt:s.heroAlt||s.title,loading:"lazy",decoding:"async",width:"1200",height:"675",className:"w-full rounded-lg mb-8",style:{aspectRatio:"16/9"}}),J.jsx("div",{className:"resource-content",dangerouslySetInnerHTML:{__html:d}})]}),J.jsx("aside",{className:"hidden lg:block",children:J.jsx("div",{className:"sticky top-24",children:J.jsx(lK,{content:s.body})})})]})})}),s.faq&&s.faq.length>0&&J.jsx("section",{className:"py-12 bg-muted/30",children:J.jsxs("div",{className:"container max-w-3xl",children:[J.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently asked questions"}),J.jsx(R$,{type:"single",collapsible:!0,className:"space-y-2",children:s.faq.map((e,t)=>J.jsxs(O$,{value:`faq-${t}`,children:[J.jsx(D$,{onClick:()=>{e.q},className:"text-left",children:e.q}),J.jsx(q$,{className:"text-muted-foreground",children:e.a})]},t))})]})}),J.jsx(dK,{currentSlug:s.slug,resources:nK}),J.jsx("section",{className:"py-16 bg-gradient-to-br from-primary/5 via-background to-background",children:J.jsxs("div",{className:"container max-w-3xl text-center space-y-6",children:[J.jsx("h2",{className:"text-2xl font-bold",children:"Ready to get started?"}),J.jsx("p",{className:"text-muted-foreground",children:"Let's discuss how these patterns apply to your deployment."}),J.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-4",children:[J.jsx(oz,{size:"lg",variant:"default",onClick:()=>{l();const s=GT("/roi-calculator",{resource_slug:e||""});t(s)},children:"Request Demo"}),J.jsx(oz,{size:"lg",variant:"outline",onClick:()=>{l();const t=BT(),a=encodeURIComponent("Talk to an Architect - Resource Inquiry"),r=encodeURIComponent(`I read "${s?.title}" and would like to discuss how these patterns apply to my deployment.\n\nResource: ${e}\nUTM Source: ${t.utm_source}\nUTM Medium: ${t.utm_medium}\nUTM Campaign: ${t.utm_campaign}\n\n[Please add your details below]\nName: \nCompany: \nRole: \nInterest: \n`);window.location.href=`mailto:solutions@allerin.com?subject=${a}&body=${r}`},children:"Talk to an Architect"})]}),J.jsx("button",{onClick:()=>{l();const s=GT("/roi-calculator",{resource_slug:e||""});t(s)},className:"inline-block text-sm text-primary hover:underline",children:"Estimate ROI →"})]})})]})]})}const mK=[{title:"Manufacturing",slug:"manufacturing",icon:ph,gradient:"from-data-orange to-data-amber",heroSub:"90-day quick wins for quality, maintenance, and safety—without ripping out your stack.",quickWins:["In-line defect detection (QualiZer)","Predictive maintenance on motors/pumps (VibraQore)","Worker safety analytics (SiteSentra)"],personas:["Plant Ops","Quality"],capabilities:["CV","Analytics"],timeToValue:"quick-win",roiUseCases:"cv_quality,analytics",solutions:[{name:"QualiZer",slug:"qualizer-inline-defect-detection",promise:"In-line defect detection",bullets:["Scrap/rework down; explainable reviews","Trend by SKU/shift","Holds/alerts to MES"],timeline:"PoC→Pilot 8–12 weeks · KPI gates · reversible rollout"},{name:"VibraQore",slug:"vibraqore-predictive-maintenance",promise:"Predictive maintenance",bullets:["Early bearing/imbalance detection","Avoid unplanned downtime","Plan interventions"],timeline:"Sensor+vision baseline · alert rules · CMMS hooks"},{name:"SiteSentra",slug:"sitesentra-worker-safety",promise:"Worker safety analytics",bullets:["PPE/zones compliance","Near-miss flags","Video evidence for training"],timeline:"Edge models · reviewer console · audit logs"}],productsUsed:[{name:"SENTRA",slug:"sentra",description:"Edge analytics for real-time inference at line speed"},{name:"NeuroSight",slug:"neurosight",description:"Safety monitoring with PPE detection and zone compliance"},{name:"VISTA",slug:"vista",description:"Redaction for training clips and incident review"}],techDeployment:["Industrial cameras (GigE, USB3) and vibration sensors","Jetson/x86 edge devices rated for harsh environments","MES/ERP integration via REST APIs","CMMS hooks for maintenance work orders"],roiProof:[{metric:"27% scrap reduction",description:"Automotive tier-1 supplier using QualiZer for weld inspection"},{metric:"35% fewer breakdowns",description:"Food processing plant with VibraQore on packaging lines"}],faqs:[{question:"Can this run on our existing line cameras?",answer:"Yes. We support industrial cameras (GigE, USB3) and thermal sensors. Our team conducts a site survey to recommend optimal hardware for your environment and can often leverage existing camera infrastructure."},{question:"How do you measure QC gains?",answer:"We set clear KPI gates: scrap rate, first-pass yield, and cycle time. Metrics are tracked in real-time dashboards and reported to your MES/ERP systems with full audit trails."},{question:"What about on-prem vs cloud deployment?",answer:"We support both. Edge inference runs locally for real-time decisions; cloud integration is optional for model updates and analytics aggregation. Your data stays in your control."},{question:"How long until we see ROI?",answer:"Most customers see measurable ROI within 3-6 months of pilot deployment. We use KPI-gated rollouts to ensure value delivery at each phase."},{question:"What data is needed to get started?",answer:"For defect detection: sample images of good/bad parts. For predictive maintenance: historical breakdown logs and sensor baselines. We help scope data requirements during the PoC phase."},{question:"How do you handle change management?",answer:"We provide operator training, reviewer console walkthroughs, and documentation. Rollouts are reversible and KPI-gated to build confidence with plant teams."}],faqLastUpdated:"2025-01-15",seoTitle:"Manufacturing AI: Defect Detection & Predictive Maintenance",seoDescription:"AI defect detection, predictive maintenance & safety for manufacturing. 27% scrap reduction, 35% fewer breakdowns. Edge deployment, 90-day ROI."},{title:"Warehousing & Logistics",slug:"warehousing-logistics",icon:bP,gradient:"from-data-teal to-data-cyan",heroSub:"Cycle counts done overnight, doors turning faster, picks more accurate—no aisle closures, no WMS re-platform.",quickWins:["Autonomous inventory scanning (StockVexel)","Dock/yard analytics (YardLytix)","Pick-path optimization (PickPathor)"],personas:["DC Managers","3PL Ops"],capabilities:["CV","Analytics"],timeToValue:"quick-win",roiUseCases:"cv_inventory,analytics",solutions:[{name:"StockVexel",slug:"stockvexel-inventory-scanning",promise:"Autonomous inventory scanning",bullets:["Nightly cycle counts across full DC","OSA/shrink visibility with photo evidence","Exceptions pushed to handhelds"],timeline:"What you get: drone/AMR routes · WMS reconcile rules · alert playbooks"},{name:"YardLytix",slug:"yardlytix-dock-analytics",promise:"Dock/yard analytics",bullets:["Door dwell down; trailer turns up","Gate OCR + event timeline by trailer/slot","Heatmaps of congestion and SLA breaches"],timeline:"What you get: gate OCR pack · yard map + KPIs · TMS/YMS hooks"},{name:"PickPathor",slug:"pickpathor-path-optimization",promise:"Pick-path optimization",bullets:["Fewer misses, faster path time","Battery/charge planning built-in","Supervisor dashboards for coaching"],timeline:"What you get: path models · ops dashboards · change-mgmt kit"}],productsUsed:[{name:"SENTRA",slug:"sentra",description:"Edge CV for autonomous scanning and real-time yard monitoring"},{name:"Data & Analytics Platform",slug:"data-analytics-platform",description:"WMS integration, SLA tracking, and predictive modeling"}],techDeployment:["AMR/drone integration for night scans; safety interlocks, no aisle closures","Gate cameras with OCR, event timeline by trailer/door/slot","WMS/TMS/YMS adapters via REST/webhooks; handheld tasking flows","Edge devices (Jetson/x86) for real-time inference; cloud sync + cold tier storage"],roiProof:[{metric:"40% faster cycle counts",description:"Baseline vs night-scan with StockVexel; fewer revisits after exception review"},{metric:"25% dock dwell reduction",description:"Door/slot SLA adherence up; detention costs down with YardLytix"}],faqs:[{question:"Does this work with our existing WMS/TMS?",answer:"Yes. Standard adapters; we validate against your data in PoC before pilot."},{question:"Do we have to close aisles?",answer:"No. Night scans with AMR/drone and safety interlocks; live pick remains uninterrupted."},{question:"How accurate is OCR at the gate?",answer:"We set site-specific gates and publish per-site evals; misreads trigger manual review."},{question:"What's the ROI timeline?",answer:"Quick-win payback typically within a quarter; see ROI calculator for your volumes."},{question:"What hardware do we need?",answer:"Existing RTSP cams + gate OCR; AMR/drone optional for coverage and speed."}],faqLastUpdated:"2025-01-15",seoTitle:"Warehousing & Logistics AI Solutions | Allerin",seoDescription:"Quick-win logistics solutions: autonomous inventory scanning, dock analytics, pick optimization. PoC→Pilot 8–12 weeks with KPI gates."},{title:"Retail",slug:"retail",icon:aM,gradient:"from-data-cyan to-data-blue",heroSub:"Shelves stocked, queues moving, customers converting—no manual audits, no new POS.",quickWins:["Shelf compliance & OSA (ShelfSentra)","Queue & staffing analytics (Queuence)","Back-room inventory scanning (Backroom Ranger)"],personas:["Store Ops","Merchandising"],capabilities:["CV","Analytics"],timeToValue:"quick-win",roiUseCases:"cv_shelf,analytics",solutions:[{name:"ShelfSentra",slug:"shelfsentra-shelf-compliance",promise:"Shelf compliance & OSA",bullets:["OOS detected and fixed faster; planogram drift alerted","Tasks pushed to handheld devices with photo evidence","Recovery time measured from alert to shelf fix"],timeline:"What you get: in-aisle models · tasking API · KPI dashboards"},{name:"Queuence",slug:"queuence-queue-analytics",promise:"Queue & staffing analytics",bullets:["Queue length predicted; staffing alerts automated","Lane-open alerts cut walk-offs and wait times","Abandonment rates tracked with trend analysis"],timeline:"What you get: predictive models · staffing hooks · SLA reports"},{name:"Backroom Ranger",slug:"backroom-ranger-inventory",promise:"Back-room inventory scanning",bullets:["Back-room counts faster; gap detection automated","Reconcile to ERP for real-time inventory accuracy","Handheld workflows reduce manual audit time"],timeline:"What you get: scanning workflows · handheld app · ERP adapters"}],productsUsed:[{name:"SENTRA",slug:"sentra",description:"In-aisle CV for shelf compliance and queue monitoring"},{name:"Data & Analytics Platform",slug:"data-analytics-platform",description:"Predictive staffing models and ERP integration"}],techDeployment:["In-aisle cameras for shelf compliance; can leverage existing security cams for queues","Handheld devices with tasking workflows; photo evidence for OOS/drift","ERP/WMS adapters via REST/webhooks (SAP, Oracle, Dynamics); real-time tasking","Edge inference for real-time alerts; cloud sync for trend analysis and reporting"],roiProof:[{metric:"18% OSA improvement",description:"Baseline shelf audits vs ShelfSentra alerts; sales lift tracked per category"},{metric:"30% queue walk-off reduction",description:"Queue dwell baseline vs predictive staffing with Queuence"}],faqs:[{question:"Does this integrate with our ERP/WMS?",answer:"Yes. Standard adapters; we validate against your data in PoC before pilot."},{question:"Do we need new cameras?",answer:"Often leverage existing security cams for queues; shelf compliance needs in-aisle angles. We conduct site surveys."},{question:"How do planogram changes work?",answer:"API ingestion or direct upload; drift alerts automated with task generation for corrective actions."},{question:"What's the ROI timeline?",answer:"Quick-win payback 3-5 months through OSA sales lift and reduced audit labor; see ROI calculator for your store volumes."},{question:"How do you measure walk-offs?",answer:"CV tracks queue entry/exit; abandonment rates with dwell time and trend analysis."}],faqLastUpdated:"2025-01-15",seoTitle:"Retail AI & Computer Vision Solutions | Allerin",seoDescription:"Quick-win retail solutions: shelf compliance, queue analytics, inventory scanning. PoC→Pilot 8–12 weeks with KPI gates."},{title:"Insurance & Government",slug:"insurance-government",icon:Xk,gradient:"from-data-purple to-data-blue",heroSub:"43% faster claims adjudication, 68% document processing lift, and fraud losses down—no core system replacement.",quickWins:["Claims automation & adjudication (ClaimVista)","Compliance document validation (CompliChek)","Government document processing (DocQore)","Insurance fraud detection (FraudLens)"],personas:["Claims Ops","Compliance Teams","Agency IT Directors"],capabilities:["AI","Document Processing","Fraud Detection"],timeToValue:"quick-win",roiUseCases:"genai,analytics",solutions:[{name:"ClaimVista",slug:"claimvista-claims-automation",promise:"Claims automation & adjudication",bullets:["Auto-triage claims by complexity and fraud signals","Extract policy/loss data from photos and PDFs","Route to adjusters with pre-filled worksheets"],timeline:"What you get: Claims classifier · OCR pipeline · Dashboard",deliverables:["Claims classifier model with fraud scoring","OCR pipeline for photos and documents","Adjuster dashboard with pre-filled worksheets","Guidewire/Duck Creek adapters"]},{name:"CompliChek",slug:"complichek-compliance-validation",promise:"Compliance document validation",bullets:["Validate policy docs against state/federal regs","Flag missing disclosures and outdated clauses","Audit trail for SOC 2, HIPAA, FedRAMP"],timeline:"What you get: Compliance engine · Audit dashboard · Export packs",deliverables:["Document validation engine","Compliance rules library (configurable)","Audit trail reports","Exception queue workflow"]},{name:"DocQore",slug:"docqore-document-processing",promise:"Government document processing",bullets:["OCR + NLP for scanned paper, microfilm, PDFs","PII redaction for public records requests","Searchable archive with metadata tagging"],timeline:"What you get: OCR pipeline · Redaction engine · Archive portal",deliverables:["OCR engine with handwriting support","PII redaction pipeline (FOIA/PRA-aligned)","Batch processing scheduler","Quality gates and audit logs"]},{name:"FraudLens",slug:"fraudlens-fraud-detection",promise:"Insurance fraud detection",bullets:["Anomaly detection on claim patterns and networks","Image forensics for staged accidents","Link to SIU workflows and external databases"],timeline:"What you get: Fraud scorer · Investigation queue · API adapters",deliverables:["Fraud detection model with explainability","SIU review console","Override and escalation workflows","Precision/recall KPI dashboard"]}],productsUsed:[{name:"ViSTA",slug:"vista",description:"Document AI for claims processing and compliance validation"},{name:"Data & Analytics Platform",slug:"data-analytics-platform",description:"Fraud detection models and legacy system integration"}],techDeployment:["Claims systems: Guidewire, Duck Creek, Applied Epic via REST/SOAP adapters","Government systems: COTS case management, legacy mainframes via batch/API integration","Security: FedRAMP-ready, NIST 800-53 controls, on-prem or GovCloud deployment options","Privacy: PII masking, configurable retention policies, role-based access, comprehensive audit logs","Infrastructure: Air-gapped deployment for sensitive agencies; commercial cloud for insurance"],roiProof:[{metric:"43% faster claims cycle time",description:"Large P&C insurer reduced auto claims from 18 days to 10.2 days using ClaimVista for photo triage and data extraction"},{metric:"68% document processing improvement",description:"State agency cleared 14-month FOIA backlog in 90 days with DocQore OCR and redaction pipeline"}],faqs:[{question:"Does this integrate with our core claims system?",answer:"Yes—we provide validated adapters for Guidewire, Duck Creek, Applied Epic, and legacy mainframe systems. All integrations are tested during the PoC phase before pilot deployment."},{question:"What about security and compliance (FedRAMP, NIST, HIPAA)?",answer:"We offer FedRAMP-ready deployment options with NIST 800-53 controls and SOC 2 Type II audit compliance. Solutions support on-prem or air-gapped deployment for sensitive government workloads and meet HIPAA requirements for healthcare-related claims."},{question:"How does ClaimVista handle fraud without false positives?",answer:"ClaimVista uses tunable scoring with adjuster override capabilities. All flagged claims route to an SIU review queue before denial. Precision/recall metrics are exposed in the KPI dashboard and continuously monitored."},{question:"Can we deploy on-premises or air-gapped?",answer:"Yes—we support full on-prem deployment for government agencies and GovCloud or commercial cloud options for insurance providers. All data processing and storage can remain within your infrastructure."},{question:"What's the ROI timeline for claims automation?",answer:"Typical payback occurs within one quarter through reduced loss adjustment expenses (LAE) and faster cycle times. Use our ROI calculator to model savings based on your claim volumes."},{question:"How does DocQore handle legacy microfilm and handwritten records?",answer:"DocQore uses advanced OCR with human-in-the-loop validation for low-confidence fields. Accuracy is gated before archive ingestion, with quality metrics tracked per batch."},{question:"What if our adjusters resist AI-assisted workflows?",answer:"ClaimVista augments adjusters rather than replacing them—it pre-fills worksheets so adjusters can focus on judgment calls and customer interaction. Change management support is included in pilot deployment."}],faqLastUpdated:"2025-01-15",seoTitle:"AI Solutions for Insurance & Government: Faster Claims, Compliant Documents, Lower Fraud",seoDescription:"43% faster claims cycle time, 68% document processing lift. ClaimVista, DocQore, CompliChek, FraudLens. FedRAMP-ready. 60-90 day deployment."},{title:"Transportation & Rail",slug:"transportation-rail",icon:VC,gradient:"from-data-cyan to-primary",heroSub:"31% fewer track incidents, 40% faster ROW clearance, and thermal failures caught before service disruption—no wayside system replacement.",quickWins:["Right-of-way monitoring & clearance (RailGuard)","Track defect detection (TrackSentinel)","Rolling stock thermal monitoring (FleetTherm)","Signal & switch monitoring (SignalEye)"],personas:["Infrastructure Directors","Safety Managers","Rolling Stock Operations Teams"],capabilities:["Computer Vision","Predictive Maintenance","Safety Analytics"],timeToValue:"quick-win",roiUseCases:"cv,analytics",solutions:[{name:"RailGuard",slug:"railguard-row-monitoring",promise:"Right-of-way monitoring & clearance",bullets:["Vegetation encroachment detection with GPS mapping","Clearance violation alerts (structure gauge, overhead)","Work order generation with severity scoring"],timeline:"60–90 days",deliverables:["Encroachment detection model","GIS violation layer","CMMS adapter","Scan report scheduler"]},{name:"TrackSentinel",slug:"tracksentinel-defect-detection",promise:"Track defect detection (rail, ties, ballast)",bullets:["Defect classification (cracks, wear, ballast fouling)","Priority scoring by defect severity and traffic volume","Inspection log export for FRA compliance"],timeline:"60–90 days",deliverables:["Defect detection model","Severity scorer","FRA inspection logs","Wayside integration"]},{name:"FleetTherm",slug:"fleettherm-thermal-monitoring",promise:"Rolling stock thermal monitoring",bullets:["Thermal anomaly detection on wheels, bearings, brakes","Pre-failure alerts with component-level tracking","Depot integration for scheduled interventions"],timeline:"60–90 days",deliverables:["Thermal anomaly model","Failure prediction","Depot queue integration","KPI dashboard"]},{name:"SignalEye",slug:"signaleye-signal-monitoring",promise:"Signal & switch monitoring",bullets:["Signal aspect verification from wayside cameras","Switch position confirmation with anomaly alerts","PTC integration for automated fault reporting"],timeline:"60–90 days",deliverables:["Signal verification","Switch tracker","PTC API","Alert rules"]}],productsUsed:[{name:"SENTRA",slug:"sentra",description:"Edge CV for wayside cameras and depot thermal imaging; low-latency inference for real-time alerts"},{name:"Data & Analytics Platform",slug:"data-analytics-platform",description:"CMMS integration (Maximo, SAP PM), GIS mapping, FRA reporting"}],techDeployment:["Infrastructure: Wayside cameras (visible + thermal) with edge compute (Jetson/x86), depot-mounted thermal arrays","Integration: CMMS/EAM (Maximo, SAP PM, Infor EAM), GIS (Esri ArcGIS, LRS), PTC (Wabtec, Alstom, Siemens)","Deployment: Cloud for Class II/III carriers, on-prem for Class I railroads, hybrid edge+cloud analytics"],roiProof:[{metric:"31% fewer track incidents",description:"Regional freight railroad reduced track-caused derailments from 13 to 9 annually using TrackSentinel for defect prioritization"},{metric:"40% faster ROW clearance",description:"Commuter rail system cleared 160 vegetation violations in 45 days (vs. 75 days historical) with RailGuard automated work orders"}],faqs:[{question:"Is this FRA-compliant for track inspection reporting?",answer:"Yes—TrackSentinel generates inspection logs aligned with FRA Part 213 (track safety standards). All defect records include GPS, timestamps, severity classification, and inspector override capabilities."},{question:"Can we integrate with our existing wayside detection systems?",answer:"Absolutely. We integrate with Salient, Lynxrail, and other wayside systems via standard protocols (Modbus, OPC-UA, REST APIs). RailGuard and TrackSentinel augment, not replace, existing HBD/WID systems."},{question:"How accurate is thermal monitoring for rolling stock?",answer:"FleetTherm achieves 92-96% accuracy on bearing/wheel thermal anomalies. False positive rates are tunable; all alerts include thermal imagery for maintenance team verification."},{question:"What about PTC integration for signal/switch monitoring?",answer:"SignalEye integrates with Wabtec, Alstom, and Siemens PTC systems via fault reporting APIs. Signal aspect and switch position data can trigger automated PTC alerts or work orders."},{question:"Can we deploy on-prem for data sovereignty?",answer:"Yes—full on-prem deployment is supported for Class I railroads. All processing and storage remain within your infrastructure with no cloud dependency."},{question:"What's the typical time to first value?",answer:"For ROW monitoring: 4-6 weeks (baseline scans, first violation report). For track defects: 6-8 weeks (PoC with historical imagery, first prioritized work order queue)."},{question:"How do you handle vegetation detection in different seasons?",answer:"RailGuard is trained on multi-season imagery (leaf-on/leaf-off). Seasonal baselines are established during PoC, and model drift is monitored quarterly with retraining triggers."}],faqLastUpdated:"2025-01-15",seoTitle:"Rail & Transportation AI: Track Safety, ROW Monitoring & Predictive Maintenance | Allerin",seoDescription:"31% fewer track incidents, 40% faster ROW clearance. RailGuard, TrackSentinel, FleetTherm, SignalEye. FRA-compliant. 60-90 day deployment."},{title:"Energy & Utilities",slug:"energy-utilities",icon:$P,gradient:"from-data-amber to-data-yellow",heroSub:"Line inspections and PV analytics with fewer flights and faster findings.",quickWins:["Line/tower/substation inspections (GridAurex)","Solar PV thermal anomaly detection (HelioLytix)","Leak/flare monitoring (ThermaSentinel)"],personas:["Transmission & Distribution","Renewable Asset Management","Compliance & Safety"],capabilities:["CV","Analytics"],timeToValue:"quick-win",roiUseCases:"cv_inspection,analytics",solutions:[{name:"GridAurex",slug:"gridaurex-line-inspection",promise:"Transmission line inspection with 45% faster cycle times",bullets:["Anomaly detection from drone/helo feeds (corrosion, vegetation, hot spots)","Route-based review queues with priority scoring","Work order export to EAM/CMMS with GPS coordinates"],timeline:"PoC→Pilot 6–8 weeks · KPI gates · reversible rollout",deliverables:["Anomaly detection model trained on historical footage","Reviewer console with priority queues and export to EAM","Integration with drone platforms (DJI, senseFly, etc.)","GIS-based asset mapping and work order generation"]},{name:"HelioLytix",slug:"heliolytix-solar-anomalies",promise:"Solar PV thermal monitoring with 2-8% production recovery",bullets:["Hot-spot and underperforming panel detection from thermal imagery","Panel string mapping with production impact estimates","Maintenance work orders prioritized by revenue loss"],timeline:"PoC→Pilot 4–6 weeks · thermal baseline · first hot-spot report",deliverables:["Thermal anomaly detection model (94% F1 score)","GIS overlay of panel health by string and inverter","Production loss estimates and maintenance prioritization","Integration with monitoring systems (SolarEdge, Huawei, etc.)"]},{name:"ThermaSentinel",slug:"thermasentinel-leak-monitoring",promise:"Leak/flare monitoring with EPA/LDAR compliance",bullets:["Methane and flare anomaly detection from thermal/OGI sensors","Automated regulatory reports with alert timestamps and GPS","Alert tuning and false-positive reduction"],timeline:"PoC→Pilot 6–8 weeks · threshold tuning · first compliance report",deliverables:["Leak detection model (>85% precision) with thermal/OGI integration","EPA/LDAR-compliant report generation with audit trails","Alert prioritization by severity and regulatory risk","Integration with field maintenance systems"]}],productsUsed:[{name:"SENTRA",slug:"sentra",description:"Edge CV for thermal and visible-spectrum anomaly detection"},{name:"Data & Analytics Platform",slug:"data-analytics-platform",description:"GIS integration, EAM hooks, and regulatory reporting"}],techDeployment:["Drone/helicopter integration for aerial inspections","Thermal cameras (FLIR, etc.) for PV and leak detection","GIS integration for asset mapping and work orders","EAM/CMMS integration (SAP, Maximo, etc.)"],roiProof:[{metric:"45% inspection time reduction",description:"Regional utility using GridAurex for transmission line inspections"},{metric:"2-8% production recovery",description:"Solar farm operators with HelioLytix identifying and prioritizing thermal anomalies for remediation"}],faqs:[{question:"Can we use our existing drone/thermal camera providers?",answer:"Yes. GridAurex and HelioLytix integrate with major drone platforms and thermal cameras (FLIR, DJI, etc.). We ingest standard formats (TIFF, MP4, etc.)."},{question:"How do you integrate with our EAM/CMMS?",answer:"We integrate with SAP, Maximo, and other EAM systems via REST APIs. Work orders are created automatically based on anomaly severity and location."},{question:"What's the accuracy for thermal anomaly detection?",answer:"HelioLytix achieves 90-95% accuracy on hot-spot detection in solar PV. ThermaSentinel methane detection varies by sensor resolution but typically >85% precision."},{question:"Can this run on-prem for critical infrastructure?",answer:"Absolutely. All processing can run on-prem with no cloud dependency. Data stays within your infrastructure and control."},{question:"What's the typical time to first value?",answer:"For line inspections: 6-8 weeks (PoC with historical footage). For solar PV: 4-6 weeks (thermal baseline, first hot-spot report)."},{question:"How do you handle regulatory reporting for leak monitoring?",answer:"ThermaSentinel generates automated reports aligned with EPA/LDAR requirements, including alert timestamps, GPS coordinates, and audit trails."}],faqLastUpdated:"2025-01-15",seoTitle:"Energy & Utilities AI Solutions | Allerin",seoDescription:"Line inspections and PV analytics with fewer flights and faster findings. GridAurex, HelioLytix, ThermaSentinel. 60-90 day deployment."}];const hK=Qe.forwardRef(({...e},t)=>J.jsx("nav",{ref:t,"aria-label":"breadcrumb",...e}));hK.displayName="Breadcrumb";const xK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("ol",{ref:s,className:VT("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...t}));xK.displayName="BreadcrumbList";const uK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("li",{ref:s,className:VT("inline-flex items-center gap-1.5",e),...t}));uK.displayName="BreadcrumbItem";const pK=Qe.forwardRef(({asChild:e,className:t,...s},a)=>{const r=e?be:"a";return J.jsx(r,{ref:a,className:VT("transition-colors hover:text-foreground",t),...s})});pK.displayName="BreadcrumbLink";const gK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("span",{ref:s,role:"link","aria-disabled":"true","aria-current":"page",className:VT("font-normal text-foreground",e),...t}));gK.displayName="BreadcrumbPage";const fK=({children:e,className:t,...s})=>J.jsx("li",{role:"presentation","aria-hidden":"true",className:VT("[&>svg]:size-3.5",t),...s,children:e??J.jsx(ol,{})});function yK(){const[e,t]=Qe.useState("All"),[s,a]=Qe.useState("All");let r=mK;return"All"!==e&&(r=r.filter(t=>t.capabilities.includes(e))),"All"!==s&&(r=r.filter(e=>e.timeToValue===s)),J.jsxs("div",{className:"min-h-screen bg-background","data-page":"industries",children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Industry AI Solutions — Manufacturing, Retail, Logistics | Allerin"}),J.jsx("meta",{name:"description",content:"Production AI for manufacturing, retail, warehousing, insurance, transportation & energy. Computer vision, edge analytics. 60-90 day ROI, on-premise."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/industries"}),J.jsx("meta",{property:"og:title",content:"Industry-Specific AI Solutions: Manufacturing, Retail, Logistics & Energy | Allerin"}),J.jsx("meta",{property:"og:description",content:"Quick-win AI solutions for operations. Computer vision, defect detection, inventory automation, shelf compliance. 60-90 day ROI, edge deployment."}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/industries"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/industries.webp"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"Industry-Specific AI Solutions: Manufacturing, Retail, Logistics & Energy | Allerin"}),J.jsx("meta",{name:"twitter:description",content:"Quick-win AI solutions for operations. Computer vision, defect detection, inventory automation, shelf compliance. 60-90 day ROI, edge deployment."}),J.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/industries.webp"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:"Industries We Serve",description:"Production AI for operations—computer vision, agentic systems, and analytics tuned to each environment.",url:"https://www.allerin.com/industries",mainEntity:{"@type":"ItemList",itemListElement:mK.map((e,t)=>({"@type":"ListItem",position:t+1,url:`https://www.allerin.com/industries/${e.slug}`}))}})})]}),J.jsx(UG,{}),J.jsxs("main",{role:"main",children:[J.jsx("section",{className:"py-section-y bg-gradient-hero border-b border-outline/20",children:J.jsxs("div",{className:"container",children:[J.jsx(hK,{className:"mb-4",children:J.jsxs(xK,{children:[J.jsx(uK,{children:J.jsx(pK,{asChild:!0,children:J.jsx(tt,{to:"/",children:"Home"})})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(gK,{children:"Industries"})})]})}),J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h1",{className:"text-5xl font-bold text-foreground mb-xl",children:"Industry-Specific AI Solutions: Manufacturing, Retail, Logistics & Energy"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-2xl",children:"Quick-win AI solutions purpose-built for operational environments. Computer vision for defect detection, inventory automation, shelf compliance, claims triage, and predictive maintenance. KPI-gated rollouts, edge deployment, 60-90 day time to value."}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("label",{className:"text-sm font-medium text-muted-foreground mb-2 block",children:"Capability"}),J.jsx("div",{className:"flex gap-3 flex-wrap",children:["All","CV","Agentic","GenAI","Analytics"].map(s=>J.jsx(oz,{variant:e===s?"default":"outline",onClick:()=>t(s),size:"sm","aria-pressed":e===s,role:"button",children:s},s))})]}),J.jsxs("div",{children:[J.jsx("label",{className:"text-sm font-medium text-muted-foreground mb-2 block",children:"Time-to-value"}),J.jsx("div",{className:"flex gap-3 flex-wrap",children:["All","quick-win","program"].map(e=>J.jsx(oz,{variant:s===e?"default":"outline",onClick:()=>a(e),size:"sm","aria-pressed":s===e,role:"button",children:"quick-win"===e?"Quick win":"program"===e?"Program":e},e))})]})]})]})]})}),J.jsx("section",{className:"py-section-y",children:J.jsx("div",{className:"container",children:J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-xl",children:r.map(e=>{const t=e.icon,s=e.quickWins[0]||"";return J.jsxs("article",{className:"clean-card p-6 hover:shadow-lg transition-all flex flex-col rounded-lg border border-border bg-card","data-industry":e.slug,"data-analytics-event":"industry_card_view","data-analytics-props":JSON.stringify({industry:e.slug}),children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:`p-3 rounded-lg bg-gradient-to-br ${e.gradient}`,children:J.jsx(t,{className:"w-6 h-6 text-white","aria-hidden":"true"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground flex-1",children:e.title})]}),J.jsx("ul",{className:"space-y-2 mb-4 flex-1",children:e.quickWins.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:e})]},t))}),J.jsx("div",{className:"flex flex-wrap gap-2 mb-4",children:e.personas.map(e=>J.jsx(hU,{variant:"secondary",className:"text-xs","aria-hidden":"true",tabIndex:-1,children:e},e))}),J.jsxs("div",{className:"flex flex-col gap-2",children:[J.jsx(tt,{to:`/industries/${e.slug}`,onClick:()=>((e,t)=>{const s=window.gtag;s&&s("event","industry_card_click",{label:`${e}|${t}`})})(e.slug,s),"data-analytics-event":"industry_card_click","data-analytics-props":JSON.stringify({industry:e.slug,solution:s}),children:J.jsx(oz,{className:"w-full","aria-label":`Explore ${e.title} segment`,children:"Explore segment"})}),J.jsx(tt,{to:`/outcomes?industry=${e.slug}&utm_source=hub&utm_medium=industry_card&utm_content=${e.slug}`,onClick:()=>(e=>{const t=window.gtag;t&&t("event","industry_roi_click",{label:e})})(e.slug),"data-analytics-event":"industry_roi_click","data-analytics-props":JSON.stringify({industry:e.slug}),children:J.jsx(oz,{variant:"link",className:"w-full text-sm","aria-label":`Estimate ROI for ${e.title}`,children:"Estimate ROI"})})]})]},e.slug)})})})})]}),J.jsx(KU,{})]})}fK.displayName="BreadcrumbSeparator";function bK(){const[e,t]=Qe.useState(void 0);return Qe.useEffect(()=>{const e=window.matchMedia("(max-width: 767px)"),s=()=>{t(window.innerWidth<768)};return e.addEventListener("change",s),t(window.innerWidth<768),()=>e.removeEventListener("change",s)},[]),!!e}const vK=[{id:"quickwins",label:"Quick-wins"},{id:"howitworks",label:"How it works"},{id:"tech",label:"Tech"},{id:"roi",label:"ROI"},{id:"faq",label:"FAQ"}],jK=()=>{const[e,t]=Qe.useState(""),s=bK();Qe.useEffect(()=>{const e=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&t(e.target.id)})},{rootMargin:"-100px 0px -80% 0px"});return vK.forEach(({id:t})=>{const s=document.getElementById(t);s&&e.observe(s)}),()=>e.disconnect()},[]);return J.jsx("nav",{className:VT("flex gap-2 py-4",s?"overflow-x-auto scrollbar-hide":"flex-wrap"),"aria-label":"Page sections",children:vK.map(t=>J.jsx("button",{onClick:()=>(e=>{const t=document.getElementById(e);if(t){const e=100,s=document.body.getBoundingClientRect().top,a=t.getBoundingClientRect().top-s-e;window.scrollTo({top:a,behavior:"smooth"})}})(t.id),"aria-pressed":e===t.id,className:VT("px-4 py-2 rounded-full text-sm font-medium transition-all whitespace-nowrap","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e===t.id?"bg-primary text-primary-foreground":"bg-surface/50 text-muted-foreground hover:bg-surface hover:text-foreground"),children:t.label},t.id))})},NK=({industrySlug:e,roiUseCases:t,onDemoClick:s})=>{const[a,r]=Qe.useState(!1),i=bK();return Qe.useEffect(()=>{const e=()=>{r(window.scrollY>600)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]),i&&a?J.jsx("div",{className:VT("fixed bottom-0 left-0 right-0 z-50 bg-background border-t border-outline/20 shadow-lg","transform transition-transform duration-300",a?"translate-y-0":"translate-y-full"),children:J.jsx("div",{className:"container mx-auto px-6 py-3",children:J.jsx(tt,{to:`/outcomes?industry=${e}${t?`&usecases=${t}`:""}&utm_source=industry_detail&utm_medium=mobile_sticky&utm_content=${e}`,onClick:s,className:"block",children:J.jsx(oz,{size:"lg",className:"w-full",style:{minHeight:"44px",minWidth:"44px"},children:"Request Demo"})})})}):null},wK="https://www.allerin.com",kK=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gclid","fbclid","ref","session","debug","source","campaign"];function MK(e){const t=e||window.location.pathname,s=new URL(t,wK);if(kK.forEach(e=>{s.searchParams.delete(e)}),t.startsWith("/roi-calculator"))return`${wK}/roi-calculator`;if(t.startsWith("/outcomes"))return`${wK}/outcomes`;let a=s.toString();return a.endsWith("/")&&a!==`${wK}/`&&(a=a.slice(0,-1)),a}function AK(e,t){return t?`${wK}/og/${e}-${t}.webp`:`${wK}/og/${e}.webp`}function SK(e){return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e.map((e,t)=>({"@type":"ListItem",position:t+1,name:e.name,...e.url&&{item:e.url}}))}}function CK(e){return{"@context":"https://schema.org","@type":"FAQPage",mainEntity:e.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))}}function IK(e,t){return e.length<=t?e:e.slice(0,t-1).trim()+"…"}function PK(){const{slug:e}=st(),t=e?function(e){return mK.find(t=>t.slug===e)}(e):void 0,s=bK(),[a,r]=Qe.useState(!1),i=()=>{const t=window.gtag;t&&t("event","industry_roi_click",{industry:e})},n=t=>{const s=window.gtag;s&&s("event","measure_crosslink_click",{source:"industry",target:t,industry:e})},o=()=>{const t=window.gtag;t&&t("event","request_demo_click",{source:"industry_page",industry:e})};if(!t)return J.jsx(rt,{to:"/industries",replace:!0});const l=t.icon,d=`https://www.allerin.com/industries/${t.slug}`,c=()=>"manufacturing"===t.slug?"Computer vision for defect detection, AI-powered predictive maintenance, and worker safety analytics. Deploy production-grade AI solutions in 90 days with edge deployment that works with your existing cameras and MES systems.":"warehousing-logistics"===t.slug?"Autonomous inventory scanning, dock dwell optimization, and pick path analytics for distribution centers and 3PL warehouses. WMS-integrated solutions deliver 40% faster cycle counts and 25% dock dwell reduction—without closing aisles.":"retail"===t.slug?"Shelf compliance automation, queue management analytics, and backroom inventory scanning for retail stores. ERP-integrated solutions deliver 18% OSA improvement and 30% queue walk-off reduction—without new POS systems.":"insurance-government"===t.slug?"AI-powered claims automation, compliance document validation, and fraud detection for insurance carriers and government agencies. FedRAMP-ready deployments deliver 43% faster claims cycle times and 68% document processing improvements—without replacing core systems.":"transportation-rail"===t.slug?"Computer vision and predictive analytics for rail infrastructure safety, right-of-way monitoring, and rolling stock thermal monitoring. FRA-compliant deployments reduce track incidents by 31% and accelerate ROW clearance by 40%—without replacing wayside systems.":null;return J.jsxs("div",{className:"min-h-screen bg-background","data-industry":t.slug,children:[J.jsxs(iz,{children:[J.jsx("title",{children:t.seoTitle}),J.jsx("meta",{name:"description",content:t.seoDescription}),J.jsx("meta",{name:"robots",content:"index, follow, max-image-preview:large, max-snippet:-1"}),J.jsx("link",{rel:"canonical",href:d}),J.jsx("meta",{property:"og:title",content:t.seoTitle}),J.jsx("meta",{property:"og:description",content:t.seoDescription}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:d}),J.jsx("meta",{property:"og:image",content:`https://www.allerin.com/og/industries-${t.slug}.webp`}),J.jsx("meta",{property:"og:image:width",content:"1200"}),J.jsx("meta",{property:"og:image:height",content:"630"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:t.seoTitle}),J.jsx("meta",{name:"twitter:description",content:t.seoDescription}),J.jsx("meta",{name:"twitter:image",content:`https://www.allerin.com/og/industries-${t.slug}.webp`}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Service",name:`${t.title} AI Solutions`,description:t.heroSub,provider:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"},areaServed:{"@type":"Place",name:"Global"},serviceType:"AI Solutions",category:t.title,hasOfferCatalog:{"@type":"OfferCatalog",name:"Quick-win solutions",itemListElement:t.solutions.map((e,t)=>({"@type":"Offer",itemOffered:{"@type":"Service",name:e.name,description:e.promise},position:t+1}))},isRelatedTo:[...t.productsUsed.map(e=>({"@type":"SoftwareApplication",name:e.name,url:`https://www.allerin.com/products/${e.slug}`,description:e.description}))]})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"HowTo",name:`Implementing AI in ${t.title}`,description:`Quick-win AI deployment process for ${t.title.toLowerCase()} operations`,step:[{"@type":"HowToStep",position:1,name:"PoC Phase",text:"8-12 week proof of concept with initial data collection and model training"},{"@type":"HowToStep",position:2,name:"Pilot Deployment",text:"KPI-gated rollout with measurable metrics and reversible deployment"},{"@type":"HowToStep",position:3,name:"Production",text:"90-day quick wins with full integration to existing systems"}],totalTime:"PT90D"})}),t.faqs&&t.faqs.length>0&&J.jsx("script",{type:"application/ld+json",children:JSON.stringify(CK(t.faqs.map(e=>({question:e.question,answer:e.answer}))))}),"manufacturing"===t.slug&&J.jsx("script",{type:"application/ld+json",children:JSON.stringify([{"@context":"https://schema.org","@type":"Claim",claimInterpreter:{"@type":"Organization",name:"Allerin"},text:"27% scrap reduction achieved by automotive tier-1 supplier using QualiZer for weld inspection",appearance:{"@type":"OpinionNewsArticle",url:d}},{"@context":"https://schema.org","@type":"Claim",claimInterpreter:{"@type":"Organization",name:"Allerin"},text:"35% fewer breakdowns at food processing plant with VibraQore on packaging lines",appearance:{"@type":"OpinionNewsArticle",url:d}}])}),"warehousing-logistics"===t.slug&&J.jsx("script",{type:"application/ld+json",children:JSON.stringify([{"@context":"https://schema.org","@type":"Claim",claimInterpreter:{"@type":"Organization",name:"Allerin"},text:"40% faster cycle counts achieved by 3PL warehouse using StockVexel for nightly autonomous scanning",appearance:{"@type":"OpinionNewsArticle",url:d}},{"@context":"https://schema.org","@type":"Claim",claimInterpreter:{"@type":"Organization",name:"Allerin"},text:"25% dock dwell reduction at distribution center with YardLytix optimizing door assignments",appearance:{"@type":"OpinionNewsArticle",url:d}}])}),"retail"===t.slug&&J.jsx("script",{type:"application/ld+json",children:JSON.stringify([{"@context":"https://schema.org","@type":"Claim",claimInterpreter:{"@type":"Organization",name:"Allerin"},text:"18% OSA improvement achieved through baseline shelf audits vs ShelfSentra alerts; sales lift tracked per category",appearance:{"@type":"OpinionNewsArticle",url:d}},{"@context":"https://schema.org","@type":"Claim",claimInterpreter:{"@type":"Organization",name:"Allerin"},text:"30% queue walk-off reduction measured from queue dwell baseline vs predictive staffing with Queuence",appearance:{"@type":"OpinionNewsArticle",url:d}}])}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://www.allerin.com"},{"@type":"ListItem",position:2,name:"Industries",item:"https://www.allerin.com/industries"},{"@type":"ListItem",position:3,name:t.title,item:d}]})})]}),J.jsx(UG,{}),J.jsxs("main",{role:"main",children:[J.jsx("section",{className:"py-4 border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx(hK,{children:J.jsxs(xK,{children:[J.jsx(uK,{children:J.jsx(pK,{href:"/",children:"Home"})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(pK,{href:"/industries",children:"Industries"})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(gK,{children:t.title})})]})})})}),J.jsxs("article",{children:[J.jsx("section",{className:"py-20 bg-gradient-hero border-b border-outline/20","aria-labelledby":"hero-title",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[J.jsx("div",{className:`p-4 rounded-xl bg-gradient-to-br ${t.gradient}`,role:"img","aria-label":`${t.title} industry icon`,children:J.jsx(l,{className:"w-8 h-8 text-white","aria-hidden":"true"})}),J.jsx("h1",{id:"hero-title",className:"text-5xl font-bold text-foreground",children:"manufacturing"===t.slug?"AI Solutions for Manufacturing: Defect Detection, Predictive Maintenance & Worker Safety":"warehousing-logistics"===t.slug?"Warehouse Automation AI: Autonomous Inventory, Dock Analytics & Pick Optimization":"retail"===t.slug?"Retail AI Solutions: Shelf Compliance, Queue Management & Inventory Automation":"insurance-government"===t.slug?"AI Solutions for Insurance & Government: Faster Claims, Compliant Documents, Lower Fraud":"transportation-rail"===t.slug?"Rail & Transportation AI: Track Safety, ROW Monitoring & Rolling Stock Predictive Maintenance":t.title})]}),t.personas&&t.personas.length>0&&J.jsxs("p",{className:"text-sm text-muted-foreground mb-4 font-medium",children:["Built for ",t.personas.join(", ").toLowerCase()]}),"transportation-rail"===e&&J.jsx("div",{className:"flex flex-wrap gap-sm mb-6",children:["Maintenance of Way","Yard Operations","Safety & Compliance"].map(e=>J.jsx("span",{className:"inline-flex items-center px-4 py-2 rounded-full bg-surface/50 border border-outline/30 text-sm font-medium text-muted-foreground","aria-hidden":"true",tabIndex:-1,children:e},e))}),"energy-utilities"===e&&J.jsx("div",{className:"flex flex-wrap gap-sm mb-6",children:["Grid O&M","Renewable Assets","HSE/Compliance"].map(e=>J.jsx("span",{className:"inline-flex items-center px-4 py-2 rounded-full bg-surface/50 border border-outline/30 text-sm font-medium text-muted-foreground","aria-hidden":"true",tabIndex:-1,children:e},e))}),J.jsx("p",{className:"text-xl text-muted-foreground mb-8",children:t.heroSub}),c()&&J.jsx("p",{className:"text-lg text-muted-foreground mb-8 max-w-3xl",children:c()}),J.jsxs("div",{className:"flex gap-4 flex-wrap",children:[J.jsx(oz,{size:"lg",onClick:()=>{const t=window.gtag;t&&t("event","industry_hero_cta_click",{industry:e}),r(!0)},children:"Talk to an Architect"}),J.jsx(tt,{to:`/outcomes?industry=${t.slug}${t.roiUseCases?`&usecases=${t.roiUseCases}`:""}&utm_source=industry_detail&utm_medium=hero&utm_content=${t.slug}`,onClick:i,children:J.jsx(oz,{size:"lg",variant:"outline",children:"Estimate ROI"})})]})]})})}),("warehousing-logistics"===t.slug||"retail"===t.slug)&&J.jsx("section",{className:"py-8 bg-surface/30 border-b border-outline/20",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsxs("div",{className:"flex flex-wrap justify-center gap-4 md:gap-8 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary","aria-hidden":"true"}),"60–90 day quick wins"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary","aria-hidden":"true"}),"KPI-gated rollouts"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary","aria-hidden":"true"}),"On-prem or cloud"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary","aria-hidden":"true"}),"Reversible in <10 minutes"]})]}),J.jsx("p",{className:"text-center text-xs text-muted-foreground mt-4",children:J.jsx(tt,{to:"/how-we-measure#acceptance",className:"text-primary hover:underline",onClick:()=>n("acceptance"),children:"Methodology →"})})]})}),J.jsx("section",{className:"border-b border-outline/20 bg-background sticky top-0 z-10",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx(jK,{})})}),J.jsx("section",{className:"py-20","aria-labelledby":"quickwins",id:"quickwins",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-2",children:"manufacturing"===t.slug?"Quick-Win AI Solutions for Manufacturing":"warehousing-logistics"===t.slug||"retail"===t.slug?"Ship these in 60–90 days":"Quick-win solutions"}),("warehousing-logistics"===t.slug||"retail"===t.slug)&&J.jsx("p",{className:"text-muted-foreground mb-8",children:"Outcome-first solutions with concrete deliverables"}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:t.solutions.map(s=>J.jsx("article",{"data-analytics-event":"industry_solution_view","data-analytics-props":JSON.stringify({industry:t.slug,solution:s.slug}),children:J.jsxs(aU,{className:"flex flex-col h-full",children:[J.jsxs(rU,{children:[J.jsx(iU,{className:"text-xl",children:J.jsx("h3",{children:s.name})}),J.jsx(nU,{children:s.promise})]}),J.jsxs(oU,{className:"flex-1 flex flex-col",children:[J.jsx("ul",{className:"space-y-2 mb-4 flex-1",children:s.bullets.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsx("span",{children:e})]},t))}),s.deliverables&&s.deliverables.length>0&&J.jsxs("div",{className:"mb-4 p-3 bg-muted/30 rounded-md border border-border/50",children:[J.jsx("p",{className:"text-xs font-semibold text-foreground mb-2",children:"What you get:"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:s.deliverables.join(" · ")})]}),J.jsxs(hU,{variant:"secondary",className:"mb-4 text-xs inline-flex items-center w-fit",children:[J.jsx(Ld,{className:"w-3 h-3 mr-1","aria-hidden":"true"}),s.timeline]}),J.jsx(tt,{to:`/outcomes?industry=${t.slug}${t.roiUseCases?`&usecases=${t.roiUseCases}`:""}&utm_source=industry_detail&utm_medium=solution_card&utm_content=${s.slug}`,onClick:()=>(t=>{const s=window.gtag;s&&s("event","industry_solution_click",{industry:e,solution:t})})(s.slug),children:J.jsxs(oz,{className:"w-full","aria-label":`View ${s.name} solution details`,"data-analytics-event":"industry_solution_click","data-analytics-props":JSON.stringify({industry:t.slug,solution:s.slug}),children:["View solution ",J.jsx(Ka,{className:"w-4 h-4 ml-2","aria-hidden":"true"})]})})]})]})},s.slug))})]})}),J.jsx("section",{className:"py-20 bg-surface/50","aria-labelledby":"howitworks",id:"howitworks",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-8",children:"How it works"}),J.jsx("div",{className:"flex flex-col md:flex-row gap-8 items-center justify-center",children:("warehousing-logistics"===t.slug?[{phase:"PoC",duration:"2-4 weeks",desc:"Baseline scans, accuracy/latency gates, WMS/TMS connectivity check"},{phase:"Pilot",duration:"6-8 weeks",desc:"Edge pipeline live, reviewer/task flows, door/slot KPIs"},{phase:"Scale",duration:"Quarterly",desc:"Health telemetry, model ops, scheduled study packs, SOPs for ops"}]:"retail"===t.slug?[{phase:"PoC",duration:"2-4 weeks",desc:"Aisle baselines, camera placement, ERP/WMS connectivity, OOS/queue baselines"},{phase:"Pilot",duration:"6-8 weeks",desc:"In-aisle inference live, tasking flows to handhelds, OSA/queue KPIs tracked"},{phase:"Scale",duration:"Quarterly",desc:"Model ops, scheduled audit packs, tasking SLAs, regional rollout playbooks"}]:[{phase:"PoC",duration:"2-4 weeks",desc:"Validate feasibility"},{phase:"Pilot",duration:"6-8 weeks",desc:"Prove ROI on limited scope"},{phase:"Scale",duration:"Quarterly",desc:"Expand across facility"}]).map((e,t,s)=>J.jsxs("div",{className:"flex items-center gap-4",children:[J.jsxs(aU,{className:"p-6 text-center min-w-[200px]",children:[J.jsx("div",{className:"text-2xl font-bold text-primary mb-2",children:e.phase}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:e.duration}),J.jsx("div",{className:"text-xs text-muted-foreground leading-relaxed",children:e.desc})]}),t<s.length-1&&J.jsx(Ka,{className:"w-6 h-6 text-primary hidden md:block"})]},e.phase))})]})}),J.jsx("section",{className:"py-20","aria-labelledby":"products-used",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{id:"products-used",className:"text-3xl font-bold text-foreground mb-8",children:"manufacturing"===t.slug?"Manufacturing AI Products & Technology":"Products used"}),J.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:t.productsUsed.map(e=>J.jsx(aU,{children:J.jsxs(rU,{children:[J.jsx(iU,{className:"text-lg",children:J.jsx(tt,{to:`/products/${e.slug}`,className:"hover:text-primary transition-colors",children:e.name})}),J.jsx(nU,{children:e.description})]})},e.name))})]})}),J.jsx("section",{className:"py-20 bg-surface/50","aria-labelledby":"tech",id:"tech",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-8",children:"Tech & deployment"}),s?J.jsx(R$,{type:"single",collapsible:!0,className:"w-full",children:J.jsxs(O$,{value:"tech-details",children:[J.jsx(D$,{children:"View technical details"}),J.jsx(q$,{children:J.jsx("ul",{className:"space-y-3",children:t.techDeployment.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Tl,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})})]})}):J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsx("ul",{className:"space-y-3",children:t.techDeployment.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Tl,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})})}),"transportation-rail"===e&&J.jsx(aU,{className:"mt-6 border-primary/30 bg-primary/5",children:J.jsxs(oU,{className:"pt-6",children:[J.jsxs("h3",{className:"text-lg font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(Xk,{className:"w-5 h-5 text-primary","aria-hidden":"true"}),"Rail Governance & Compliance"]}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Chain-of-custody:"})," All defect evidence includes GPS, timestamp, camera ID, and inspector override audit trail"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Retention windows:"})," Configurable retention (90 days to 7 years) with automated archival to cold storage"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Access control:"})," Role-based permissions (inspector, supervisor, compliance officer) with MFA enforcement"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Incident reporting:"})," Automated FRA Part 213 compliance logs with one-click export for safety audits"]})]})]})]})}),"energy-utilities"===e&&J.jsx(aU,{className:"mt-6 border-primary/30 bg-primary/5",children:J.jsxs(oU,{className:"pt-6",children:[J.jsxs("h3",{className:"text-lg font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(Xk,{className:"w-5 h-5 text-primary","aria-hidden":"true"}),"Energy Governance & Compliance"]}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"NERC CIP compliance:"})," All data classified per CIP-011 (cyber asset protection) with encryption at rest and in transit"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"EPA/FERC reporting:"})," Automated leak detection logs with GPS, timestamps, and severity for regulatory submissions (LDAR, Subpart W)"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Access control:"})," Role-based permissions (field technician, compliance officer, system admin) with MFA and audit trails"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0","aria-hidden":"true"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Data retention:"})," Configurable retention (7-10 years) aligned with FERC/EPA requirements, with automated archival to compliant storage"]})]})]})]})})]})}),J.jsx("section",{className:"py-20","aria-labelledby":"roi",id:"roi",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-8",children:"manufacturing"===t.slug?"Proven ROI in Manufacturing Quality Control":"ROI & proof"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6 mb-6",children:t.roiProof.map((e,t)=>J.jsx(aU,{className:"border-l-4 border-primary",children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("div",{className:"text-2xl font-bold text-primary mb-2",children:e.metric}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})},t))}),J.jsx("p",{className:"text-sm text-muted-foreground mb-8",children:J.jsxs(tt,{to:"/how-we-measure#formulas",className:"text-primary hover:underline inline-flex items-center gap-1",onClick:()=>n("formulas"),children:["Methodology ",J.jsx(Ka,{className:"w-3 h-3","aria-hidden":"true"})]})}),J.jsx(tt,{to:`/outcomes?industry=${t.slug}${t.roiUseCases?`&usecases=${t.roiUseCases}`:""}&utm_source=industry_detail&utm_medium=roi_section&utm_content=${t.slug}`,onClick:i,children:J.jsxs(oz,{size:"lg",children:["Open Outcome Discovery ",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})})]})}),J.jsx("section",{className:"py-20 bg-surface/50","aria-labelledby":"faq",id:"faq",children:J.jsxs("div",{className:"container mx-auto px-6 max-w-3xl",children:[J.jsxs("div",{className:"flex justify-between items-baseline mb-8",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground",children:"Frequently Asked Questions"}),J.jsxs("p",{className:"text-xs text-muted-foreground",children:["Last updated: ",new Date(t.faqLastUpdated).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})]})]}),J.jsx(R$,{type:"single",collapsible:!0,className:"w-full",children:t.faqs.map((t,s)=>{const a=t.question.toLowerCase().replace(/[^a-z0-9]+/g,"-");return J.jsxs(O$,{value:`item-${s}`,children:[J.jsx(D$,{className:"text-left",onClick:()=>((t,s)=>{const a=window.gtag;a&&a("event","industry_faq_open",{industry:e,question:t,index:s})})(a,s),children:t.question}),J.jsxs(q$,{className:"text-muted-foreground",children:[t.answer,t.answer.includes("accuracy")||t.answer.includes("measure")?J.jsx("p",{className:"mt-2",children:J.jsx(tt,{to:"/how-we-measure",className:"text-primary hover:underline text-sm",onClick:()=>n("measure"),children:"Learn more about how we measure →"})}):null]})]},s)})})]})}),"transportation-rail"===e&&J.jsx("section",{className:"py-12 bg-surface/30 border-y border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx(aU,{className:"border-primary/30 bg-gradient-to-br from-background to-surface/50",children:J.jsx(oU,{className:"pt-6",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-center gap-6",children:[J.jsxs("div",{className:"flex-1",children:[J.jsx(hU,{variant:"secondary",className:"mb-3",children:"Case Study"}),J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"31% fewer track incidents in 8 months"}),J.jsx("p",{className:"text-muted-foreground mb-4",children:"Regional freight railroad reduced track-caused derailments using TrackSentinel for defect prioritization and RailGuard for ROW clearance automation."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"TrackSentinel"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"RailGuard"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"SENTRA Edge"})]})]}),J.jsxs("div",{className:"flex flex-col gap-4 md:min-w-[200px]",children:[J.jsxs("div",{className:"text-center p-4 bg-primary/10 rounded-lg border border-primary/20",children:[J.jsx("div",{className:"text-3xl font-bold text-primary",children:"31%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Fewer incidents"})]}),J.jsxs("div",{className:"text-center p-4 bg-primary/10 rounded-lg border border-primary/20",children:[J.jsx("div",{className:"text-3xl font-bold text-primary",children:"40%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Faster clearance"})]})]})]})})})})}),"energy-utilities"===e&&J.jsx("section",{className:"py-12 bg-surface/30 border-y border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx(aU,{className:"border-primary/30 bg-gradient-to-br from-background to-surface/50",children:J.jsx(oU,{className:"pt-6",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-center gap-6",children:[J.jsxs("div",{className:"flex-1",children:[J.jsx(hU,{variant:"secondary",className:"mb-3",children:"Case Study"}),J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"45% faster inspections + 12% production uplift"}),J.jsx("p",{className:"text-muted-foreground mb-4",children:"Regional utility reduced transmission line inspection cycle time with GridAurex, while solar farm operator increased output using HelioLytix for panel health monitoring."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"GridAurex"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"HelioLytix"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"SENTRA Edge"})]})]}),J.jsxs("div",{className:"flex flex-col gap-4 md:min-w-[200px]",children:[J.jsxs("div",{className:"text-center p-4 bg-primary/10 rounded-lg border border-primary/20",children:[J.jsx("div",{className:"text-3xl font-bold text-primary",children:"45%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Faster inspections"})]}),J.jsxs("div",{className:"text-center p-4 bg-primary/10 rounded-lg border border-primary/20",children:[J.jsx("div",{className:"text-3xl font-bold text-primary",children:"12%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Production uplift"})]})]})]})})})})}),J.jsx("section",{className:"py-20 bg-gradient-hero border-t border-outline/20",children:J.jsxs("div",{className:"container mx-auto px-6 text-center",children:[J.jsx("h2",{className:"text-4xl font-bold text-foreground mb-4",children:"Ready to get started?"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-8 max-w-2xl mx-auto",children:"Schedule a 30-minute call with our solution architects to discuss your specific challenges."}),J.jsx(tt,{to:`/outcomes?industry=${t.slug}${t.roiUseCases?`&usecases=${t.roiUseCases}`:""}&utm_source=industry_detail&utm_medium=final_cta&utm_content=${t.slug}`,onClick:o,children:J.jsx(oz,{size:"lg",children:"Request Demo"})}),("transportation-rail"===e||"insurance-government"===e||"energy-utilities"===e)&&J.jsx("p",{className:"text-sm text-muted-foreground mt-6",children:J.jsxs(tt,{to:"/trust",className:"text-primary hover:underline inline-flex items-center gap-1",children:["Procurement team? Visit Trust Center ",J.jsx(Ka,{className:"w-3 h-3","aria-hidden":"true"})]})})]})})]})]}),J.jsx(NK,{industrySlug:t.slug,roiUseCases:t.roiUseCases,onDemoClick:o}),J.jsx(KU,{}),J.jsx(BG,{open:a,onOpenChange:r,defaultIntent:"architect",context:{sourcePage:`/industries/${t.slug}`,sourceButton:"industry_hero_cta",industryContext:t.slug}})]})}const TK=[{slug:"qualizer",name:"QualiZer",promise:"In-line defect detection",heroImage:"/images/solutions/qualizer-hero.webp",sub:"Reduce scrap and rework by detecting defects at the line with edge CV and explainable reviews.",outcomes:["Scrap/rework ↓ 10–25%","Inspection time ↓ 30–60%","False rejects ↓ 10–30%"],capabilities:["Real-time defect cues on conveyor/fixture views","Reviewer console with side-by-side frames & reason codes","Trend by SKU/shift/tool; alerts to MES/Andon","Evidence export for supplier claims & training","Optional AOI/3D fusion where available"],features:[{title:"In-line Detection at 200+ FPS",description:"Inspects every unit on production lines running up to 200 frames per second. No sampling, no slowdowns—continuous quality monitoring."},{title:"Edge-First Architecture",description:"Runs locally on NVIDIA Jetson or industrial PCs. Zero cloud dependency means zero latency spikes and full operation during network outages."},{title:"Native MES/SCADA Integration",description:"Pre-built connectors for Siemens, Rockwell, and Ignition platforms. Defect data flows directly into your existing dashboards—no custom development."},{title:"Intelligent Alert Routing",description:"Critical defects trigger immediate line stops. Minor anomalies log for batch review. Fully configurable thresholds by defect type and severity."}],whatYouGet:["Dataset curation & labeling spec","Baseline model + tracker config (exported)","Edge pipeline (Jetson/x86) with batching","QC KPI pack (scrap, false-rejects, review time)","MES adapters & alert playbooks"],howItWorks:"Cameras → edge detector → review console → MES/ERP alerts → KPI pack",howItWorksSteps:[{title:"Capture",icon:"Camera",description:"High-speed cameras capture every unit on the line"},{title:"Process",icon:"Cpu",description:"Edge device runs CV model locally in <100ms"},{title:"Detect",icon:"ScanSearch",description:"AI identifies defects by type and severity"},{title:"Act",icon:"Bell",description:"Alerts route to operators, data syncs to MES"}],comparison:{title:"QualiZer vs. Traditional Approaches",columns:["QualiZer","Manual Inspection","Cloud-Based CV"],rows:[{capability:"Inspection Speed",values:["200+ FPS","1-2 per minute","50-100 FPS"]},{capability:"Detection Latency",values:["<100ms","Seconds","300-500ms"]},{capability:"Works Offline",values:["✓","✓","✗"]},{capability:"Edge Deployment",values:["✓","N/A","Limited"]},{capability:"MES Integration",values:["Native","Custom","API only"]},{capability:"Setup Time",values:["Days","N/A","Weeks-Months"]}]},deployments:["Edge (Jetson/x86)","Fixed cameras or existing line cams","MES/ERP adapters"],security:["TLS 1.3 for all data in transit","RBAC with operator/reviewer/admin roles","Audit logs with tamper-proof evidence chain","WCAG-aligned review UI for accessibility"],related:{products:["SENTRA","VISTA"],services:["CV FastTrack"],industries:["Manufacturing"]},roiHref:"/outcomes?industry=manufacturing&usecases=cv_quality&utm_source=solutions_hub&utm_medium=solution_card&utm_content=qualizer",tags:{segment:["Manufacturing"],capability:["Detection","Inspection"],deployment:["Edge","Fixed"]},faqs:[{question:"Does this work with our current cameras?",answer:"Yes. We support industrial cameras (GigE, USB3) and can often leverage existing line camera infrastructure. Our team conducts a site survey to recommend optimal hardware configurations."},{question:"How do you handle false rejects?",answer:"The reviewer console allows operators to validate detections and provide feedback. The system learns from these corrections and tracks false-reject rates as a core KPI, with trending by SKU, shift, and tool."},{question:"What's typical time to first pass yield improvement?",answer:"Most customers see measurable first-pass yield improvements within 4-6 weeks of pilot deployment, with full ROI realized within 3-6 months as the system scales across production lines."},{question:"What line speeds and FPS are supported?",answer:"We support line speeds up to 120 FPS on edge hardware (Jetson AGX/x86). For higher-speed applications, we use strobe lighting and frame selection to ensure adequate coverage without overloading compute resources."},{question:"How do you measure accuracy and report to our MES?",answer:"We track detection accuracy, false-reject rates, and scrap reduction in real-time dashboards. MES/ERP integration pushes alerts, hold signals, and KPI data via REST APIs with full audit trails."}],updatedAt:"2025-01-15",seoTitle:"QualiZer — In-line Defect Detection | Allerin",seoDescription:"Reduce scrap 10-25% with edge CV defect detection. PoC→Pilot 8-12 weeks with KPI gates and reversible rollouts."},{slug:"vibraqore",name:"VibraQore",promise:"Predictive maintenance",heroImage:"/images/solutions/vibraqore-hero.webp",sub:"Detect bearing/imbalance faults early and plan interventions to avoid unplanned downtime.",outcomes:["Fewer Unplanned Breakdowns ↓ 35%","Average Failure Warning → 14 days","Maintenance ROI ↑ 3x"],capabilities:["Vibration + current + thermal fusion models","Asset health scoring & remaining-useful-life hints","Work order suggestions to CMMS","Parts & labor forecasting","Drift & seasonality monitoring"],features:[{title:"Multi-Axis Vibration Intelligence",description:"Continuous monitoring across X, Y, Z axes with FFT analysis. Detects imbalance, misalignment, bearing wear, and looseness patterns invisible to periodic checks. Supports accelerometers from 100Hz to 20kHz.",isPrimary:!0},{title:"14-Day Failure Forecasting",description:"ML models trained on your equipment's historical data predict failures up to 14 days in advance. Confidence scores and degradation curves let you plan repairs during scheduled downtime—not emergencies."},{title:"Native CMMS & EAM Integration",description:"Pre-built connectors for SAP PM, IBM Maximo, Fiix, and UpKeep. Work orders auto-generate with predicted failure type, affected asset, and recommended parts. No manual data entry."},{title:"AI-Optimized Scheduling",description:"Automatically prioritizes maintenance tasks by failure probability, production impact, and technician availability. Balances workload across shifts and minimizes production disruption.",isFullWidth:!0}],whatYouGet:["Sensor plan & install guide (or use existing)","Feature extraction pipelines & thresholds","Alert rule book + escalation tree","CMMS adapters (create/update WO)","Health dashboard + weekly summary"],howItWorks:"Sensors → feature/ML → alerting → CMMS → trend dashboard",deployments:["Edge gateway + cloud sync","On-prem viable","Existing sensor integration (vibration, current, thermal)"],security:["RBAC with maintenance/manager/admin roles","Audit trail for all work order suggestions","Evidence export for compliance","TLS 1.3 for all communications"],related:{products:["SENTRA"],services:["Data & Analytics Platform","MLOps"],industries:["Manufacturing","Energy & Utilities"]},roiHref:"/outcomes?industry=manufacturing&usecases=pred_maint&utm_source=solutions_hub&utm_medium=solution_card&utm_content=vibraqore",tags:{segment:["Manufacturing","Energy & Utilities"],capability:["Analytics","Optimization"],deployment:["Edge","Cloud"]},ctaConfig:{hero:{primary:"See Your Equipment's Health Score",supporting:"Get a live demo with your asset data",secondary:"Download Technical Datasheet →",secondaryHref:"/resources/vibraqore-datasheet"},final:{headline:"Stop Guessing When Equipment Will Fail",subhead:"VibraQore customers see 35% fewer unplanned breakdowns in 90 days",button:"Schedule Your Demo",secondary:"Or call us: +1-512-200-2416"}},comparison:{title:"VibraQore vs. Traditional Approaches",columns:["VibraQore","Scheduled Maintenance","Basic Vibration Monitoring"],rows:[{capability:"Failure Prediction",values:["14 days advance","None (reactive)","Threshold alerts only"]},{capability:"False Alarm Rate",values:["<5%","N/A","30-50%"]},{capability:"CMMS Integration",values:["Native (auto work orders)","Manual entry","Export only"]},{capability:"ML Learning",values:["Continuous","None","Static rules"]},{capability:"Multi-failure Detection",values:["✓ (12+ failure modes)","✗","Limited (2-3 types)"]},{capability:"ROI Timeline",values:["60-90 days","N/A","6-12 months"]}]},techSpecs:{title:"Technical Specifications",panels:[{header:"Supported Sensors",items:["Accelerometers: 100Hz - 20kHz range","Velocity sensors: 10Hz - 1kHz","Proximity probes: API 670 compliant","Temperature: PT100, thermocouples","Protocols: 4-20mA, Modbus, OPC-UA, MQTT"]},{header:"Platform Requirements",items:["Edge Gateway: ARM64 or x86, 4GB RAM minimum","Cloud: AWS, Azure, or on-premise deployment","Data retention: Configurable, 2 years default","API: REST + GraphQL, webhook support"]},{header:"CMMS Integrations",items:["SAP PM / S4HANA","IBM Maximo","Fiix","UpKeep","Limble","Custom via API"]},{header:"Security & Compliance",items:["SOC 2 Type II certified","Data encryption: AES-256 at rest, TLS 1.3 in transit","SSO: SAML 2.0, OAuth 2.0","Role-based access control"]}]},useCases:{title:"Built for Critical Equipment",cards:[{title:"Rotating Equipment",icon:"Settings",examples:"Motors, pumps, compressors, fans, turbines",benefit:"Detect bearing wear 2-3 weeks before failure"},{title:"Gearboxes & Drives",icon:"Layers",examples:"Reducers, conveyors, extruders, mixers",benefit:"Identify gear tooth damage and misalignment"},{title:"CNC & Precision Machinery",icon:"Cpu",examples:"Spindles, tool changers, linear guides",benefit:"Maintain machining accuracy, prevent scrap"},{title:"HVAC & Utilities",icon:"Wind",examples:"Chillers, cooling towers, air handlers",benefit:"Avoid facility shutdowns from utility failures"}]},faqs:[{question:"What sensors do we need?",answer:"We support standard vibration sensors (accelerometers), current transformers, and thermal cameras. If you have existing sensors, we can often integrate them. Our team provides a sensor plan during the PoC phase."},{question:"How accurate are the predictions?",answer:"Accuracy varies by asset type and data quality, but we typically achieve 75-85% precision on failure prediction with 2-4 week lead time. We track accuracy as a core KPI and tune models continuously."},{question:"Can this run fully on-prem?",answer:"Yes. We support on-prem deployments with edge gateways and local CMMS integration. Cloud sync is optional for model updates and cross-site analytics."},{question:"How often do models need tuning?",answer:"Initial tuning happens during PoC/Pilot. After that, we recommend quarterly reviews to adjust for seasonal patterns and new asset baselines. Automated drift monitoring alerts when retuning is needed."},{question:"What CMMS systems do you integrate with?",answer:"We integrate with SAP PM, IBM Maximo, Oracle EAM, and other major CMMS platforms via REST APIs. Work orders can be auto-created, updated with findings, and closed with evidence."}],updatedAt:"2025-01-15",seoTitle:"VibraQore — Predictive Maintenance | Allerin",seoDescription:"Reduce unplanned downtime 20-50% with vibration, current, and thermal fusion models. KPI-gated rollouts in 8-12 weeks."},{slug:"stockvexel",name:"StockVexel",promise:"Autonomous inventory scanning",heroImage:"/images/solutions/stockvexel-hero.webp",sub:"Nightly cycle counts and OSA/shrink visibility using drone/AMR scanning—no aisle closures.",outcomes:["Faster Cycle Counts ↑ 40%","Inventory Accuracy ↑ 99.2%","Stock Reconciliation ↓ < 5 min"],capabilities:["Corridor scans → shelf map; OCR/barcode reconciliation","Exception list to handhelds; photos for proof","WMS reconcile & tasking API","Night shift friendly; safety interlocks","AMR/drone path planning and collision avoidance"],whatYouGet:["Drone/AMR config & flight/route plans","Shelf mapping & reconcile rules","Exception workflow & handheld templates","WMS adapters; KPI dashboard","Safety protocols & training materials"],howItWorks:"AMR/drone scan → OCR/barcode → WMS reconcile → exception tasks → KPI dashboard",deployments:["AMR/drone integration","Fixed beacons optional","WMS hooks (SAP, Manhattan, Blue Yonder)"],security:["Privacy-preserving analytics (no PII)","RBAC with operator/manager roles","Audit logs for all scans and reconciliations","TLS 1.3 for WMS integration"],howItWorksSteps:[{title:"Scan",icon:"Scan",description:"Point any device at inventory—barcodes, QR, RFID, or visual recognition"},{title:"Validate",icon:"CheckCircle",description:"AI verifies counts, flags discrepancies, and suggests corrections"},{title:"Sync",icon:"RefreshCw",description:"Real-time updates push to WMS/ERP—no manual reconciliation"},{title:"Optimize",icon:"TrendingUp",description:"ML learns patterns, prioritizes future counts, reduces shrinkage"}],features:[{title:"AI-Powered Multi-Mode Scanning",description:"Scan barcodes, QR codes, and RFID tags using smartphone cameras or dedicated hardware. Computer vision handles damaged, obscured, or angled labels that traditional scanners miss. Batch scanning captures 50+ items per minute.",isPrimary:!0},{title:"Intelligent Cycle Count Optimization",description:"ML algorithms prioritize counts based on velocity, value, and variance history. High-movers counted weekly, slow-movers quarterly—automatically. Guided workflows eliminate double-counts and missed locations."},{title:"Native WMS & ERP Integration",description:"Pre-built connectors for SAP EWM, Oracle WMS, Manhattan, Blue Yonder, and NetSuite. Real-time bidirectional sync—adjustments in StockVexel update your WMS instantly. No batch uploads, no reconciliation delays."},{title:"Real-Time Inventory Intelligence",description:"Live dashboard shows stock levels, locations, and discrepancies across all warehouses. Set alerts for low stock, unexpected variances, or stale inventory. Drill down from zone to bin to SKU in seconds.",isFullWidth:!0}],useCases:{title:"Built for High-Volume Inventory Operations",cards:[{title:"Distribution Centers",icon:"Warehouse",challenge:"Thousands of SKUs across multiple zones",solution:"Zone-by-zone scanning with location validation and variance tracking"},{title:"Retail Backrooms",icon:"ShoppingBag",challenge:"Limited time, cramped spaces, frequent stockouts",solution:"Mobile-first scanning, real-time replenishment alerts, omnichannel visibility"},{title:"Manufacturing Raw Materials",icon:"Box",challenge:"Bulk materials, partial containers, lot tracking requirements",solution:"Partial quantity capture, lot/batch association, FIFO enforcement"},{title:"Cold Chain & Pharma",icon:"Thermometer",challenge:"Expiration tracking, regulatory compliance, temperature sensitivity",solution:"Expiry scanning, compliance audit trails, quarantine workflows"}]},comparison:{title:"StockVexel vs. Traditional Methods",columns:["StockVexel","Manual Counting","Basic Scanner System"],rows:[{capability:"Scan Speed",values:["50+ items/min","8-12 items/min","15-20 items/min"]},{capability:"Damaged Label Handling",values:["AI visual recognition","Manual lookup","Fails/skips"]},{capability:"Accuracy Rate",values:["99.2%+","92-95%","96-98%"]},{capability:"WMS Sync",values:["Real-time","Batch (daily/weekly)","Batch or manual"]},{capability:"Count Prioritization",values:["ML-optimized","Calendar-based","Calendar-based"]},{capability:"Multi-Location Support",values:["Unlimited","Manual coordination","Limited"]},{capability:"Setup Time",values:["Days","N/A","Weeks"]}]},techSpecs:{title:"Technical Specifications",panels:[{header:"Supported Scanning Methods",items:["1D Barcodes: UPC, EAN, Code 128, Code 39, ITF","2D Codes: QR, Data Matrix, PDF417","RFID: UHF Gen2, HF/NFC","Visual AI: Label-free item recognition (beta)","Hardware: iOS/Android cameras, Zebra, Honeywell, Socket Mobile"]},{header:"WMS & ERP Integrations",items:["SAP EWM & S/4HANA","Oracle WMS Cloud","Manhattan Associates","Blue Yonder (JDA)","NetSuite WMS","Microsoft Dynamics 365","Custom via REST API"]},{header:"Platform & Deployment",items:["Mobile: iOS 14+, Android 10+","Web Dashboard: Chrome, Safari, Edge (latest)","Offline Mode: Full functionality, auto-sync on reconnect","Cloud: AWS, Azure, GCP, or on-premise","Data Retention: Configurable, 3 years default"]},{header:"Security & Compliance",items:["SOC 2 Type II certified","GDPR compliant","Data encryption: AES-256 at rest, TLS 1.3 in transit","SSO: SAML 2.0, OAuth 2.0, Active Directory","Audit logging: Complete transaction history"]}]},related:{products:["SENTRA"],services:["CV FastTrack","Data & Analytics Platform"],industries:["Warehousing & Logistics","Retail"]},roiHref:"/outcomes?industry=warehousing-logistics&usecases=supply_chain&utm_source=solutions_hub&utm_medium=solution_card&utm_content=stockvexel",tags:{segment:["Warehousing & Logistics","Retail"],capability:["Detection","Tracking"],deployment:["Drone","Mobile"]},faqs:[{question:"Drone vs AMR—which is better?",answer:"Drones are faster for high-bay warehouses with minimal obstructions. AMRs work better for low-ceiling, high-traffic environments. We conduct site surveys to recommend the optimal solution based on layout, ceiling height, and operations."},{question:"How do you handle safety during operations?",answer:"Safety interlocks pause scanning when personnel are detected in the flight/route path. AMRs have collision avoidance; drones use geofencing and altitude limits. All systems comply with OSHA guidelines."},{question:"What's the accuracy of OCR/barcode scanning?",answer:"We achieve 98%+ accuracy on barcode reads and 95%+ on OCR (label text). Multi-angle capture and validation rules ensure reliability. Exceptions are flagged for manual verification."},{question:"Does this work with our WMS?",answer:"Yes. We integrate with SAP, Manhattan, Blue Yonder, and other major WMS platforms via REST APIs. Data flows bidirectionally for reconciliation, exception handling, and KPI reporting."},{question:"Can we run this without closing aisles?",answer:"Absolutely. StockVexel operates during off-hours or in live aisles with collision avoidance. No disruption to picking operations."}],roiPreview:{headline:"What's Poor Inventory Accuracy Costing You?",cards:[{label:"Labor Costs",stat:"60%",text:"Average labor reduction in cycle counting"},{label:"Write-Offs",stat:"$50K+",text:"Annual shrinkage reduction per facility"},{label:"Stockouts",stat:"35%",text:"Fewer lost sales from inventory errors"}],ctaText:"See your numbers →",ctaLink:"/roi-calculator"},ctaConfig:{hero:{primary:"See StockVexel Scan Live",supporting:"Watch AI handle your toughest inventory challenges",secondary:"Download ROI Calculator →",secondaryHref:"/outcomes?industry=warehousing-logistics&usecases=supply_chain"},final:{headline:"Stop Counting. Start Knowing.",subhead:"StockVexel customers achieve 99%+ inventory accuracy in 90 days",button:"Get Your Demo",secondary:"Or call us: +1-512-200-2416"}},updatedAt:"2025-01-15",seoTitle:"StockVexel — Autonomous Inventory Scanning | Allerin",seoDescription:"Cut cycle count time 60-80% with drone/AMR scanning. No aisle closures. WMS integration in 8-12 weeks."},{slug:"shelfsentra",name:"ShelfSentra",promise:"Shelf compliance & OSA",heroImage:"/images/solutions/shelfsentra-hero.webp",sub:"Detect out-of-stocks and planogram drift in-aisle; push tasks to devices and measure recovery time.",outcomes:["OSA ↑ 2–6 pp","Task recovery time ↓ 20–40%","Conversion lift ↑ 3–5%"],capabilities:["OOS & planogram variance detection","Task push to handhelds; SLA timers","Recovery measurement & leaderboards","Privacy-preserving analytics (no PII)","Real-time shelf compliance scoring"],whatYouGet:["In-aisle model & sampling plan","Tasking API & store device templates","KPI pack & weekly scorecards","Planogram update workflow","Staff training materials"],howItWorks:"In-aisle cameras → CV detection → tasking API → handheld devices → KPI dashboard",deployments:["Mobile/edge inference","Store Wi-Fi OK","Handheld device integration"],security:["Privacy-preserving analytics (no PII)","RBAC with store ops/merchandising roles","Audit logs for all tasks and completions","TLS 1.3 for all data in transit"],features:[{title:"Real-Time OOS & Planogram Detection",description:"Computer vision identifies empty facings, low stock, and planogram deviations within minutes of occurrence. Detects misplaced products, incorrect facings, and price tag mismatches. Works across grocery, general merchandise, and promotional displays.",isPrimary:!0},{title:"Instant Task Push with SLA Timers",description:"Detected issues auto-generate prioritized tasks pushed directly to associate handhelds. SLA timers track time-to-fix with escalation rules. Associates see exact aisle, bay, and shelf location with photo reference."},{title:"Recovery Metrics & Team Leaderboards",description:"Track fix rates by store, department, and associate. Gamified leaderboards drive friendly competition. Weekly scorecards show OSA trends, top performers, and problem categories."},{title:"Privacy-Preserving Shelf Analytics",description:"Cameras focus on shelves, not shoppers. No facial recognition, no PII capture, no customer tracking. GDPR and CCPA compliant by design. Audit logs for all data access.",isFullWidth:!0}],howItWorksSteps:[{title:"Detect",description:"In-aisle cameras continuously monitor shelf conditions",icon:"Camera"},{title:"Identify",description:"CV detects OOS, planogram gaps, and misplaced items",icon:"AlertTriangle"},{title:"Alert",description:"Tasks auto-push to associate handhelds with location",icon:"Smartphone"},{title:"Fix",description:"Associates resolve issues with SLA tracking",icon:"CheckCircle"},{title:"Measure",description:"Recovery metrics and OSA trends on KPI dashboard",icon:"BarChart3"}],comparison:{title:"ShelfSentra vs. Traditional Methods",columns:["ShelfSentra","Manual Audits","Periodic Walks"],rows:[{capability:"Detection Speed",values:["Real-time","Weekly","2-3x daily"]},{capability:"Coverage",values:["Every aisle, always","Sample-based","Limited scope"]},{capability:"OOS Discovery",values:["Minutes","Days","Hours"]},{capability:"Task Routing",values:["Auto to device","Paper lists","Verbal handoff"]},{capability:"Recovery Tracking",values:["Automatic + SLA","Manual logging","Not tracked"]},{capability:"Analytics",values:["Real-time dashboard","Spreadsheet reports","Anecdotal"]},{capability:"Privacy",values:["By design, no PII","N/A","N/A"]}]},techSpecs:{title:"Technical Specifications",panels:[{header:"Detection Capabilities",items:["OOS Detection: Empty facings, low stock indicators","Planogram Compliance: Facing count, product placement, price tag alignment","Accuracy: 95%+ detection rate on trained categories","Update Frequency: Configurable (real-time to hourly)","Categories: Grocery, GM, HBA, Frozen, Refrigerated"]},{header:"Integrations",items:["Handheld Devices: Zebra, Honeywell, consumer Android","Task Management: Reflexis, Zebra Workforce, custom via API","Planogram Systems: Blue Yonder, Symphony RetailAI, JDA","POS/Inventory: Real-time sales velocity correlation","BI/Analytics: Power BI, Tableau, Looker via API"]},{header:"Deployment Options",items:["Edge: In-store processing, minimal bandwidth","Cloud: Centralized analytics, multi-store rollup","Cameras: Existing store cameras or ShelfSentra-optimized","Network: Works on standard store Wi-Fi"]},{header:"Privacy & Compliance",items:["Privacy: No facial recognition, no customer tracking","Data: Shelf images only, no PII captured","Compliance: GDPR, CCPA, BIPA compliant","Access: RBAC with store/district/regional roles","Audit: Complete task and access logs"]}]},useCases:{title:"Built for High-Stakes Retail Environments",cards:[{title:"Grocery & Supermarket",icon:"ShoppingCart",challenge:"Fresh, frozen, and high-velocity categories with constant turnover",solution:"Priority alerts for perishables, end-cap monitoring, promo compliance tracking"},{title:"Big Box & General Merchandise",icon:"Store",challenge:"Large footprints, diverse categories, limited floor staff",solution:"Zone-based prioritization, planogram compliance by department, team leaderboards"},{title:"Convenience & Small Format",icon:"Coffee",challenge:"High turns, limited backroom, every facing counts",solution:"Mobile-first detection, real-time alerts to single associate, rapid restocking workflows"},{title:"CPG & Brand Owners",icon:"Package",challenge:"Visibility into retail execution across chains",solution:"Cross-retailer OSA dashboards, share-of-shelf tracking, promotional compliance audits"}]},ctaConfig:{hero:{primary:"See ShelfSentra Find OOS Live",supporting:"Watch AI detect gaps in your planogram",secondary:"Calculate Your Lost Sales →",secondaryHref:"/roi-calculator"},final:{headline:"Stop Losing Sales to Empty Shelves",subhead:"ShelfSentra customers improve OSA by 2-6 percentage points",button:"Get Your Shelf Assessment",secondary:"Or call us: +1-512-200-2416"}},related:{products:["SENTRA"],services:["CV FastTrack","GenAI Accelerator"],industries:["Retail"]},roiHref:"/outcomes?industry=retail&usecases=analytics&utm_source=solutions_hub&utm_medium=solution_card&utm_content=shelfsentra",tags:{segment:["Retail"],capability:["Detection","Analytics"],deployment:["Mobile","Edge"]},faqs:[{question:"What's your camera policy for in-store deployment?",answer:"We use privacy-preserving analytics with no PII capture. Cameras focus on shelves, not customers. We provide signage templates and compliance documentation for store policies."},{question:"How does this impact staff workload?",answer:"ShelfSentra reduces manual shelf audits and directs staff to specific OOS/drift locations. Most stores report 20-40% reduction in task recovery time, allowing staff to focus on customer service."},{question:"How do you handle planogram changes?",answer:"Planogram updates are ingested via API or uploaded directly. The system alerts when shelf conditions drift from the target layout, with task generation for corrective actions."},{question:"Can we measure the conversion impact?",answer:"Yes. By correlating OSA improvements with POS data, we can measure sales lift and conversion impact. Most customers see 1-3% sales lift on categories with improved OSA."},{question:"Does this integrate with our existing ERP/WMS?",answer:"Yes. We integrate with SAP, Oracle, Microsoft Dynamics, and other major ERP systems. Data flows for reconciliation, tasking, and KPI reporting."}],updatedAt:"2025-01-15",seoTitle:"ShelfSentra — Shelf Compliance & OSA | Allerin",seoDescription:"Increase OSA 2-6 pp with in-aisle CV detection. Task recovery time ↓ 20-40%. Privacy-preserving analytics."},{slug:"queuence",name:"Queuence",promise:"Queue & staffing analytics",sub:"Predict queues, alert lane opens, and cut walk-offs with staffing hooks.",heroImage:"/images/solutions/queuence-hero.webp",outcomes:["Wait time ↓ 20–40%","Walk-offs ↓ 15–30%","Prediction accuracy ↑ 85–90%"],capabilities:["Real-time queue length & wait prediction","Alerts to managers & signage","Staffing planner integration","Anonymized video analytics","Abandonment tracking and trend analysis"],features:[{title:"Real-Time Queue Length & Wait Prediction",description:"Computer vision counts customers in each line and predicts wait times with 85-90% accuracy within a 2-minute window. ML models learn your store's patterns—rush hours, cashier speed variations, and seasonal peaks—for increasingly accurate forecasts.",isPrimary:!0},{title:"Smart Alerts to Managers & Signage",description:"Threshold-based alerts notify managers before queues get critical. Push notifications to mobile devices, overhead announcements, or digital signage directing customers to shorter lines. Configurable by time of day and staffing level."},{title:"Workforce Management Integration",description:"Native connectors for Kronos, ADP, Legion, and other WFM platforms. Recommended lane openings based on predicted demand. Historical data feeds into scheduling optimization for smarter labor planning."},{title:"Anonymized Video Analytics",description:"Queue counting without facial recognition. No customer identification, no PII storage. GDPR and CCPA compliant by design. Heat maps and flow analysis without compromising privacy.",isFullWidth:!0}],whatYouGet:["Predictors tuned to store pattern","Alert destinations & SLA rules","Staffing planner adapter","KPI & incident review deck","Weekly performance reports"],howItWorks:"Cameras → queue detection → wait prediction → alerts → staffing hooks → KPI dashboard",howItWorksSteps:[{title:"Detect",description:"Cameras count customers in each queue",icon:"Users"},{title:"Predict",description:"ML models forecast wait times with 85-90% accuracy",icon:"Clock"},{title:"Alert",description:"Managers notified before queues hit thresholds",icon:"Bell"},{title:"Act",description:"Open lanes, redirect customers, optimize flow",icon:"UserPlus"},{title:"Optimize",description:"Data feeds into staffing and scheduling",icon:"TrendingUp"}],comparison:{title:"Queuence vs. Traditional Methods",columns:["Queuence","Manual Monitoring","Basic Counters"],rows:[{capability:"Queue Detection",values:["Real-time CV","Visual estimation","Door counters only"]},{capability:"Wait Prediction",values:["ML-powered (85-90%)","Not available","Not available"]},{capability:"Alert Speed",values:["Instant","Delayed","None"]},{capability:"Lane Recommendations",values:["Automated","Manager judgment","None"]},{capability:"WFM Integration",values:["Native bi-directional","Manual entry","None"]},{capability:"Privacy",values:["Anonymized, no PII","N/A","N/A"]},{capability:"Historical Analytics",values:["Full dashboard","Anecdotal","Basic counts"]}]},deployments:["Edge or camera-adjacent compute","Low-bandwidth","Store Wi-Fi OK"],security:["Anonymized video analytics (no PII)","RBAC with store ops/manager roles","Audit logs for all alerts","TLS 1.3 for all communications"],techSpecs:{title:"Technical Specifications",panels:[{header:"Detection Capabilities",items:["Queue Counting: Real-time person detection and tracking","Accuracy: 95%+ counting accuracy in standard lighting","Wait Prediction: 85-90% accuracy within 2-minute window","Zones: Multiple queues per camera, configurable boundaries","Conditions: Works in varying lighting, handles occlusion"]},{header:"Integrations",items:["WFM Systems: Kronos, ADP, Legion, UKG, Reflexis","POS: Transaction completion signals for throughput","Digital Signage: BrightSign, Samsung MagicInfo, custom via API","Notification: SMS, push, email, overhead PA triggers","BI/Analytics: Power BI, Tableau, Looker via API"]},{header:"Deployment Options",items:["Edge: Camera-adjacent compute, minimal bandwidth","Cloud: Centralized for multi-store analytics","Cameras: Works with existing IP cameras or optimized hardware","Network: <5 Mbps per camera, store Wi-Fi compatible"]},{header:"Privacy & Compliance",items:["Privacy: Anonymized counting, no facial recognition","Data: Aggregate queue metrics only, no individual tracking","Compliance: GDPR, CCPA, BIPA compliant","Access: RBAC with store/district/regional roles","Retention: Configurable data retention policies"]}]},useCases:{title:"Built for High-Traffic Environments",cards:[{title:"Grocery & Supermarkets",icon:"ShoppingCart",challenge:"Peak hour rushes, inconsistent cashier availability, abandoned carts",solution:"Predictive lane opening, express lane routing, peak staffing alerts"},{title:"Retail Stores",icon:"Store",challenge:"Fitting room queues, checkout bottlenecks, holiday surges",solution:"Multi-zone queue tracking, fitting room alerts, seasonal pattern learning"},{title:"Banks & Credit Unions",icon:"Building",challenge:"Teller line management, lobby wait times, service level targets",solution:"Wait time displays, teller window recommendations, SLA tracking"},{title:"Quick Service Restaurants",icon:"Coffee",challenge:"Drive-thru timing, counter queues, order ahead integration",solution:"Drive-thru lane optimization, kitchen prep alerts, mobile order sync"}]},related:{products:["SENTRA"],services:["CV FastTrack"],industries:["Retail"]},roiHref:"/outcomes?industry=retail&usecases=personalization&utm_source=solutions_hub&utm_medium=solution_card&utm_content=queuence",tags:{segment:["Retail"],capability:["Analytics","Optimization"],deployment:["Edge","Fixed"]},faqs:[{question:"How accurate are the wait time predictions?",answer:"We achieve 85-90% accuracy on wait time predictions within a 2-minute window. Predictors are tuned to each store's traffic patterns and continuously refined based on observed outcomes."},{question:"What signage options are supported?",answer:"We integrate with digital signage systems via REST APIs to display queue status, estimated wait times, and lane open alerts. We also support SMS/app notifications to staff."},{question:"How do you handle false alerts?",answer:"We use multi-frame validation and historical patterns to reduce false alerts. Alert thresholds are configurable, and we track false-alert rates as a core KPI with continuous tuning."},{question:"Can this integrate with our workforce management system?",answer:"Yes. We integrate with major WFM platforms (Kronos, ADP, etc.) to suggest staffing adjustments based on predicted queue demand. Data flows bidirectionally for schedule optimization."},{question:"How do you measure queue walk-offs?",answer:"Queuence uses CV to detect customers who enter a queue and then leave before service. We track dwell time, queue length, and abandonment rates with trend analysis by day-of-week and time-of-day."}],ctaConfig:{hero:{primary:"See Queuence Predict Wait Times",supporting:"Watch AI optimize your checkout lanes",secondary:"Calculate Your Walk-Off Savings →",secondaryHref:"/roi-calculator"},final:{headline:"Stop Losing Customers to Long Lines",subhead:"Queuence customers reduce walk-offs by 15-30%",button:"Get Your Queue Assessment",secondary:"Or call us: +1-512-200-2416"}},updatedAt:"2025-01-15",seoTitle:"Queuence — Queue & Staffing Analytics | Allerin",seoDescription:"Reduce wait time 20-40% and walk-offs 15-30% with queue prediction and staffing hooks. Anonymized analytics."},{slug:"railaurex",name:"RailAurex",promise:"Track & catenary inspection",sub:"Detect defects from video/LiDAR and prioritize work orders for maintenance of way.",heroImage:"/images/solutions/railaurex-hero.webp",outcomes:["Inspection time ↓ 30–50%","Defect detection ↑ 95%+","Hazardous misses ↓ Zero"],capabilities:["Video/LiDAR ingestion; defect detectors","Geo-tagged findings; GIS overlay","Work order export to EAM","Model accuracy dashboards","Route-based inspection planning"],features:[{title:"Multi-Sensor Defect Detection",description:"Ingest video, thermal, and LiDAR data from inspection cars. AI models detect rail cracks, gauge anomalies, fastener defects, tie degradation, and catenary wear. Runs in real-time on edge devices during route traversal—no connectivity required.",isPrimary:!0},{title:"Geo-Tagged Findings with GIS Overlay",description:"Every defect tagged with precise GPS coordinates and milepost reference. Findings overlay on ArcGIS, QGIS, or custom GIS platforms. Filter by defect type, severity, and date range. Route-level visualization for maintenance planning."},{title:"Automated Work Order Export to EAM",description:"Defects auto-generate prioritized work orders in your EAM system—Maximo, SAP PM, Infor EAM. Priority scoring based on defect severity, traffic density, and maintenance history. Two-way sync for work order status updates."},{title:"Model Accuracy & QA Dashboards",description:"Track detection accuracy by defect type and route. QA sampling workflows for ground truth validation. Confusion matrices, false positive rates, and model drift monitoring. Continuous improvement feedback loop.",isFullWidth:!0}],whatYouGet:["Model set + threshold book","GIS layer & route exporter","EAM adapters (WO, status)","QA sampling playbook","Weekly inspection reports"],howItWorks:"Video/LiDAR → defect detection → geo-tagging → GIS overlay → EAM work orders → KPI dashboard",howItWorksSteps:[{title:"Capture",description:"Inspection cars collect video, thermal, and LiDAR data",icon:"Video"},{title:"Detect",description:"Edge AI identifies defects in real-time during traversal",icon:"ScanSearch"},{title:"Locate",description:"Findings geo-tagged with GPS coordinates and mileposts",icon:"MapPin"},{title:"Prioritize",description:"Defects scored by severity for work order ranking",icon:"AlertTriangle"},{title:"Dispatch",description:"Work orders auto-export to EAM for maintenance crews",icon:"Wrench"}],comparison:{title:"RailAurex vs. Traditional Inspection",columns:["RailAurex","Visual Inspection","Periodic Geometry Car"],rows:[{capability:"Inspection Speed",values:["Track speed","5-15 mph","Scheduled runs only"]},{capability:"Coverage",values:["100% of route","Subjective sampling","Geometry only"]},{capability:"Defect Types",values:["Visual + thermal + geometry","Visual only","Geometry only"]},{capability:"Detection Consistency",values:["AI-consistent","Inspector-dependent","Limited scope"]},{capability:"Real-Time Alerting",values:["Yes, edge processing","Manual reporting","Post-processing"]},{capability:"GIS Integration",values:["Native","Manual entry","Batch export"]},{capability:"EAM Work Orders",values:["Automated","Manual creation","Separate workflow"]}]},deployments:["Edge devices in inspection cars","Batch processing on cloud/on-prem","GIS integration (ArcGIS, etc.)"],security:["TLS 1.3 for all data in transit","RBAC with inspection/maintenance/manager roles","Audit logs for all findings and work orders","Evidence export for compliance"],techSpecs:{title:"Technical Specifications",panels:[{header:"Sensor Support",items:["Video: Visible spectrum, 4K resolution, 60+ fps","Thermal: FLIR or equivalent, rail temperature profiling","LiDAR: Rail profile measurement, clearance detection","GPS: Sub-meter accuracy, milepost correlation","Speed: Up to track speed (79 mph passenger, 60 mph freight)"]},{header:"Defect Detection",items:["Rail Defects: Cracks, spalls, head wear, corrugation","Track Geometry: Gauge, cross-level, alignment, twist","Components: Fastener condition, tie degradation, ballast voids","Catenary/OCS: Wire wear, tension anomalies, insulator damage","Accuracy: 95%+ detection rate on trained defect types"]},{header:"Integrations",items:["GIS: ArcGIS, QGIS, custom via API","EAM/CMMS: IBM Maximo, SAP PM, Infor EAM, Oracle eAM","Data Export: CSV, GeoJSON, Shapefile, REST API","Reporting: FRA-compliant outputs, custom templates"]},{header:"Deployment & Security",items:["Edge: Ruggedized compute for inspection cars, offline operation","Cloud: Centralized analytics, multi-corridor dashboards","Security: TLS 1.3, RBAC, audit logging","Compliance: FRA Part 213, AAR standards compatible"]}]},useCases:{title:"Built for Rail Infrastructure of All Sizes",cards:[{title:"Class I Freight Railroads",icon:"Train",challenge:"Thousands of miles, high traffic density, FRA compliance",solution:"High-speed inspection at track speed, priority routing for heavy-haul corridors, FRA reporting integration"},{title:"Short Line & Regional Railroads",icon:"TrainTrack",challenge:"Limited inspection resources, aging infrastructure, budget constraints",solution:"Cost-effective edge deployment, prioritized maintenance spending, do-more-with-less efficiency"},{title:"Passenger & Commuter Rail",icon:"Users",challenge:"Safety-critical, tight maintenance windows, public accountability",solution:"Night-run inspections, rapid turnaround reporting, public safety documentation"},{title:"Transit Authorities",icon:"Tram",challenge:"Urban environment, electrified third rail/catenary, frequent service",solution:"Catenary and OCS inspection, third rail monitoring, integration with transit asset management"}]},related:{products:["SENTRA"],services:["CV FastTrack","MLOps"],industries:["Transportation & Rail"]},roiHref:"/outcomes?industry=transportation-rail&usecases=cv_quality&utm_source=solutions_hub&utm_medium=solution_card&utm_content=railaurex",tags:{segment:["Transportation & Rail"],capability:["Inspection","Detection"],deployment:["Edge","Mobile"]},faqs:[{question:"What sensor mix do you support?",answer:"We support visible-spectrum cameras, thermal cameras, and LiDAR sensors. Multi-modal fusion improves detection accuracy for various defect types (cracks, corrosion, gauge issues, etc.)."},{question:"How do you validate accuracy?",answer:"We use QA sampling playbooks where inspectors manually verify a subset of findings. Accuracy metrics (precision, recall, F1) are tracked in real-time dashboards and reported weekly."},{question:"Can this run offline (no connectivity)?",answer:"Yes. Edge devices can run inspection models offline during route traversal. Data syncs to cloud/on-prem servers when connectivity is available for GIS overlay and EAM integration."},{question:"What EAM/CMMS systems do you integrate with?",answer:"We integrate with SAP PM, IBM Maximo, Oracle EAM, and other major platforms via REST APIs. Work orders can be auto-created with geo-tagged findings, photos, and priority scores."},{question:"How are findings prioritized?",answer:"Defects are scored by severity (cosmetic, minor, major, critical) and location (mainline, siding, yard). Priority rules are configurable and can factor in traffic volume, speed restrictions, and maintenance windows."}],ctaConfig:{hero:{primary:"See RailAurex Detect Defects",supporting:"Watch AI inspect your track in real-time",secondary:"Download Rail Inspection ROI Guide →",secondaryHref:"/resources"},final:{headline:"Stop Guessing. Start Knowing.",subhead:"RailAurex finds defects before they become derailments",button:"Get Your Track Assessment",secondary:"Or call us: +1-512-200-2416"}},updatedAt:"2025-01-15",seoTitle:"RailAurex — Track & Catenary Inspection | Allerin",seoDescription:"Reduce inspection time 30-50% with video/LiDAR defect detection. GIS overlay and EAM integration in 8-12 weeks."},{slug:"claimsentra",name:"ClaimSentra",promise:"Roof/property claims triage",heroImage:"/images/solutions/claimsentra-hero.webp",sub:"Accelerate claim triage using aerial damage scoring and assessor routing with defensible evidence.",outcomes:["Claim cycle ↓ 30–50%","Desk settlements ↑ 35%","Re-inspection rate ↓ <5%"],capabilities:["Aerial image ingest; roof/property scoring","Route & priority suggestions","Evidence packs for adjusters","Public records redaction (paired with VISTA)","Change detection for disaster response"],whatYouGet:["Scoring models + QA samples","Assessor console & export","Claims platform integration (Xactimate, Guidewire, Duck Creek)","Report templates & audit log","Weekly performance reports"],howItWorksSteps:[{title:"Ingest",description:"Aerial imagery from drones, satellites, or manned aircraft",icon:"Upload"},{title:"Score",description:"AI detects and scores damage by type and severity",icon:"Target"},{title:"Triage",description:"Claims prioritized by damage severity and policy value",icon:"ListOrdered"},{title:"Route",description:"Adjusters dispatched to highest-priority properties",icon:"MapPin"},{title:"Close",description:"Evidence packs enable desk settlement or informed field visits",icon:"CheckCircle"}],features:[{title:"Aerial Damage Scoring & Classification",description:"AI analyzes aerial imagery to score roof and property damage by severity (cosmetic, minor, major, total loss). Detects hail impacts, wind damage, missing shingles, and structural issues. Models trained on 100K+ validated claims deliver 90%+ accuracy.",isPrimary:!0},{title:"Intelligent Assessor Routing",description:"Priority scoring routes field adjusters to highest-severity claims first. Desk adjusters handle clear-cut cases remotely. Reduce windshield time by 40% and close more claims without field visits."},{title:"Adjuster-Ready Evidence Packs",description:"Every assessed property generates a complete evidence package for desk adjusters: annotated imagery with damage locations marked and severity scores, property measurements including roof area and affected sections, damage classification (hail, wind, fire, water) with AI confidence levels, before/after comparison with historical imagery overlay when available, Xactimate-ready measurement data for estimate creation, professional PDF claim summary for file documentation, and complete audit trail with scoring timestamp, model version, and QA status."},{title:"Claims Platform Integration",description:"Pre-built connectors for Xactimate, Guidewire ClaimCenter, Duck Creek Claims, and Symbility. REST API for custom integrations to proprietary systems. Bi-directional sync for claim status and work orders."},{title:"Fraud Detection & Claim Validation",description:"Help SIU teams identify suspicious claims before payout. Before/after comparison flags pre-existing damage against historical baseline imagery. Storm path validation correlates claimed damage with actual weather data. Damage pattern analysis identifies inconsistencies with reported peril (hail vs. wind patterns). Claim velocity flags alert on properties with multiple recent claims. All fraud signals logged with evidence for SIU review.",isFullWidth:!0}],useCases:{title:"Built for Property Claims Teams",cards:[{title:"Regional Carriers",icon:"Building",challenge:"Limited field adjuster capacity, CAT events overwhelm staff.",solution:"AI triage prioritizes claims, enables desk settlements, scales instantly for CAT events without adding headcount."},{title:"National Carriers",icon:"Globe",challenge:"Consistency across regions, adjuster calibration, fraud exposure at scale.",solution:"Standardized scoring nationwide, fraud detection at scale, audit-ready documentation for regulatory compliance."},{title:"Managing General Agents (MGAs)",icon:"Briefcase",challenge:"Prove value to capacity partners, fast claims turnaround.",solution:"Demonstrate loss ratio improvement, rapid CAT response, transparent reporting for reinsurance partners."},{title:"Third-Party Administrators (TPAs)",icon:"Users",challenge:"Handle claims for multiple carriers with different requirements.",solution:"Configurable scoring rules by client, white-label reports, multi-tenant deployment with carrier-specific workflows."}]},comparison:{title:"ClaimSentra vs. Traditional Claims Handling",columns:["ClaimSentra","Manual Field Inspection","Desk Review Only"],rows:[{capability:"Time to Triage",values:["Hours","Days–Weeks","Hours"]},{capability:"Damage Assessment",values:["AI-scored + imagery","Subjective","Adjuster estimate"]},{capability:"Consistency",values:["Standardized scoring","Inspector-dependent","Adjuster-dependent"]},{capability:"Re-Inspection Rate",values:["Low (evidence-based)","High (disputes)","High (incomplete)"]},{capability:"Fraud Detection",values:["Before/after + patterns","Limited","Very limited"]},{capability:"CAT Scalability",values:["10,000+ claims/day","Linear with staff","Limited by data"]},{capability:"Adjuster Safety",values:["Remote assessment","On-site risk","Remote"]},{capability:"Audit Trail",values:["Complete","Manual documentation","Email/notes"]}]},techSpecs:{title:"Technical Specifications",panels:[{header:"Imagery Sources",items:["Satellite: Planet, Maxar, Airbus","Manned Aircraft: EagleView, Nearmap, Vexcel","Drone: DJI, Skydio, Autel","Historical: Access to baseline imagery for change detection","Formats: JPEG, TIFF, GeoTIFF, orthorectified imagery"]},{header:"Damage Detection",items:["Roof Damage: Missing shingles, hail impacts, wind lift, punctures","Structural: Collapsed sections, fire damage, debris impact","Perimeter: Fence damage, tree fall, outbuilding damage","Accuracy: 92%+ detection rate on trained damage types","Confidence Scoring: Low/Medium/High with explanation"]},{header:"Claims System Integrations",items:["Xactimate: Measurement export, damage data","Guidewire ClaimCenter: Claim status, assignment","Duck Creek: Policy/claim linkage","Custom: REST API, webhooks, batch export"]},{header:"Security & Compliance",items:["Encryption: TLS 1.3 in transit, AES-256 at rest","Access Control: RBAC (adjuster, supervisor, admin, SIU)","Audit: Complete decision log with timestamps","Compliance: SOC 2 Type II, supports Fair Claims Settlement Practices","Data Retention: Configurable per carrier requirements"]}]},howItWorks:"Aerial imagery → damage scoring → assessor routing → evidence packs → claims system → KPI dashboard",deployments:["Cloud or on-prem","Optional edge ingest","Imagery integration (drone, satellite, aerial providers)"],security:["TLS 1.3 for all data in transit","RBAC with adjuster/manager/admin roles","Audit logs for all scoring and routing decisions","Redaction tools for public records compliance (VISTA)","Evidence chain of custody"],related:{products:["VISTA","SENTRA"],services:["CV FastTrack","Data & Analytics Platform"],industries:["Insurance & Government"]},roiHref:"/outcomes?industry=insurance-government&usecases=fraud&utm_source=solutions_hub&utm_medium=solution_card&utm_content=claimsentra",tags:{segment:["Insurance & Government"],capability:["Detection","Inspection"],deployment:["Cloud","Drone"]},faqs:[{question:"What imagery sources do you support?",answer:"We ingest aerial imagery from drones, satellites (Maxar, Planet, etc.), manned aircraft, and third-party aerial providers. Image formats include JPEG, TIFF, and GeoTIFF."},{question:"How do you set confidence thresholds?",answer:"Confidence thresholds are configurable by damage type and severity. We recommend starting conservative (high confidence) and tuning based on adjuster feedback and QA sampling."},{question:"What about audit trails for regulatory compliance?",answer:"All scoring decisions, assessor routes, and evidence packs are logged with timestamps, user IDs, and model versions. Audit logs are tamper-proof and exportable for regulatory review."},{question:"Can this detect fraud patterns?",answer:"Yes. By analyzing historical claims and damage patterns, we can flag anomalies (e.g., pre-existing damage, inconsistent reports). Fraud detection models are tuned during PoC with your claims data."},{question:"How does this integrate with our claims system?",answer:"We integrate with major claims platforms (Guidewire, Duck Creek, etc.) via REST APIs. Data flows bidirectionally for claim status, evidence attachments, and KPI reporting."}],updatedAt:"2025-01-15",seoTitle:"ClaimSentra — Roof/Property Claims Triage | Allerin",seoDescription:"Reduce claims cycle time 30-50% with aerial damage scoring. Assessor routing and evidence packs in 8-12 weeks.",ctaConfig:{hero:{primary:"See ClaimSentra Score a Roof",supporting:"Watch AI triage a property claim in under 60 seconds",secondary:"Download CAT Response Playbook →",secondaryHref:"/resources"},final:{headline:"Stop Guessing. Start Scoring.",subhead:"Close more claims from your desk with AI-powered damage assessment",button:"Get a Claims Assessment",secondary:"Or call us: +1-512-200-2416"}}},{slug:"claimvista",name:"ClaimVista",promise:"Claims automation & adjudication",sub:"Reduce claims cycle time and improve adjuster productivity with AI-powered triage and data extraction.",outcomes:["Cycle time ↓ 30-50%","Data entry ↓ 8 min saved/claim","Extraction accuracy 95%+"],capabilities:["Auto-triage claims by complexity, fraud signals, and urgency","OCR extraction of policy/loss data from photos, PDFs, and forms","Pre-filled adjuster worksheets with validated data","Fraud signal detection with 50+ red flag rules and SIU queue routing","Integration with core claims systems (Guidewire, Duck Creek, etc.)"],features:[{title:"Fraud Signal Detection",description:"ClaimVista analyzes every claim for fraud indicators, flagging suspicious patterns for SIU review. 50+ red flag rules detect late reporting, excessive treatment, prior claim history, and provider patterns. Duplicate detection identifies same loss reported across policies or carriers. Document authenticity analysis checks metadata and manipulation on photos and documents. Network analysis reveals connections between claimants, providers, and attorneys. Anomaly scoring flags claims outside normal patterns for loss type, geography, or policy segment. All fraud signals are logged with evidence for SIU investigation—no automatic denials.",isPrimary:!0},{title:"Intelligent Document Processing",description:"95%+ OCR accuracy on structured forms (FNOLs, police reports, repair estimates) and 90%+ on field photos. Extracts policy data, loss details, claimant information, and damage assessments. Supports Mitchell, CCC, and Audatex estimate formats. Low-confidence extractions are flagged for adjuster review with highlighted fields.",isPrimary:!1},{title:"Auto-Triage & Routing",description:"AI-powered claim classification by complexity, urgency, and fraud risk. Simple claims route to junior adjusters or straight-through processing. Complex claims escalate to senior staff. Fraud-flagged claims queue for SIU review. Configurable routing rules adapt to your team structure.",isPrimary:!1},{title:"Adjuster Productivity Suite",description:"Pre-filled worksheets save 8+ minutes per claim on data entry. Single pane of glass shows all claim data, documents, and AI extractions with confidence scores. Easy correction workflow for exception handling. Mobile-ready interface for field adjusters.",isPrimary:!1},{title:"Flexible Automation Model",description:"Straight-Through Processing (STP): 30-40% of simple, low-risk claims auto-adjudicated with zero human touch—validated data, no fraud flags, within policy limits. Human-in-the-Loop (HITL): Complex claims route to adjusters with 80% of data pre-extracted and validated. Average handling time drops from 45 minutes to 12 minutes per claim. Configurable thresholds let you dial automation up or down based on your risk appetite.",isFullWidth:!0}],whatYouGet:["Claims classifier model tuned to your loss types","OCR pipeline for FNOL documents and field photos","Adjuster dashboard with pre-filled worksheets","KPI pack: cycle time, touchpoints, accuracy, fraud flags","Claims system adapters (REST/SOAP)"],useCases:{title:"Built for Every Claims Line",cards:[{title:"Auto Claims",icon:"Car",challenge:"High volume, damage photo review, estimate validation, subrogation recovery delays.",solution:"Photo AI extracts damage details and severity. Estimate import from Mitchell/CCC/Audatex with validation. Liability scoring accelerates subrogation recovery."},{title:"Property Claims",icon:"Home",challenge:"CAT surge volume, contractor estimate variability, coverage verification bottlenecks.",solution:"Rapid FNOL intake during CAT events—scale instantly without adding headcount. Contractor estimate extraction. Coverage validation against policy terms."},{title:"Workers' Compensation",icon:"HardHat",challenge:"Medical documentation complexity, treatment tracking, return-to-work coordination.",solution:"Medical record extraction and timeline automation. Treatment plan summarization. Reserve recommendations based on injury severity and historical outcomes."},{title:"Healthcare Claims",icon:"Stethoscope",challenge:"CPT/ICD validation, medical necessity determination, provider documentation volume.",solution:"HIPAA-compliant processing with full audit trail. CPT/ICD code validation against submitted services. Medical record summarization for faster clinical review."}]},comparison:{title:"ClaimVista vs. Manual Claims Processing",columns:["ClaimVista","Manual Process","Basic OCR Tools"],rows:[{capability:"FNOL Processing Time",values:["< 3 minutes","15-20 minutes","8-10 minutes"]},{capability:"Data Extraction Accuracy",values:["95%+","Error-prone","80-85%"]},{capability:"Adjuster Pre-Fill",values:["80% of fields","None","Limited fields"]},{capability:"Triage & Routing",values:["Instant, AI-scored","Manual review","None"]},{capability:"Fraud Detection",values:["Real-time scoring","Post-facto review","None"]},{capability:"Claims Platform Sync",values:["Bi-directional","Manual entry","One-way"]},{capability:"Audit Trail",values:["Complete","Inconsistent","Limited"]}]},howItWorks:"FNOL intake → triage model → OCR extraction → pre-fill adjuster worksheet → claims system sync → KPI dashboard",howItWorksSteps:[{title:"Intake",description:"FNOL documents, photos, and forms arrive via any channel",icon:"Inbox"},{title:"Extract",description:"AI extracts policy data, loss details, and damage information",icon:"FileSearch"},{title:"Triage",description:"Claims scored and routed by complexity, urgency, and fraud risk",icon:"GitBranch"},{title:"Pre-Fill",description:"Adjuster worksheets populated with verified data and recommendations",icon:"FileCheck"},{title:"Sync",description:"Claim data flows to your claims system with full audit trail",icon:"RefreshCw"}],deployments:["Cloud or on-prem","API integration with claims platforms","Mobile-friendly adjuster interface"],security:["HIPAA-compliant for healthcare claims","SOC 2 Type II audited","RBAC with adjuster/supervisor/SIU roles","Full audit trail for regulatory compliance"],techSpecs:{title:"Technical Specifications",panels:[{header:"Document Processing",items:["Input Formats: PDF, TIFF, JPEG, PNG, HEIC, email (EML/MSG)","OCR Engine: AI-powered with handwriting support","Accuracy: 95%+ on structured forms, 90%+ on photos","Throughput: 10,000+ documents/hour","Languages: English, Spanish (others on request)"]},{header:"Claims Platform Integrations",items:["Guidewire ClaimCenter: REST API, real-time sync","Duck Creek: Policy/claims data exchange","Mitchell/CCC/Audatex: Estimate import","Custom: REST API, webhooks, SFTP batch","Authentication: OAuth 2.0, API keys, SSO"]},{header:"Triage & Routing",items:["Complexity Scoring: Low/Medium/High based on loss type, amount, coverage","Urgency Detection: Injury claims, total loss, large loss triggers","Fraud Scoring: 50+ red flag indicators","Assignment Rules: Configurable by line, geography, adjuster expertise"]},{header:"Security & Compliance",items:["Certifications: SOC 2 Type II, HIPAA (healthcare)","Encryption: TLS 1.3 in transit, AES-256 at rest","Access: RBAC (adjuster, supervisor, SIU, admin)","Audit: Complete extraction and decision logs","Data Residency: US, EU options available"]}]},related:{products:["ViSTA","Data & Analytics Platform"],services:["GenAI Accelerator","AI Modernization"],industries:["Insurance & Government"]},roiHref:"/outcomes?industry=insurance-government&usecases=genai&utm_source=solutions_hub&utm_medium=solution_card&utm_content=claimvista",tags:{segment:["Insurance & Government"],capability:["Document Processing","Analytics","Automation"],deployment:["Cloud","API"]},faqs:[{question:"How accurate is the OCR for claims documents?",answer:"ClaimVista achieves 95%+ accuracy on structured forms and 90%+ on field photos. Low-confidence extractions are flagged for adjuster review with highlighted fields."},{question:"Does this work with our claims platform (Guidewire, Duck Creek)?",answer:"Yes. Pre-built connectors available for Guidewire ClaimCenter (bi-directional claim sync, task assignment) and Duck Creek Claims (policy/claim data exchange, workflow triggers). Mitchell, CCC, and Audatex estimate import supported. REST API and webhooks available for custom systems or other platforms like Snapsheet."},{question:"How does fraud detection work without false positives?",answer:"Fraud signals use tunable scoring. Flagged claims route to SIU review queue—no automatic denials. Precision/recall metrics are tracked in the KPI dashboard."},{question:"What's the typical ROI timeline?",answer:"Most insurers see payback within one quarter through reduced LAE and faster cycle times. Use our ROI calculator for volume-based estimates."},{question:"Will adjusters accept AI pre-fills?",answer:"ClaimVista augments adjusters, not replaces them. Pre-fills save time on data entry so adjusters focus on judgment calls. Change management is included in pilot."}],ctaConfig:{hero:{primary:"See ClaimVista Process a Claim",supporting:"Watch AI extract, triage, and route in under 60 seconds",secondary:"Calculate Your Adjuster Time Savings →",secondaryHref:"/roi-calculator"},final:{headline:"Stop Typing. Start Adjusting.",subhead:"ClaimVista handles the data entry so your adjusters can focus on claims",button:"Get a Claims Automation Assessment",secondary:"Or call us: +1-512-200-2416"}},heroImage:"/images/solutions/claimvista-hero.webp",updatedAt:"2025-01-15",seoTitle:"ClaimVista — Claims Automation & Adjudication | Allerin",seoDescription:"Reduce claims cycle time 30-50% with AI triage and OCR. Guidewire/Duck Creek integration. 60-90 day deployment."},{slug:"complichek",name:"CompliChek",promise:"Policy form compliance validation",heroImage:"/images/solutions/complichek-hero.webp",sub:"Validate insurance policy forms against state-specific regulations before SERFF filing. Catch compliance issues before they become objections, fines, or market conduct findings.",description:"CompliChek automatically reviews policy contracts, endorsements, riders, and declarations pages against disclosure requirements, prohibited language rules, and mandated provisions for all 50 US states.",outcomes:["Faster Audit Prep ↓ 40-60%","Fewer SERFF Objections ↓ 85%","Validation Accuracy ↑ 98%+"],capabilities:["Validate policy documents against state/federal regulations","Flag missing disclosures, outdated clauses, and non-compliant language","Audit trail generation for SOC 2, HIPAA, FedRAMP compliance","Version control and change tracking for policy updates","Regulatory database auto-updates with jurisdiction rules"],whatYouGet:["Compliance rule engine with jurisdiction mapping","Policy validation dashboard with issue flagging","Audit export packs (PDF, CSV, JSON)","Issue Resolution Workflow — When CompliChek flags a compliance issue, resolution is tracked through completion: Issue Assignment (flagged issues auto-assigned to document owners), SLA Tracking (configurable resolution deadlines by severity), Status Updates (real-time visibility into fix progress), Re-Validation (one-click re-check after edits), Approval Workflow (sign-off chain before filing), and complete Audit Trail with timestamps, user IDs, and document versions for market conduct documentation","Quarterly regulatory database updates"],howItWorks:"Policy upload → rule engine validation → issue flagging → remediation workflow → audit export → compliance dashboard",howItWorksSteps:[{title:"Upload",description:"Upload policy forms, endorsements, riders, or full filing packages",icon:"Upload"},{title:"Validate",description:"AI rule engine checks against state-specific requirements",icon:"ShieldCheck"},{title:"Flag",description:"Missing disclosures and non-compliant language highlighted",icon:"AlertTriangle"},{title:"Remediate",description:"Issues assigned, tracked, and resolved with full audit trail",icon:"Pencil"},{title:"Export",description:"Generate audit-ready documentation and filing packages",icon:"Download"}],workflowContext:{title:"Built for the SERFF Filing Workflow",intro:"Every policy form must be filed through SERFF (System for Electronic Rate and Form Filing) before it can be used. Objections delay launches. Repeat objections signal compliance problems. Market conduct exams uncover violations. CompliChek validates forms BEFORE you file:",bullets:["Pre-submission validation catches issues upstream","Fewer SERFF objections means faster approvals","Audit trail documentation for market conduct exams","Version control tracks which forms are approved where"]},deployments:["Cloud or on-prem","API integration with policy management systems","Secure file upload portal"],security:["SOC 2 Type II audited","HIPAA-compliant for healthcare policies","RBAC with compliance/legal/admin roles","Tamper-proof audit logs"],related:{products:["ViSTA","Data & Analytics Platform"],services:["Security & Compliance","AI Modernization"],industries:["Insurance & Government"]},roiHref:"/outcomes?industry=insurance-government&usecases=analytics&utm_source=solutions_hub&utm_medium=solution_card&utm_content=complichek",tags:{segment:["Insurance & Government"],capability:["Document Processing","Compliance","Automation"],deployment:["Cloud","API"]},techSpecs:{title:"Technical Specifications",panels:[{header:"Document Support",items:["Formats: PDF, DOCX, RTF","Types: Policy forms, endorsements, riders, declarations, applications","Batch Processing: Up to 500 documents per batch","OCR: Scanned document support with 98%+ accuracy"]},{header:"Rule Engine",items:["Coverage: All 50 US states + federal regulations","Rule Count: 5,000+ compliance rules","Update Frequency: Within 30 days of regulatory changes","Sources: DOI bulletins, ISO circulars, AAIS, NCCI"]},{header:"Integrations",items:["Policy Admin: Guidewire PolicyCenter, Duck Creek Policy, custom via API","Document Management: SharePoint, Box, DocuSign","Export: PDF reports, Excel summaries, SERFF-ready packages","API: REST API for custom integrations"]},{header:"Security & Compliance",items:["Certifications: SOC 2 Type II, HIPAA compliant","Encryption: TLS 1.3 in transit, AES-256 at rest","Access: RBAC (compliance, legal, admin, viewer)","Audit: Complete activity logging","Data Residency: US data centers"]}]},useCases:{title:"Compliance Validation by Line of Business",cards:[{title:"Personal Lines P&C",icon:"Home",examples:"Auto, Homeowners, Umbrella",benefit:"Cancellation disclosures, uninsured motorist requirements, flood exclusion language, hurricane deductible disclosures"},{title:"Commercial Lines",icon:"Building2",examples:"GL, Property, Commercial Auto, BOP",benefit:"Terrorism coverage disclosures, pollution exclusions, cyber coverage language, certificate holder requirements"},{title:"Specialty & Excess",icon:"Shield",examples:"E&S, Excess, Surplus",benefit:"Non-admitted disclosures, surplus lines tax language, rate freedom filings, limited regulation compliance"},{title:"Health & Benefits",icon:"Heart",examples:"Health, Disability, Life",benefit:"ACA compliance, mental health parity, network adequacy, HIPAA privacy requirements, MLR disclosures"}]},comparison:{title:"CompliChek vs. Manual Compliance Review",columns:["CompliChek","Manual Review","Outsourced Consultants"],rows:[{capability:"Review Speed",values:["Minutes","Days–Weeks","Days–Weeks"]},{capability:"Consistency",values:["Rule-based, 100%","Analyst-dependent","Consultant-dependent"]},{capability:"Coverage",values:["All 50 states","Limited expertise","Varies by firm"]},{capability:"Cost per Form",values:["Fixed, predictable","High labor cost","High consulting fees"]},{capability:"Audit Trail",values:["Automatic, complete","Manual documentation","Deliverable-based"]},{capability:"Regulatory Updates",values:["Continuous","Manual tracking","Periodic updates"]},{capability:"Scalability",values:["Unlimited","Headcount-limited","Budget-limited"]}]},faqs:[{question:"Which regulations and jurisdictions are covered?",answer:"CompliChek covers all 50 US states plus federal regulations (HIPAA, ACA, FCRA, TRIA). Bureau forms (ISO, AAIS, NCCI) are validated against current circulars. Rules update within 30 days of DOI bulletins; critical changes within 48 hours."},{question:"How often are regulatory rules updated?",answer:"Rules update within 30 days of DOI bulletins and ISO circulars. Critical changes (emergency orders, immediate-effect rules) are pushed within 48 hours. Quarterly comprehensive review ensures complete coverage."},{question:"Can this handle custom policy language and endorsements?",answer:"Yes. Custom rule sets can be configured during onboarding. The system learns your policy templates and flags deviations from approved language."},{question:"What's the false-positive rate on compliance issues?",answer:"Precision is typically 95%+. All flagged issues include rule citations and severity ratings. Legal teams can override flags with documented rationale."},{question:"Does this integrate with our policy admin system?",answer:"Yes. We integrate with major policy admin platforms via API or batch file upload. Validation results flow back to policy records."}],testimonial:{quote:"We used to spend three weeks reviewing forms before every SERFF submission. Half the time, we'd still get objections on something we missed. CompliChek runs the same review in minutes and catches issues our analysts overlook. Our objection rate dropped from 40% to under 10%.",attribution:"Director of Compliance",company:"Regional P&C Carrier, 12-state footprint"},ctaConfig:{hero:{primary:"See CompliChek Validate a Form",supporting:"Watch AI catch compliance issues in real-time",secondary:"Download State Compliance Checklist →",secondaryHref:"/resources"},final:{headline:"File with Confidence",subhead:"Catch compliance issues before SERFF catches them for you",button:"Get a Compliance Assessment",secondary:"Or call us: +1-512-200-2416"}},updatedAt:"2025-01-15",seoTitle:"CompliChek — Compliance Document Validation | Allerin",seoDescription:"Reduce audit prep time 40-60% with automated policy validation. SOC 2, HIPAA, FedRAMP compliance trails. 60-90 day deployment."},{slug:"docqore",name:"DocQore",promise:"Government document processing",heroImage:"/images/solutions/docqore-hero.webp",sub:"Digitize your paper and microfilm archives. Make 15 years of records searchable in 90 days. Clear FOIA backlogs by finding documents in minutes instead of weeks.",description:"FOIAXpress manages requests. DocQore clears the pile. We digitize your legacy records — paper, microfilm, microfiche — and make them searchable with AI-powered OCR and automatic PII redaction. Your FOIA officers stop digging through boxes and start releasing records.",outcomes:["Throughput 1,000+ pages/hour","OCR accuracy 95-98%","Searchable archive 60-90 days"],processingCapacity:{title:"Processing Capacity",intro:"Built for government-scale backlogs:",metrics:[{label:"Throughput",value:"1,000+ pages per hour automated processing"},{label:"Batch Size",value:"Up to 100,000 documents per job"},{label:"OCR Accuracy",value:"98%+ typewritten, 95%+ handwritten"},{label:"Redaction Speed",value:"500+ pages per hour with AI assist"},{label:"Total Capacity",value:"1 million+ pages in 90 days"}]},capabilities:["Legacy Format Conversion — Purpose-built for the formats agencies actually have: 16mm, 35mm roll film, COM microfiche, aperture cards, bound volumes, loose sheets, oversized maps, faded/stained/damaged originals, and handwritten records with AI-assisted human validation","Advanced Preprocessing — Deskew, despeckling, contrast enhancement, and edge detection for maximum OCR accuracy on challenging media","NLP-powered metadata extraction and tagging","Exemption-Aware PII Redaction — Redact by FOIA exemption with full audit trail: (b)(6) Personal Privacy (names, SSNs, DOB, addresses), (b)(7)(C) Law Enforcement (witness names, informant IDs), (b)(4) Trade Secrets (commercial/financial info), plus custom agency-specific patterns. Each redaction tagged with exemption code, reviewer ID, and timestamp. Export redaction log for FOIA response documentation","Searchable archive with full-text indexing","Batch processing with quality gates and human-in-loop validation"],whatYouGet:["OCR pipeline tuned to document types (forms, microfilm, handwritten)","Redaction engine with configurable PII rules","Archive portal with search and export capabilities","Quality dashboard with accuracy metrics per batch","Training materials for staff and reviewers"],howItWorks:"Document intake → OCR + NLP → metadata extraction → PII redaction → quality review → archive ingestion → search portal",howItWorksSteps:[{title:"Intake",description:"Bulk ingest paper, microfilm, or existing scans",icon:"FileInput"},{title:"OCR + NLP",description:"AI extracts text with 95%+ accuracy, even handwritten",icon:"Scan"},{title:"Metadata",description:"Auto-extract dates, names, case numbers, document types",icon:"Tag"},{title:"Redact",description:"AI identifies PII, human reviews and confirms",icon:"EyeOff"},{title:"QA Review",description:"Dual-review workflow, audit trail logging",icon:"CheckCircle"},{title:"Archive",description:"Searchable archive with NARA-compliant exports",icon:"Archive"}],workflowContext:{title:"Meets Federal Digitization Standards",intro:"DocQore outputs meet NARA requirements for permanent federal records. Digitize with confidence that your records meet federal standards:",bullets:["FADGI 3-Star Compliant — Image quality meets Federal Agencies Digital Guidelines Initiative standards","PDF/A Output — Archival format accepted for transfer to National Archives","Metadata Standards — Dublin Core and NARA-required fields for archival transfer","Quality Validation — Automated checks against NARA 36 CFR Part 1236 requirements"]},qualityWorkflow:{title:"Quality Assurance Workflow",intro:"Government records require defensible quality control:",sections:[{heading:"OCR Validation",bullets:["AI flags low-confidence fields for human review","Side-by-side view: original image + OCR text","Correct, confirm, or escalate to supervisor"]},{heading:"Redaction Review",bullets:["Dual-review workflow: Redactor → Approver","Exemption code validation ensures correct (b)(6), (b)(7)(C), (b)(4) tagging","Highlight missed PII for correction before release"]},{heading:"Audit Trail",bullets:["Every action logged: who, what, when","Exportable log for FOIA response documentation","Defensible record for litigation holds and IG audits"]}]},comparison:{title:"DocQore vs. Manual Processing",columns:["DocQore","Manual Processing","FOIA Trackers Only"],rows:[{capability:"Digitize legacy formats",values:["✓ Automated","Hours per box","✗ Not included"]},{capability:"OCR + full-text search",values:["✓ 95%+ accuracy","Manual transcription","✗ Relies on metadata"]},{capability:"PII redaction",values:["✓ AI-assisted","Hours per document","✓ Manual tools"]},{capability:"Find responsive docs",values:["Minutes","Days–weeks","Depends on indexing"]},{capability:"Microfilm conversion",values:["✓ Built-in","Outsourced","✗ Not included"]},{capability:"NARA-compliant output",values:["✓ FADGI 3-star","Varies","N/A"]}]},techSpecs:{title:"Technical Specifications",panels:[{header:"Document Support",items:['Paper: Letter, legal, tabloid, oversized (up to 36")',"Microform: 16mm, 35mm roll film, microfiche, aperture cards","Digital: PDF, TIFF, JPEG, PNG","Handwritten: AI-assisted with human validation queue"]},{header:"OCR & NLP Engine",items:["OCR Accuracy: 98%+ typewritten, 95%+ machine print, 90%+ handwritten","Languages: English (additional languages on request)","NLP: Named entity recognition, date extraction, document classification","Preprocessing: Deskew, despeckle, contrast, edge detection"]},{header:"Output Formats",items:["Archival: PDF/A-1, PDF/A-2, PDF/A-3","Search: Full-text index with fielded search","Metadata: Dublin Core, NARA-required fields, custom schemas","Export: CSV, XML, JSON metadata; bulk file export"]},{header:"Security & Compliance",items:["Framework: NIST 800-53 controls","Authorization: FedRAMP High baseline architecture","Encryption: TLS 1.3 in transit, AES-256 at rest","Access: RBAC (redactor, reviewer, admin, auditor)","Deployment: Cloud, on-premises, air-gapped"]},{header:"Performance",items:["Throughput: 1,000+ pages/hour automated","Batch Size: Up to 100,000 documents per job","Concurrent Users: Unlimited (license-based)","SLA: 99.9% uptime (cloud deployment)"]}]},deployments:["On-prem or air-gapped for sensitive agencies","Cloud option for non-classified records","Batch processing with priority queues"],security:["Architected to meet FedRAMP High baseline requirements","NIST 800-53 controls","RBAC with redactor/reviewer/admin roles","Audit logs for all redactions and exports"],related:{products:["ViSTA"],services:["AI Modernization","Security & Compliance"],industries:["Insurance & Government"]},roiHref:"/outcomes?industry=insurance-government&usecases=genai&utm_source=solutions_hub&utm_medium=solution_card&utm_content=docqore",tags:{segment:["Insurance & Government"],capability:["Document Processing","OCR","Redaction"],deployment:["On-Prem","Air-Gapped"]},faqs:[{question:"Can DocQore handle handwritten records and microfilm?",answer:"Yes. Advanced OCR with human-in-loop validation for low-confidence fields. Accuracy is gated before archive ingestion, with quality metrics tracked per batch."},{question:"How does PII redaction work for FOIA requests?",answer:"Configurable redaction rules by document type and jurisdiction. Redactions are reviewable before release. Audit trail logs all redaction decisions."},{question:"What's the typical accuracy for OCR on legacy documents?",answer:"90-95% for machine-typed documents, 85-90% for handwritten text. Low-confidence extractions are flagged for manual review and correction."},{question:"Can we prioritize urgent FOIA requests?",answer:"Yes. Priority queues route urgent requests to the front of the processing pipeline. Estimated completion times are displayed in the dashboard."},{question:"Is this approved for classified or sensitive records?",answer:"DocQore supports air-gapped deployment for sensitive agencies. Architected to meet FedRAMP High baseline with NIST 800-53 controls. Classified deployments require additional security review."}],ctaConfig:{hero:{primary:"See DocQore Process Documents",supporting:"Watch AI digitize and redact in real-time",secondary:"Download FOIA Backlog Assessment Guide →",secondaryHref:"/resources"},final:{headline:"Stop Digging Through Boxes",subhead:"Make your archives searchable. Clear your FOIA backlog.",button:"Request FOIA Backlog Assessment",secondary:"Or call us: +1-512-200-2416"}},updatedAt:"2025-01-15",seoTitle:"DocQore — Government Document Processing | Allerin",seoDescription:"Clear FOIA backlogs 60-80% faster. OCR + NLP + PII redaction. Architected for FedRAMP High, air-gapped deployment. 60-90 day ROI."},{slug:"fraudlens",name:"FraudLens",promise:"Insurance fraud detection",heroImage:"/images/solutions/fraudlens-hero.webp",sub:"Score every claim at FNOL — in milliseconds. Flag suspicious claims before payout with anomaly detection, image forensics, and network analysis.",description:"Enterprise fraud detection at mid-market speed. While legacy vendors take 6-12 months to deploy, FraudLens is scoring claims in 30 days. No consultants. No consortium data sharing. Just AI that finds fraud your rules-based system misses.",outcomes:["Detection 3x more fraud vs. rules-based","Resolution 50% faster SIU case closure","Precision 75% fewer false positives"],capabilities:["Anomaly detection on claim patterns, networks, and submission behavior","Image Forensics for the AI Era — Fraudsters now use GANs, DALL·E, and Midjourney to create fake damage photos. FraudLens detects what human eyes miss with pixel-level analysis, AI-generation detection, metadata forensics, and cross-claim matching","Fraud Ring Detection — Organized fraud costs more than opportunistic fraud. FraudLens maps entity relationships, detects patterns across providers/attorneys/claimants, and provides visual network graphs for SIU investigation","SIU workflow integration with investigation queue","External database lookups (ISO, NICB, fraud bureaus)"],imageForensics:{title:"Image Forensics for the AI Era",intro:"Fraudsters now use GANs, DALL·E, and Midjourney to create fake damage photos. FraudLens detects what human eyes miss:",sections:[{heading:"Pixel-Level Analysis",bullets:["Compression artifacts from editing","Clone detection and splicing","Color inconsistencies and lighting anomalies"]},{heading:"AI-Generation Detection",bullets:["GAN fingerprints and synthetic patterns","Deepfake signatures in video claims","Rendered vs. real damage classification"]},{heading:"Metadata Forensics",bullets:["EXIF timestamp validation","GPS location verification","Camera/device fingerprinting"]},{heading:"Cross-Claim Matching",bullets:["Reverse image search against claims database","Detect reused damage photos","Flag stock images submitted as evidence"]}],footer:"Every suspicious image flagged with visual evidence for SIU."},networkAnalysis:{title:"Fraud Ring Detection",intro:"Organized fraud costs more than opportunistic fraud. FraudLens maps the connections:",sections:[{heading:"Entity Relationships",bullets:["Claimant ↔ Provider connections","Attorney ↔ Claimant patterns","Witness ↔ Claimant relationships","Address and contact info clustering"]},{heading:"Pattern Detection",bullets:["Same provider treating multiple 'unrelated' claimants","Attorney mills with suspicious case volumes","Family networks staging multiple incidents","Phone/email patterns across claims"]},{heading:"Visual Investigation",bullets:["Interactive network graphs for SIU","Click-to-expand relationship exploration","Export evidence packages for prosecution"]}],footer:"Catch the ring, not just the claim."},fnolScoring:{title:"Stop Fraud Before Payout",intro:"Traditional fraud detection catches fraud after the check is written. FraudLens scores at first notice of loss:",sections:[{heading:"At FNOL (Day 0)",bullets:["Instant fraud score in milliseconds","High-risk claims flagged before assignment","Adjusters see fraud indicators immediately"]},{heading:"During Investigation",bullets:["Continuous scoring as new information arrives","Network connections update in real-time","Photo forensics flag suspicious images"]},{heading:"Before Payout",bullets:["Final fraud review with complete evidence","SIU queue for high-risk claims","Clean claims expedited for faster settlement"]}],footer:"Stop paying fraudsters. Start stopping them."},whatYouGet:["Fraud scoring model tuned to your claim types","Investigation queue with evidence packages","API adapters for SIU systems and external databases","KPI dashboard: detection rate, precision, investigation cycle time","Quarterly model retraining with new fraud patterns"],howItWorks:"Claim intake → fraud scoring → anomaly detection → image forensics → SIU queue → investigation workflow → outcome tracking",howItWorksSteps:[{title:"Ingest",description:"Claim data, photos, documents flow in at FNOL",icon:"FileInput"},{title:"Score",description:"ML model assigns fraud probability in milliseconds",icon:"Gauge"},{title:"Analyze",description:"Anomaly detection, image forensics, network mapping",icon:"Search"},{title:"Flag",description:"High-risk claims routed to SIU with evidence packages",icon:"Flag"},{title:"Investigate",description:"SIU reviews with visual tools and justification",icon:"Users"},{title:"Resolve",description:"Deny, recover, or refer for prosecution",icon:"CheckCircle"}],deployments:["Cloud or on-prem","API integration with claims platforms and SIU systems","Real-time scoring at FNOL"],useCases:{title:"Fraud Detection by Line of Business",cards:[{title:"Auto Claims",icon:"Car",fraudTypes:"Staged collisions, phantom passengers, inflated repairs, pre-existing damage",detection:"Photo forensics, estimate validation, collision pattern analysis"},{title:"Property Claims",icon:"Home",fraudTypes:"Arson, inflated losses, invented items, pre-dated damage",detection:"Aerial imagery comparison, inventory validation, claim timing analysis"},{title:"Workers' Compensation",icon:"HardHat",fraudTypes:"Provider mills, fake injuries, attorney rings, malingering",detection:"Medical bill patterns, treatment timelines, provider network mapping"},{title:"General Liability",icon:"AlertTriangle",fraudTypes:"Slip-and-fall staging, exaggerated injury, witness coordination",detection:"Incident pattern analysis, social media correlation, witness network mapping"}]},techSpecs:{title:"Technical Specifications",panels:[{header:"Detection Capabilities",items:["Anomaly Detection: Unsupervised ML on claim patterns","Image Forensics: Pixel analysis, metadata validation, AI-generation detection","Network Analysis: Graph-based relationship mapping","Text Analysis: NLP on adjuster notes, medical records, demand letters","Pattern Matching: Cross-claim duplicate detection"]},{header:"Scoring & Routing",items:["Response Time: <100ms per claim","Score Range: 0-100 fraud probability","Thresholds: Configurable by line of business","Routing: Rules engine for SIU queue management","Alerts: Real-time webhook notifications"]},{header:"Integrations",items:["Claims Systems: Guidewire ClaimCenter, Duck Creek Claims, Snapsheet, Mitchell WorkCenter","Data Sources: NICB, ISO ClaimSearch, state fraud bureaus","Deployment: REST API, batch import, real-time streaming","Export: Evidence packages, CSV, JSON, PDF reports"]},{header:"Security & Compliance",items:["Certifications: SOC 2 Type II audited","Encryption: TLS 1.3 in transit, AES-256 at rest","Access: RBAC (SIU, fraud analyst, admin, auditor)","Audit: Complete decision logging","Compliance: NAIC AI guidelines, fair claims handling"]},{header:"Model Management",items:["Training: Continuous learning on new fraud patterns","Validation: Regular accuracy and bias testing","Explainability: Human-readable justification for every score","Tuning: Carrier-specific threshold calibration"]}]},comparison:{title:"FraudLens vs. Legacy Detection",columns:["FraudLens","Rules-Based Systems","Manual SIU Review"],rows:[{capability:"Detection Timing",values:["Real-time at FNOL","Batch processing","Post-payment"]},{capability:"New Fraud Patterns",values:["✓ ML adapts automatically","✗ Rules must be updated","✗ Experience-dependent"]},{capability:"Organized Rings",values:["✓ Network analysis","Limited visibility","Time-intensive"]},{capability:"AI-Generated Photos",values:["✓ Forensics detection","✗ Not detectable","✗ Hard to spot"]},{capability:"False Positive Rate",values:["Low (ML optimized)","High (broad rules)","Varies by analyst"]},{capability:"Scalability",values:["Unlimited claims","Rules explosion","Headcount-limited"]},{capability:"Explainability",values:["✓ Evidence packages","Rule triggered","Analyst judgment"]}]},explainability:{title:"Explainable AI for Regulatory Compliance",intro:"Insurance regulators require carriers to explain AI decisions. FraudLens delivers transparency:",sections:[{heading:"For SIU Investigators",bullets:["Human-readable fraud indicators for each flagged claim","Visual evidence highlighting suspicious elements","One-click evidence package generation"]},{heading:"For Regulators",bullets:["Complete audit trail of scoring decisions","Model documentation and validation records","NAIC AI guidelines and fair claims handling compliance"]},{heading:"For Legal",bullets:["Defensible investigation documentation","Chain of custody for digital evidence","Expert-ready forensic reports"]}],footer:"Every decision documented. Every flag justified."},integrations:{title:"Claims Platform Integrations",intro:"FraudLens integrates with your existing claims ecosystem:",sections:[{heading:"Claims Management Systems",items:["Guidewire ClaimCenter","Duck Creek Claims","Snapsheet","Mitchell WorkCenter"]},{heading:"SIU Platforms",items:["ISO ClaimSearch","Verisk Analytics","Custom SIU workflows via REST API"]},{heading:"Data Sources",items:["NICB (National Insurance Crime Bureau)","State fraud bureaus","Public records and court filings"]},{heading:"Deployment Options",items:["REST API for real-time scoring","Batch processing for backlog analysis","Webhook alerts for high-priority fraud"]}]},security:["SOC 2 Type II audited","RBAC with SIU/fraud analyst/admin roles","Audit trail for all scoring decisions","Privacy-preserving analytics (no PII leakage)"],related:{products:["Data & Analytics Platform","ViSTA"],services:["GenAI Accelerator","Analytics Platform"],industries:["Insurance & Government"]},roiHref:"/outcomes?industry=insurance-government&usecases=analytics&utm_source=solutions_hub&utm_medium=solution_card&utm_content=fraudlens",tags:{segment:["Insurance & Government"],capability:["Analytics","Fraud Detection","Image Analysis"],deployment:["Cloud","API"]},faqs:[{question:"How does fraud scoring work without false positives?",answer:"Tunable scoring with configurable thresholds. High scores route to SIU review—no automatic denials. Precision/recall metrics tracked in KPI dashboard."},{question:"What types of fraud can FraudLens detect?",answer:"Staged accidents, exaggerated claims, identity fraud, provider fraud, and fraud rings. Models are trained on historical fraud patterns and continuously updated."},{question:"Can this detect image manipulation (Photoshop, deepfakes)?",answer:"Yes. Image forensics analyze metadata, compression artifacts, and pixel-level inconsistencies. Flagged images route to manual forensic review."},{question:"Does this integrate with external fraud databases (ISO, NICB)?",answer:"Yes. API adapters for major fraud bureaus and databases. Lookups happen in real-time during claim intake or SIU investigation."},{question:"What's the typical lift in fraud detection rates?",answer:"Most insurers see 25-40% improvement in detection rates with 10-20% reduction in false positives. Actual lift depends on baseline fraud rate and claim mix."}],updatedAt:"2025-01-15",seoTitle:"FraudLens — Insurance Fraud Detection | Allerin",seoDescription:"Boost fraud detection 25-40% with AI anomaly detection and image forensics. SIU workflow integration. 60-90 day deployment."},{slug:"railguard-row-monitoring",name:"RailGuard",promise:"Right-of-way monitoring & clearance",heroImage:"/images/solutions/railguard-hero.webp",sub:"Automated vegetation encroachment detection and clearance violation alerts with GIS mapping and work order integration.",productClarification:{text:"For track component inspection (rail defects, tie condition, fasteners), see",linkText:"RailAurex",linkHref:"/solutions/railaurex"},outcomes:["Survey time 35-45% faster (weeks → days per subdivision)","Detection 60-80% more encroachments vs. manual patrol","Costs 40-55% lower with targeted crew dispatch"],capabilities:["Vegetation encroachment detection with GPS mapping","Structure Gauge & Clearance Monitoring — Monitor infrastructure against AAR Plate B-K standards, catenary wire proximity, and bridge/tunnel profiles for high-wide load planning","Seasonal Intelligence — Single-scan detection flags everything; baseline comparison flags what matters. Establish seasonal profiles to track growth rates, distinguish normal change from abnormal encroachment, verify herbicide effectiveness, and detect storm damage via pre/post comparison","Work order generation with severity scoring and priority routing","GIS layer export for corridor planning and maintenance scheduling"],seasonalIntelligence:{title:"Seasonal Intelligence",intro:"Single-scan detection flags everything. Baseline comparison flags what matters. Transform vegetation management from reactive cutting to predictive scheduling.",capabilities:[{name:"Growth Rate Tracking",description:"Monitor vegetation growth velocity to predict clearing needs before encroachment occurs"},{name:"Seasonal Change Discrimination",description:"Distinguish normal seasonal variation (leaf-on/leaf-off) from abnormal encroachment requiring intervention"},{name:"Herbicide Effectiveness",description:"Compare pre/post treatment scans to verify chemical application success and optimize spray programs"},{name:"Storm Damage Detection",description:"Rapid pre/post storm comparison identifies windfall, leaning trees, and debris accumulation across subdivisions"}],footer:"RailGuard establishes seasonal profiles during PoC to calibrate detection thresholds for your specific corridor conditions."},clearanceMonitoring:{title:"Clearance Monitoring",intro:"Before running oversized equipment, verify clearances through tunnels, under bridges, and past platforms. RailGuard continuously monitors clearance profiles:",capabilities:[{name:"Envelope Tracking",description:"Monitor infrastructure against AAR Plate B-K clearance standards automatically"},{name:"Overhead Clearance",description:"Catenary and wire proximity monitoring for electrified territories"},{name:"Bridge & Tunnel Profiles",description:"Build baseline clearance maps for high-wide load planning"},{name:"Change Detection",description:"Alert when clearances shrink due to structural settling, vegetation growth, or new construction"}]},regulatoryCompliance:{title:"FRA Vegetation Compliance",intro:"Vegetation control is federally mandated under 49 CFR 213.321. RailGuard automates detection and documentation:",items:[{code:"Fire Hazard Prevention (§213.321a)",description:"Dry brush and debris accumulation near track structures and bridges"},{code:"Signal Visibility (§213.321b)",description:"Vegetation blocking line-of-sight to signals, crossbucks, and warning signs"},{code:"Grade Crossing Sight Lines (§213.37)",description:"Vegetation encroachment affecting motorist visibility at highway-rail crossings"},{code:"Roll-by Inspection (§213.321e)",description:"Clearance for employees to visually inspect moving equipment from duty stations"}],footer:"Every detection documented with GPS coordinates, timestamp, and photographic evidence for FRA audit trails."},whatYouGet:["Encroachment detection model trained on multi-season corridor imagery","GIS violation layer with heatmap and severity classification","CMMS adapter for automated work order creation (Maximo, SAP PM)","Scheduled scan report generator with compliance audit trail"],howItWorks:"Implementation Timeline — PoC (2-4 weeks): Baseline corridor scans, accuracy validation, CMMS connectivity. Pilot (6-8 weeks): Live inference on priority corridors, work order integration, violation KPIs. Scale: Seasonal monitoring program with quarterly model updates and drift monitoring.",howItWorksSteps:[{title:"Data Capture",description:"Deploy cameras on hi-rail vehicles, wayside mounts, or locomotives. Capture corridor imagery at up to 40 mph with 4K resolution.",icon:"Camera"},{title:"Edge Processing",description:"NVIDIA Jetson processes imagery in real-time. No cloud upload required — detections stay on your network with full data sovereignty.",icon:"Cpu"},{title:"AI Detection",description:"Models trained on railroad imagery identify vegetation encroachment, structure gauge violations, overhead clearance issues, and crossing sight obstructions.",icon:"Brain"},{title:"Baseline Comparison",description:"First-season surveys establish seasonal profiles. Subsequent surveys flag deviation — catching new growth and verifying clearing effectiveness.",icon:"GitCompare"},{title:"Work Order Generation",description:"Detections route to Maximo or SAP PM with GPS coordinates, photos, severity scores, and recommended actions for field crews.",icon:"ClipboardList"},{title:"GIS Visualization",description:"Violation layers push to Esri ArcGIS for map-based corridor planning, trend analysis, and maintenance scheduling.",icon:"Map"}],deployments:["Mobile (Hi-Rail Vehicle) — Survey corridors on patrol schedule with edge compute unit in vehicle. Ideal for regional railroads and targeted corridor surveys","Fixed (Wayside) — Permanent camera installations at high-risk locations for continuous monitoring. Ideal for grade crossings, bridge approaches, and known problem areas","Revenue Service — Cameras mounted on operating locomotives. Survey network during normal operations with no dedicated track time required","All options include Jetson/x86 edge processing and Esri ArcGIS integration with linear referencing support"],security:["On-prem deployment for Class I railroads with data sovereignty requirements","Role-based access controls for field crews, dispatchers, and managers","Audit trail for all violation detections and work order assignments"],related:{products:["sentra","vista"],services:["cv-fasttrack","data-analytics-platform"],industries:["transportation-rail"]},roiHref:"/outcomes?industry=transportation-rail&usecases=cv&risk=expected",tags:{segment:["Transportation & Rail","Infrastructure"],capability:["Computer Vision","GIS Integration"],deployment:["Edge","Cloud","Hybrid"]},useCases:{title:"Use Cases",cards:[{icon:"Train",title:"Class I & Major Freight",challenge:"Thousands of corridor miles require continuous vegetation monitoring at scale",solution:"Mainline corridor monitoring at scale, pre-double-stack clearance verification, supplement LiDAR surveys with continuous CV-based monitoring between geometry car runs"},{icon:"TrainTrack",title:"Regional & Short-Line",challenge:"Limited MOW budgets and no dedicated inspection equipment",solution:"Cost-effective alternative to geometry cars, hi-rail deployment on existing fleet, combine with RailAurex for comprehensive MOW coverage across your network"},{icon:"Users",title:"Passenger Rail & Transit",challenge:"Passenger safety requires strict clearance compliance at platforms and crossings",solution:"Platform clearance monitoring, catenary vegetation proximity alerts, crossing sightline maintenance for FRA compliance"},{icon:"Container",title:"Industrial & Port Rail",challenge:"High-wide intermodal loads require verified clearance routes",solution:"Intermodal clearance verification, yard vegetation control, high-wide load route planning with clearance mapping"}]},comparison:{title:"RailGuard vs. Traditional Patrol",columns:["Capability","Traditional Patrol","RailGuard"],rows:[{capability:"Coverage per day",values:["20-40 track miles","100+ track miles"]},{capability:"Detection consistency",values:["Varies by inspector","Repeatable AI-based"]},{capability:"Documentation",values:["Manual notes","Automated GPS + photo"]},{capability:"Seasonal tracking",values:["Annual memory","Quantified baselines"]},{capability:"Work order generation",values:["Manual entry","Direct CMMS integration"]},{capability:"FRA audit prep",values:["Days of compilation","Export on demand"]}],note:"Deployment flexibility: Same AI models deploy on hi-rail, wayside, or locomotive platforms."},techSpecs:{title:"Technical Specifications",panels:[{header:"Detection Performance",items:["Vegetation detection: >95% true positive rate within 10ft of centerline","False positive rate: <5% after seasonal baseline calibration","Structure gauge accuracy: ±2 inches"]},{header:"Operational Parameters",items:["Survey speed: Stationary to 40 mph (hi-rail), higher speeds with locomotive deployment","Camera resolution: Minimum 4K recommended for optimal detection","Processing: Edge (NVIDIA Jetson AGX/Orin) or x86 industrial compute"]},{header:"Integration",items:["GIS: Esri ArcGIS Enterprise, ArcGIS Online, ArcGIS Pro","CMMS: IBM Maximo, SAP PM, REST API for custom integration","Coordinate systems: Milepost linear referencing, WGS84"]},{header:"Deployment Requirements",items:["Power: Vehicle 12V/24V or wayside 120V/PoE","Connectivity: Cellular (LTE/5G) or offline batch upload","Storage: Edge NVMe for 8+ hour survey sessions"]}]},faqs:[{question:"How does RailGuard handle different seasons (leaf-on vs. leaf-off)?",answer:"RailGuard is trained on multi-season imagery to detect encroachment year-round. Seasonal baselines are established during PoC, and model drift is monitored quarterly with retraining triggers for vegetation growth patterns."},{question:"Can we integrate with our existing GIS and CMMS systems?",answer:"Yes. RailGuard integrates with Esri ArcGIS, linear referencing systems (LRS), and CMMS platforms like Maximo and SAP PM. Work orders are auto-generated with GPS coordinates, severity scores, and priority routing."},{question:"What about clearance violations for overhead structures (bridges, signals)?",answer:"RailGuard detects both vegetation encroachment and structure gauge violations (overhead clearances). Alerts include violation type, GPS location, and recommended clearance action."},{question:"How accurate is vegetation detection in dense forest areas?",answer:"Detection accuracy is 85-92% in dense canopy environments. False positive rates are tunable, and all violations include imagery for field crew verification before work order dispatch."},{question:"What is the detection accuracy for vegetation?",answer:">95% true positive rate for vegetation within 10 feet of track centerline. <5% false positives after seasonal baseline calibration. Accuracy improves over time as the model learns your specific corridor conditions."},{question:"Does RailGuard detect plant species?",answer:"Vegetation is classified by type (herbaceous, shrub, tree) and risk category based on proximity and growth rate. Specific species identification is available where regional training data supports it, though risk-based classification is typically sufficient for MOW prioritization."},{question:"How does RailGuard handle tunnels?",answer:"Tunnels are excluded from vegetation monitoring. Structure gauge monitoring continues through tunnels with appropriate sensor configuration, detecting clearance violations from debris, ice buildup, or structural changes."},{question:"What is the minimum survey speed?",answer:"Stationary (wayside installations) through 40 mph on hi-rail vehicles. Locomotive deployment supports higher speeds with sensor adjustments. Edge processing handles real-time inference at all supported speeds."},{question:"How does RailGuard compare to LiDAR-based systems?",answer:"LiDAR provides millimeter-accurate 3D measurement ideal for new rolling stock clearance certification and precision surveys. RailGuard provides continuous AI-based monitoring at lower cost per deployment. Many railroads use both: LiDAR for precision surveys and clearance certification, RailGuard for ongoing corridor monitoring between survey cycles."}],updatedAt:"2025-01-15",seoTitle:"RailGuard — ROW Monitoring & Clearance | Allerin",seoDescription:"40% faster ROW clearance with automated vegetation encroachment detection. GIS mapping, CMMS integration. 60-90 day deployment."},{slug:"tracksentinel-defect-detection",name:"TrackSentinel",promise:"Surface Defect Detection for Track Components",heroImage:"/images/solutions/tracksentinel-hero.webp",interfaceImage:"/images/solutions/tracksentinel-interface.webp",sub:"AI-powered inspection for rail surface conditions, tie health, fastener integrity, and ballast indicators. Supplements visual inspection programs with consistent, documented detection.",heroScopeDefinition:{capabilities:{title:"What TrackSentinel Does",items:["Rail surface defects (head checking, squats, visible cracks)","Tie condition grading (wood and concrete)","Fastener anomaly detection","Ballast surface assessment","FRA-compliant documentation"]},limitations:{title:"What Requires Other Technology",items:["Internal rail defects (ultrasonic testing required)","Track geometry measurement","Rail profile/wear measurement"]}},scopeClarification:{title:"Important Scope Clarification",text:"TrackSentinel uses camera-based AI to detect SURFACE defects on rail, ties, fasteners, and ballast. Internal rail defects (transverse fissures, detail fractures, compound fissures, etc.) occur inside the rail steel and are invisible to camera systems. These defects require ultrasonic testing (UT) and are outside TrackSentinel's detection scope.",note:"TrackSentinel complements—but does not replace—ultrasonic rail inspection programs required for internal defect detection."},defectTaxonomy:{title:"Detectable Defects",note:"Subsurface defects (transverse fissures, internal detail fractures) require ultrasonic inspection systems.",categories:[{title:"Rail Surface Conditions",icon:"Layers",items:["Head checking and rolling contact fatigue (RCF) indicators","Squats and surface spalling","Visible surface cracks","Shelling patterns","Corrugation","Crushed or flattened rail conditions","Joint bar visual condition"]},{title:"Tie Condition",icon:"AlignHorizontalSpaceAround",items:["Wood ties: Plate cut severity, splits, end cracks","Concrete ties: Rail seat abrasion (RSA), crack detection","Tie skew and positioning anomalies"]},{title:"Fastener Condition",icon:"Link",items:["Missing or broken clips (concrete ties)","Raised or missing spikes (wood ties)","Tie plate condition"]},{title:"Ballast Surface Indicators",icon:"Mountain",items:["Fouling indicators from surface imagery","Insufficient ballast at tie ends/cribs","Voiding patterns"]}]},complianceSupport:{title:"FRA Part 213 Compliance Support",intro:"TrackSentinel supports your FRA compliance program through comprehensive documentation and human-in-the-loop design.",sections:[{heading:"Documentation Capabilities",icon:"FileText",items:["GPS-stamped defect locations for field verification","Timestamped imagery for audit trails","Exportable reports in FRA-compatible formats","Defect classification aligned with 49 CFR 213.113 terminology"]},{heading:"Human-in-the-Loop Design",icon:"Users",items:["Inspector override capability for all AI classifications","Field verification workflow queue","Complete audit trail of detections and dispositions","Training integration for inspector development"]}],limitations:{heading:"Important Limitations",text:"TrackSentinel supplements—but does not replace—FRA-mandated visual inspections by §213.7 qualified personnel. Internal rail inspection requirements under §213.237 require ultrasonic testing systems."}},measuredOutcomes:{title:"Measured Outcomes",disclaimer:"Results from customer deployments. Actual outcomes vary by railroad size, track class, and operational context.",rows:[{metric:"Surface defect detection",before:"~50% (patrol variability)",after:"~90%+ (consistent AI)",improvement:"↑ 40%+ detection"},{metric:"Corridor coverage/day",before:"20-40 track miles",after:"100+ track miles",improvement:"↑ 50-65% time savings"},{metric:"Emergency repair costs",before:"Reactive maintenance",after:"Predictive scheduling",improvement:"↓ 30-45% cost reduction"},{metric:"Documentation time",before:"Hours per inspection",after:"Automatic generation",improvement:"↓ 80%+ time savings"}]},outcomes:["Detection rate ↑ 40%+","Coverage ↑ 50-65%","Emergency costs ↓ 30-45%"],capabilities:["Surface defect detection: rail, ties, fasteners, ballast","Priority scoring by defect severity, location, and traffic volume","FRA Part 213 documentation support with GPS, timestamps, and defect codes","Wayside camera integration (visible + thermal) for continuous monitoring","Trend analysis dashboard for track degradation patterns"],whatYouGet:["Defect detection model for rail, tie, and ballast defects","Severity scoring algorithm trained on historical failure data and FRA standards","FRA-compliant inspection log export with defect classification and remediation status","Wayside camera integration adapter (Salient, Lynxrail, custom systems)"],howItWorks:"PoC (2-4 weeks): Baseline track scans from geometry cars or track inspection vehicles, accuracy gates for defect detection, wayside system connectivity check. Pilot (6-8 weeks): Live inference on priority corridors, work order flows to track maintenance teams, defect KPIs tracked (detection rate, false positives). Scale (Quarterly): Model ops with drift monitoring, scheduled inspection packs, SOPs for track gangs and inspectors.",howItWorksSteps:[{title:"Data Capture",description:"Deploy cameras (visible + thermal) on wayside mounts, hi-rail vehicles, or locomotives. Capture track imagery continuously during patrol or operations.",icon:"Camera"},{title:"Edge Processing",description:"NVIDIA Jetson processes imagery in real-time. No cloud upload required—detections stay on your network.",icon:"Cpu"},{title:"AI Detection",description:"Models trained on railroad imagery identify surface defects, tie conditions, fastener anomalies, and ballast indicators. Each detection includes confidence score and severity classification.",icon:"ScanSearch"},{title:"Alert Generation",description:"Detections exceeding configurable thresholds trigger real-time alerts via cellular or batch upload. GPS coordinates enable precise field location.",icon:"Bell"},{title:"Inspector Verification",description:"§213.7 qualified personnel verify AI detections. Override capability ensures human judgment remains authoritative.",icon:"ShieldCheck"},{title:"Work Order Integration",description:"Verified defects route directly to Maximo or SAP PM with coordinates, photos, severity scores, and recommended actions.",icon:"Settings"}],implementationTimeline:{title:"Implementation Timeline",phases:[{name:"Proof of Concept",duration:"2-4 weeks",items:["Site survey and sensor positioning","Baseline corridor scans","Model calibration to site conditions","Accuracy validation against manual assessment"]},{name:"Pilot",duration:"6-8 weeks",items:["Live inference on pilot corridor","CMMS integration testing","Inspector workflow integration","Threshold tuning based on field feedback"]},{name:"Production Scale",duration:"Ongoing",items:["Multi-corridor deployment","Model ops with drift monitoring","Continuous improvement cycle","Quarterly accuracy assessments"]}]},competitivePositioning:{title:"Why TrackSentinel",headline:"Enterprise Inspection Intelligence Without Enterprise Investment",intro:"Class I railroads deploy dedicated inspection railcars costing millions. TrackSentinel brings comparable surface defect detection capability to regional, short-line, and transit operators through:",benefits:[{icon:"Camera",title:"Deploy on existing infrastructure",description:"Wayside cameras or hi-rail vehicle mounting—no dedicated detector car required"},{icon:"Cpu",title:"Edge processing",description:"Real-time alerts without cloud dependency—data stays on your network"},{icon:"Layers",title:"Combined inspection",description:"Rail surface, ties, fasteners, and ballast in single deployment"},{icon:"Settings",title:"CMMS integration",description:"Direct work order generation to your existing systems"}],footer:"TrackSentinel serves operators who need modern surface inspection technology at regional railroad scale."},deployments:["Wayside cameras (visible/thermal/LiDAR) on fixed infrastructure or track geometry cars","Edge compute for real-time defect alerts or cloud-based batch processing","Integration with CMMS/EAM systems (Maximo, SAP PM, Infor EAM)"],security:["On-prem deployment for Class I railroads with full data sovereignty","Inspector override capabilities for all defect classifications","Audit trail for compliance reporting and regulatory inspections"],techSpecs:{title:"Technical Specifications",panels:[{header:"Detection Performance",items:["Surface defect detection: >90% true positive rate (anomalies ≥5mm)","False positive rate: <5% after site-specific calibration","Tie condition accuracy: Correlates with manual grading assessments","Fastener detection: >95% for missing/broken clips and spikes"]},{header:"Operational Parameters",items:["Deployment modes: Wayside fixed, hi-rail vehicle, locomotive mount","Camera resolution: 4K minimum recommended for optimal detection","Processing: Real-time edge compute (NVIDIA Jetson AGX/Orin)","Survey speed: Stationary to 25 mph (hi-rail), higher with locomotive"]},{header:"Integration",items:["CMMS: IBM Maximo, SAP PM, Infor EAM, REST API for custom systems","Export formats: FRA-compatible reports, GIS shapefile, CSV","Coordinate systems: Milepost linear referencing, WGS84"]},{header:"Deployment Requirements",items:["Power: 12V/24V vehicle or 120V/PoE for wayside installations","Connectivity: Cellular (LTE/5G) or offline batch upload","Storage: Edge NVMe for extended survey sessions","Environmental: IP67 enclosure for wayside, vehicle-mount for hi-rail"]}]},useCases:{title:"Solutions by Railroad Type",cards:[{icon:"TrainTrack",title:"Short-Line & Regional Railroads",challenge:"Limited inspection budgets and no dedicated inspection equipment",solution:"Cost-effective surface inspection for limited budgets. Deploy on existing hi-rail vehicles. FRA compliance documentation support without capital investment."},{icon:"Users",title:"Transit & Commuter Rail",challenge:"High-traffic segments require frequent inspection with minimal service disruption",solution:"High-frequency inspection of high-traffic segments. Station platform area monitoring. Integration with transit asset management systems."},{icon:"Container",title:"Industrial & Port Rail",challenge:"Yard track and interchange conditions require documentation for liability",solution:"Yard track inspection and condition documentation. Interchange track assessment. Heavy axle load territory monitoring for shared-use facilities."},{icon:"Train",title:"Class I Secondary Applications",challenge:"Branch lines and yards need inspection coverage beyond mainline UT programs",solution:"Branch line coverage supplementing mainline ultrasonic programs. Yard and terminal inspection. Pre-positioning for ultrasonic testing by identifying surface conditions."}]},relatedSolutions:{title:"Related Solutions",intro:"TrackSentinel focuses on track component surface inspection. For comprehensive railroad inspection coverage:",items:[{name:"RailGuard ROW Monitoring",description:"Vegetation encroachment and clearance monitoring for the right-of-way corridor.",slug:"railguard-row-monitoring"}],note:"Internal defects (transverse fissures, detail fractures, compound fissures) require ultrasonic testing technology. TrackSentinel complements—but does not replace—UT-based rail flaw detection programs."},related:{products:["sentra","vista"],services:["cv-fasttrack","security-compliance"],industries:["transportation-rail"]},roiHref:"/outcomes?industry=transportation-rail&usecases=cv&risk=expected",tags:{segment:["Transportation & Rail","Infrastructure"],capability:["Computer Vision","Predictive Maintenance"],deployment:["Edge","Cloud","Hybrid"]},faqs:[{question:"Does TrackSentinel detect internal rail defects like transverse fissures?",answer:"No. Internal defects (transverse fissures, detail fractures, compound fissures) occur inside the rail steel and require ultrasonic testing. TrackSentinel detects SURFACE defects visible to camera systems. For internal rail inspection, ultrasonic testing services from established providers are required."},{question:"What defect types does TrackSentinel detect?",answer:"Surface rail conditions (head checking, squats, visible cracks, shelling, corrugation), tie condition (plate cut severity, rail seat abrasion, cracks, splits), fastener condition (missing/broken clips and spikes, tie plate condition), and ballast surface indicators (fouling, voiding, insufficient ballast)."},{question:"Can TrackSentinel replace FRA-required inspections?",answer:"TrackSentinel supplements—but does not replace—FRA-mandated visual inspections by qualified personnel (§213.7). The system provides consistent documentation and helps prioritize inspection resources, but regulatory requirements for human inspection remain in effect."},{question:"How does TrackSentinel compare to ultrasonic testing?",answer:"Different technologies for different defects. Ultrasonic testing finds internal defects invisible to cameras (transverse fissures, detail fractures). TrackSentinel finds surface defects and component conditions. Many railroads use both: UT for internal defects, vision systems for surface conditions."},{question:"What's the false positive rate?",answer:"After site-specific calibration, TrackSentinel achieves <5% false positive rate. False positives are minimized through seasonal baseline establishment during PoC and ongoing model tuning based on inspector feedback."},{question:"What happens to surface defects that aren't addressed?",answer:"Surface defects like head checking can progress into internal defects (detail fractures) if not addressed. TrackSentinel's early surface detection helps railroads address conditions before they become internal defects detectable only by ultrasonic testing."},{question:"Can we integrate with existing wayside detection systems?",answer:"Yes. TrackSentinel integrates with Salient, Lynxrail, and other wayside systems via standard protocols (Modbus, OPC-UA, REST APIs). It augments existing hot bearing detectors (HBD) and wheel impact detectors (WID) with surface defect detection."},{question:"How does defect prioritization work?",answer:"Defects are scored by severity, location (mainline vs. yard), and traffic volume (tonnage/day). Priority routing ensures critical defects reach track gangs immediately while lower-priority items queue for scheduled maintenance windows."}],updatedAt:"2025-01-15",seoTitle:"TrackSentinel — Track Defect Detection | Allerin",seoDescription:"31% fewer track incidents with AI defect detection. FRA-compliant logging, wayside integration. 60-90 day deployment."},{slug:"fleettherm-thermal-monitoring",name:"FleetTherm",promise:"Rolling stock thermal monitoring",sub:"Predictive thermal anomaly detection for wheels, bearings, and brakes with depot integration for scheduled maintenance interventions.",heroImage:"/images/solutions/fleettherm-hero.webp",productImages:{wheelBrake:"/images/solutions/fleettherm-wheel-brake.webp",dashboard:"/images/solutions/fleettherm-dashboard.webp"},networkComparison:{title:"How FleetTherm Complements Your Detection Network",intro:"Wayside Hot Box Detectors monitor thermal anomalies during revenue service but capture only point-in-time readings as trains pass at speed. FleetTherm provides comprehensive thermal profiling when vehicles return to depot — enabling detailed inspection that wayside systems cannot achieve at line speed.",comparison:[{label:"Wayside HBD",description:"Point-in-time detection at line speed",outcome:"Emergency response"},{label:"FleetTherm Depot Scan",description:"Complete thermal profile at rest",outcome:"Planned maintenance"}],footer:"FleetTherm is designed to work alongside your existing wayside network, not replace it."},targetMarket:{title:"Designed for Depot-Based Operations",intro:"FleetTherm delivers maximum value for rail operations where vehicles return regularly to maintenance facilities:",segments:[{name:"Transit & Metro",description:"Daily depot scans align with service schedules"},{name:"Commuter Rail",description:"End-of-day inspection before next-day revenue service"},{name:"Light Rail",description:"Pre-departure thermal verification"},{name:"Passenger Rail",description:"Consist-level thermal profiling at maintenance intervals"},{name:"Industrial/Port",description:"Captive fleet inspection in yard facilities"}],note:"For freight railroads with car interchange, FleetTherm can monitor captive locomotive fleets and private car owner equipment at home terminals."},thermalDefectTaxonomy:{title:"Thermal Anomaly Detection Coverage",categories:[{title:"Journal Bearings",icon:"Settings",items:["Absolute temperature above configurable threshold","Differential vs. same-axle mating bearing (alert at 95°F+ difference)","K-value trending above vehicle average","Historical baseline deviation analysis"]},{title:"Wheel & Brake Systems",icon:"Thermometer",items:["Hot wheel detection (dragging brakes, unreleased hand brake)","Cold wheel detection (brake not applying — safety critical)","Disc brake surface temperature mapping","Uneven brake wear thermal indicators"]}],severityLevels:[{level:"Monitor",color:"yellow",description:"Temperature trending above baseline"},{level:"Urgent",color:"orange",description:"Approaching threshold, schedule inspection"},{level:"Critical",color:"red",description:"Remove from service, immediate inspection required"}]},measuredOutcomes:{title:"Transit Agency Deployment Results",disclaimer:"18-month pilot with metropolitan transit agency, 200-car fleet. Shifting from reactive emergency response to planned maintenance reduces both service disruptions AND extends component life by catching problems earlier.",rows:[{metric:"Hot box service disruptions",before:"12/year",after:"5/year",improvement:"-58%"},{metric:"Emergency bearing changes",before:"45/year",after:"18/year",improvement:"-60%"},{metric:"Planned bearing changes",before:"30/year",after:"52/year",improvement:"+73%"},{metric:"Brake-related service delays",before:"8/month",after:"3/month",improvement:"-62%"}]},outcomes:["Service disruptions ↓ 58%","Emergency repairs ↓ 60%","Planned maintenance ↑ 73%"],capabilities:["Thermal anomaly detection on wheels, bearings, brakes, and HVAC systems","Pre-failure alerts with component-level tracking and failure prediction","Depot integration for scheduled maintenance interventions and pull-aside triage","Trend analysis dashboard showing thermal degradation patterns over time","Alert tuning by fleet type, service conditions, and maintenance history"],whatYouGet:["Thermal anomaly detection model trained on bearing/wheel/brake failure patterns","Component failure prediction algorithm with lead-time estimates (days to failure)","Depot maintenance queue integration with priority routing and parts availability check","KPI dashboard tracking thermal alert accuracy, false positive rates, and prevented failures"],howItWorks:"",howItWorksSteps:[{title:"Depot Thermal Scan",description:"Vehicles pass through thermal imaging arrays at depot entry/exit points, capturing complete thermal profiles.",icon:"Scan"},{title:"AI Analysis",description:"Machine learning models analyze thermal patterns across bearings, wheels, brakes, and drive components.",icon:"Brain"},{title:"Anomaly Detection",description:"Elevated temperatures or abnormal thermal signatures are flagged against baseline and peer comparisons.",icon:"AlertTriangle"},{title:"Severity Classification",description:"Each anomaly is classified: Monitor (trending up), Elevated (schedule inspection), Critical (hold for service).",icon:"Layers"},{title:"Maintenance Integration",description:"Alerts flow directly to maintenance planners with vehicle ID, component location, and recommended action.",icon:"Wrench"},{title:"Trend Tracking",description:"Historical thermal data enables pattern analysis — catching gradual degradation before emergency failures.",icon:"TrendingUp"}],deployments:["Depot-mounted thermal imaging arrays (FLIR, thermal line-scan cameras)","Edge compute (Jetson/x86) for real-time thermal analysis or cloud-based batch processing","Integration with fleet management systems (maintenance scheduling, parts inventory)"],security:["On-prem deployment for transit agencies with data sovereignty requirements","Mechanic override capabilities for all thermal alerts and maintenance recommendations","Audit trail for thermal screening results and maintenance actions"],techSpecs:{title:"Technical Specifications",panels:[{header:"Thermal Imaging",items:["Resolution: 640×480 thermal pixels minimum","Sensitivity (NETD): <50mK for fine temperature discrimination","Temperature accuracy: ±2°C or ±2% of reading","Temperature range: -40°C to +150°C"]},{header:"Scanning Performance",items:["Full truck/bogie coverage per vehicle pass","Inboard and outboard bearing imaging per axle","Wheel surface and disc brake coverage","Maximum pass-through speed: 5 mph"]},{header:"Detection Thresholds (Configurable)",items:["Absolute bearing: Aligned with AAR 170°F/200°F guidance","Differential bearing: 95°F above same-axle mate","Hot/cold wheel: Per brake system type"]},{header:"Edge Compute",items:["NVIDIA Jetson AGX Orin or x86 industrial PC","Local inference, no cloud dependency","Storage: 500GB minimum for 90-day thermal history"]}]},competitivePositioning:{title:"Why FleetTherm",headline:"Enterprise Thermal Intelligence at Regional Scale",intro:"Major carriers deploy comprehensive wayside monitoring networks from established vendors with decades of deployment history. FleetTherm brings comparable thermal detection capability to transit agencies and regional operators through:",benefits:[{icon:"MapPin",title:"Depot deployment",description:"No trackside civil works, power, or communications infrastructure"},{icon:"Cpu",title:"Edge processing",description:"Thermal analysis happens locally — your data stays on-premise"},{icon:"RefreshCw",title:"Open integration",description:"REST APIs for any CMMS, not locked to single vendor ecosystem"},{icon:"TrendingUp",title:"Scalable licensing",description:"Per-detector pricing matches your fleet size, not enterprise minimums"},{icon:"Scan",title:"Focused scope",description:"Thermal detection excellence, not bundled with systems you don't need"}]},complianceSupport:{title:"Standards & Compliance Support",intro:"FleetTherm reporting supports compliance documentation for transit and rail safety programs. Reports include timestamps, vehicle identification, thermal imagery, severity classification, and disposition tracking for complete audit trail.",sections:[{heading:"Transit Standards",icon:"FileText",items:["APTA RT-VIM-S-007-02: Friction Brake Equipment Periodic Inspection and Maintenance","APTA RT-VIM-RP-008-03: Rail Transit Vehicle Pre-Departure Inspection"]},{heading:"Regulatory Compliance",icon:"Shield",items:["FTA State Safety Oversight: Thermal inspection records for SSO documentation","AAR guidance: Temperature thresholds aligned with industry practice (170°F/200°F above ambient)"]}],footer:"All thermal screening results include complete audit trail with inspector override capability and disposition tracking."},humanInTheLoop:{title:"Human-in-the-Loop Design",intro:"FleetTherm supports proper maintenance decision authority:",items:[{icon:"UserCheck",title:"Mechanic review required",description:"All alerts require qualified technician disposition before vehicle release to service"},{icon:"Pencil",title:"Override with documentation",description:"Technicians can override AI recommendations with logged justification"},{icon:"AlertTriangle",title:"Escalation workflow",description:"High-severity alerts require supervisor approval for override"},{icon:"FileText",title:"Complete audit trail",description:"Every detection, disposition, and override logged with timestamp and user ID"},{icon:"Lock",title:"Role-based access",description:"Configurable permissions for technicians, supervisors, and administrators"}],footer:"FleetTherm augments your qualified maintenance personnel — it does not replace their judgment or decision authority."},implementationTimeline:{title:"Implementation Phases",phases:[{name:"Proof of Concept",duration:"2-4 weeks",items:["Week 1: Site survey, power/data infrastructure assessment","Week 2: Thermal array installation at selected depot lane","Week 3: Baseline thermal capture across representative fleet sample","Week 4: Accuracy validation, threshold calibration, false positive analysis","Deliverable: Detection accuracy report with go/no-go recommendation"]},{name:"Pilot",duration:"6-8 weeks",items:["Integration with maintenance workflow and alert routing","Live inference on depot entries with mechanic training","CMMS integration testing and work order generation","Threshold tuning based on operational feedback","Deliverable: Operational readiness assessment"]},{name:"Production Scale",duration:"Quarterly",items:["Multi-lane deployment across depot facilities","Seasonal model recalibration (summer/winter baselines)","Quarterly accuracy assessments","Continuous model improvement from validated detections"]}]},related:{products:["sentra"],services:["cv-fasttrack","data-analytics-platform"],industries:["transportation-rail"]},roiHref:"/outcomes?industry=transportation-rail&usecases=cv&risk=expected",tags:{segment:["Transportation & Rail","Rolling Stock"],capability:["Computer Vision","Predictive Maintenance"],deployment:["Edge","Cloud"]},faqs:[{question:"How accurate is FleetTherm for bearing/wheel thermal anomalies?",answer:"FleetTherm achieves 92-96% accuracy on bearing and wheel thermal anomalies. False positive rates are tunable (typically 5-10%), and all alerts include thermal imagery for maintenance team verification before component replacement."},{question:"Can we integrate with our fleet management and parts inventory systems?",answer:"Yes. FleetTherm integrates with fleet maintenance scheduling systems and parts inventory databases. High-priority alerts trigger automated parts availability checks and maintenance slot reservation."},{question:"What's the typical lead time for thermal failure predictions?",answer:"FleetTherm's trend analysis across multiple depot scans can identify developing thermal patterns 3-14 days before they would trigger emergency maintenance action. By tracking temperature evolution over successive depot visits, FleetTherm enables planned maintenance scheduling rather than reactive emergency response. Note: Thermal detection identifies heat after friction has begun — for earlier detection of internal bearing defects before heat generation, acoustic monitoring systems provide complementary capability."},{question:"Does this work for both freight and passenger rolling stock?",answer:"Yes. FleetTherm supports freight cars, locomotives, passenger coaches, and light rail vehicles. Models are tuned by fleet type, service conditions (commuter vs. long-haul), and maintenance history."},{question:"What's the difference between FleetTherm and wayside Hot Box Detectors?",answer:"Wayside HBDs capture a single temperature reading as trains pass at 40+ mph. FleetTherm performs comprehensive thermal imaging when vehicles are stationary or moving slowly through the depot, enabling complete bearing and brake profiling that wayside systems cannot achieve."},{question:"Does FleetTherm detect internal bearing defects?",answer:"Thermal imaging detects heat generated by friction — meaning a defect must have progressed to the point of generating abnormal heat. For detection of internal bearing defects before heat generation, acoustic monitoring (like TADS or RailBAM) provides complementary earlier warning. FleetTherm and acoustic monitoring work best together."},{question:"Can FleetTherm detect cold wheels (brakes not applying)?",answer:"Yes. Cold wheel detection identifies wheels that remain below expected temperature after operation — indicating brakes that failed to apply during service. This is a critical safety function as brake failure is not detected by hot wheel/hot box systems."},{question:"How does FleetTherm integrate with our CMMS?",answer:"FleetTherm provides REST APIs for integration with major CMMS platforms including Maximo, SAP PM, Optram, and custom systems. Alert data includes severity, location, temperature readings, historical trend, and recommended action — ready for automated work order generation."}],updatedAt:"2025-01-15",seoTitle:"FleetTherm — Rolling Stock Thermal Monitoring | Allerin",seoDescription:"45% fewer thermal failures with predictive bearing/wheel monitoring. Depot integration. 60-90 day deployment."},{slug:"signaleye-signal-monitoring",name:"SignalEye",promise:"Signal & switch monitoring",heroImage:"/images/solutions/signaleye-hero.webp",sub:"Automated signal aspect verification and switch position confirmation with PTC integration for fault reporting.",outcomes:["Signal Lamp Degradation ↑ 50–70% earlier detection vs. monthly walking inspection baseline","Switch Maintenance Alerts ↑ 40–60% proactive identification of developing position issues","Fault Documentation Time ↓ 60–75% reduction for investigation and reporting"],capabilities:["Signal aspect verification from wayside cameras (red/yellow/green confirmation)","Switch position confirmation with anomaly alerts (points alignment, lock status)","PTC integration for automated fault reporting to dispatch and signal maintainers","Trend analysis for signal degradation patterns (bulb failures, lens fouling)","Alert escalation rules by signal criticality and location (interlockings, grade crossings)"],whatYouGet:["Signal aspect verification model trained on all aspect combinations and lighting conditions","Switch position tracking algorithm with points alignment and lock status detection","Monitoring data export for correlation with Wabtec I-ETMS and Alstom ACSES diagnostics","Alert escalation rules engine with priority routing by signal type and traffic density"],howItWorks:"",howItWorksSteps:[{title:"Continuous Capture",description:"Wayside cameras monitor signals and switches 24/7, capturing high-resolution imagery in all lighting and weather conditions.",icon:"Camera"},{title:"AI Detection",description:"Edge-deployed models identify signal aspects (red/yellow/green) and switch positions (normal/reverse) in real-time.",icon:"Brain"},{title:"State Verification",description:"Detected states are compared against expected conditions from dispatch/interlocking systems.",icon:"CheckCircle2"},{title:"Anomaly Alerting",description:"Discrepancies trigger immediate notifications — aspect mismatches, degraded lamps, or position variances.",icon:"AlertTriangle"},{title:"Documentation & Trending",description:"All detections are logged with timestamps and GPS coordinates for compliance reporting and pattern analysis.",icon:"FileText"}],deployments:["Wayside cameras (visible spectrum) mounted at signals and switches","Edge compute for real-time aspect verification or cloud-based batch analysis","Monitoring overlay for PTC-equipped territory (Wabtec I-ETMS, Alstom ACSES) — visual verification layer, no safety-critical interface"],security:["On-prem deployment for Class I railroads with critical infrastructure requirements","Integration with dispatch systems for real-time alerting and acknowledgment workflow","Audit trail for PTC fault reporting and signal maintainer response times"],related:{products:["sentra","vista"],services:["cv-fasttrack","security-compliance"],industries:["transportation-rail"]},signalCapabilities:{title:"Signal Aspect Verification",intro:"SignalEye uses computer vision algorithms to continuously verify wayside signal aspects from trackside cameras.",sections:[{heading:"Supported Signal Types",icon:"Lightbulb",items:["Color light signals (single and multi-head configurations)","Searchlight signals with color-changing mechanisms","Position light signals (limited support for pattern recognition)"]},{heading:"Detectable Aspects",icon:"Eye",items:["Stop/Restricting (Red)","Approach (Yellow)","Proceed/Clear (Green)","Flashing aspects (with temporal analysis)","Dark signal detection (lamp-out conditions)"]}],methodology:{title:"Detection Methodology",text:"Edge-deployed deep learning models classify signal aspects in real-time. Models are trained on railroad-specific signal configurations during implementation. Detection confidence scores below threshold trigger alerts for human verification."},primaryValue:"Early detection of degraded lamps, misaligned mechanisms, and aspect discrepancies before they impact train operations or trigger false proceed conditions."},targetMarket:{title:"Designed For Signal-Dependent Operations",segments:[{name:"Commuter & Regional Rail",icon:"Train",description:"Fixed-block signaled territory with scheduled maintenance windows. SignalEye enables continuous monitoring between mandated FRA test intervals."},{name:"Transit Systems",icon:"Tram",description:"Wayside signal infrastructure requiring State of Good Repair documentation. Visual verification supports FTA compliance reporting."},{name:"Short Lines & Regional Freight",icon:"Truck",description:"Cost-effective monitoring for railroads without dedicated geometry car inspection. Camera-based verification without specialized track access."},{name:"Industrial & Port Rail",icon:"Factory",description:"Yard and switching signal monitoring where equipment reliability impacts throughput."}]},competitivePositioning:{title:"Why Camera-Based Monitoring?",headline:"Supplement Existing Systems, Don't Replace Them",intro:"SignalEye works alongside your existing signal diagnostic systems. Camera-based verification provides visual confirmation that complements electrical monitoring — catching conditions that point-in-time electrical tests might miss.",benefits:[{icon:"Shield",title:"No Modification to Signal Equipment",description:"SignalEye cameras mount externally with no connection to signal circuits. No signal system downtime for installation, no impact on existing safety certifications, and no additional failure modes introduced to safety-critical equipment."},{icon:"ScanSearch",title:"Visual Evidence for Investigation",description:"When issues occur, video evidence accelerates troubleshooting. Instead of relying solely on diagnostic logs, maintenance teams can see exactly what the signal was displaying when an event occurred."},{icon:"Layers",title:"Flexible Deployment",description:"Monitor individual high-priority locations or scale to full-territory coverage. Camera-based approach allows incremental deployment based on operational priorities without system-wide infrastructure changes."},{icon:"Settings",title:"Works With Any Signal System",description:"SignalEye is signal-system agnostic. Whether your territory uses GE, US&S, Safetran, or other signal equipment, camera-based monitoring works independently of the underlying signal technology."}],footer:"SignalEye adds a visual verification layer without touching your existing signal infrastructure."},roiHref:"/outcomes?industry=transportation-rail&usecases=cv&risk=expected",tags:{segment:["Transportation & Rail","Signal Systems"],capability:["Computer Vision","Safety Analytics"],deployment:["Edge","Cloud"]},complianceSupport:{title:"FRA 49 CFR Part 236 Compliance Support",intro:"SignalEye monitoring data supports railroad compliance with FRA signal system regulations.",sections:[{heading:"Testing Documentation (§236.101-110)",icon:"FileText",items:["Continuous camera-based monitoring provides visual verification between required test intervals","Timestamped records support maintenance documentation requirements","Historical image archives enable trend analysis for degradation patterns"]},{heading:"False Proceed Investigation Support (§236.11)",icon:"AlertTriangle",items:["Video archives provide evidence for investigating signal aspect discrepancies","GPS-synchronized timestamps enable correlation with train movement data","Complete audit trail for signal maintainer review and FRA reporting"]},{heading:"Point Detector Verification (§236.6)",icon:"ScanSearch",items:["Visual confirmation of switch point position supplements electrical point detector circuits","Camera-based verification supports maintenance and troubleshooting workflows","Points alignment imagery for maintenance documentation"]},{heading:"PTC Failure Analysis (§236.1023)",icon:"Cpu",items:["Camera data supports investigation of PTC-related events","Visual context for wayside equipment condition assessment","Correlation with PTC system logs for comprehensive failure analysis"]}],limitations:{heading:"Important Limitation",text:"SignalEye is a monitoring system and does not replace FRA-mandated signal testing or safety-critical detection circuits. Railroads remain responsible for all regulatory compliance requirements including mandated inspections by qualified personnel under 49 CFR 236.7."},footer:"SignalEye documentation can supplement — but does not satisfy — FRA Part 236 testing and inspection requirements."},techSpecs:{title:"Technical Specifications",panels:[{header:"Camera System",table:{headers:["Specification","Value"],rows:[{cells:["Resolution","4K (3840×2160) minimum"]},{cells:["Frame Rate","30 fps standard, 60 fps for high-speed detection"]},{cells:["Low Light Performance","0.01 lux with IR illumination"]},{cells:["Environmental Rating","IP67, -40°C to +70°C"]},{cells:["Field of View","Configurable, 45° to 120°"]}]}},{header:"Edge Processing Unit",table:{headers:["Specification","Value"],rows:[{cells:["Inference Time","<100ms per frame"]},{cells:["Local Storage","7-day rolling buffer"]},{cells:["Connectivity","Ethernet, cellular (LTE/5G), Wi-Fi"]},{cells:["Power","PoE or 12-48V DC"]}]}},{header:"Detection Performance",table:{headers:["Function","Day","Night","Adverse Weather"],rows:[{cells:["Signal Aspect Classification",">98%",">95%",">90%"]},{cells:["Switch Position Verification",">97%",">94%",">88%"]}]}},{header:"Integration",table:{headers:["Interface","Protocol"],rows:[{cells:["SCADA Integration","Modbus TCP, OPC-UA"]},{cells:["Database Export","SQL, REST API"]},{cells:["Alert Notification","SNMP, Email, SMS"]},{cells:["CMMS Integration","Standard import formats"]}]}}]},faqs:[{question:"How does SignalEye integrate with PTC systems?",answer:"SignalEye provides monitoring data that can supplement PTC system diagnostics. For railroads operating Wabtec I-ETMS, SignalEye camera data can be correlated with wayside interface unit (WIU) status to verify signal aspect agreement. For ACSES-equipped territory, SignalEye visual verification supports transponder maintenance planning. Note: SignalEye is a monitoring overlay system and does not modify or interface directly with safety-critical PTC functions."},{question:"Can this detect signal bulb failures or lens fouling?",answer:"Yes. SignalEye tracks signal brightness and aspect clarity over time. Gradual degradation (bulb dimming, lens fouling) triggers preventive maintenance alerts before complete failure."},{question:"What about different signal types (searchlight, LED, position light)?",answer:"SignalEye supports all common signal types including searchlight, color-light LED, position light, and dwarf signals. Models are trained on aspect combinations specific to each signal type."},{question:"How accurate is switch position detection?",answer:"SignalEye's camera-based switch position verification provides visual confirmation of switch point position as a supplementary monitoring layer to existing electrical position detection circuits.\n\n**Detection Performance:**\n• Normal/Reverse classification: 94-98% accuracy under standard conditions\n• Daylight operation: >97% classification accuracy\n• Night operation (with IR illumination): >94% classification accuracy\n\n**Important Note:** SignalEye is a monitoring system that supplements — not replaces — safety-critical switch point detection circuits required by FRA 49 CFR 236.6. Electrical point detectors remain the authoritative source for switch position indication in signal systems.\n\n**Use Case:** Visual verification during maintenance, investigation of switch-related incidents, monitoring of hand-throw switches in dark territory."},{question:"What types of signals can SignalEye monitor?",answer:"SignalEye is designed for color light signals (single and multi-head), searchlight signals, and position light signals. Each installation is configured for the specific signal types on the monitored territory. We work with railroad S&C departments to train models on your signal configurations."},{question:"How does SignalEye perform in adverse weather?",answer:"SignalEye cameras include weatherproof housings (IP67) and optional IR illumination for night operation. Detection accuracy may decrease in heavy precipitation or fog. Our system provides confidence scores with each detection, flagging low-confidence readings for human review."},{question:"Does SignalEye replace existing signal testing?",answer:"No. SignalEye is a supplementary monitoring system that operates between FRA-mandated test intervals. It does not replace required signal testing, maintenance, or safety-critical detection circuits. SignalEye provides continuous awareness of signal and switch status to support proactive maintenance."},{question:"What camera installation is required?",answer:"Typical deployments use one camera per signal mast or switch location. Cameras mount on existing signal infrastructure or dedicated poles. Installation requires line-of-sight to monitored equipment. Our team provides site surveys to determine optimal placement."},{question:"What communication infrastructure is needed?",answer:"SignalEye edge units support multiple connectivity options: wired Ethernet where available, cellular (LTE/5G) for remote locations, or integration with existing railroad communications networks. Data bandwidth requirements are modest due to edge processing — only alerts and compressed video clips transmit to the central system."}],updatedAt:"2025-01-15",seoTitle:"SignalEye — Signal & Switch Monitoring | Allerin",seoDescription:"60% faster fault detection with automated signal aspect verification. PTC integration. 60-90 day deployment."},{slug:"gridaurex",name:"GridAurex",promise:"Transmission line inspection with 45% faster cycle times",heroImage:"/images/solutions/gridaurex-hero.webp",productImages:{vegetation:"/images/solutions/gridaurex-vegetation.webp",thermal:"/images/solutions/gridaurex-thermal.webp"},sub:"Anomaly detection from drone/helo feeds for line, tower, and substation inspections—reducing inspection flights and accelerating findings.",outcomes:["Inspection time ↓ 45%","Defect detection accuracy ↑ 90-95%","Flight costs ↓ 30-40%"],provenResults:{title:"Proven Results",metrics:[{label:"Inspection Cycle Time",value:"↓ 45% faster",context:"From 6 months to 3.3 months for full system patrol (pilot deployment: 2,400 miles of 345kV)"},{label:"Defect Detection",value:"90-95% accuracy",context:"F1 score across 8 defect categories, validated on 50,000+ images"},{label:"Flight Cost Reduction",value:"↓ 30-40%",context:"Optimized flight planning, reduced re-flights, automated route generation"},{label:"Review Time",value:"↓ 70%",context:"AI pre-screens images, reviewers focus only on flagged findings"}]},capabilities:["Anomaly detection from drone/helo feeds (corrosion, vegetation encroachment, hot spots)","Route-based review queues with priority scoring by severity and location","Work order export to EAM/CMMS with GPS coordinates and evidence packs","GIS-based asset mapping for targeted inspections","Integration with NDAA-compliant and commercial drone platforms (Skydio, DJI, senseFly)"],whatYouGet:["Anomaly detection model trained on historical footage","Reviewer console with priority queues and export to EAM","Integration with NDAA-compliant and commercial drone platforms","GIS-based asset mapping and work order generation","Evidence packs for field crews with GPS and severity tags"],howItWorks:"Drone footage → edge/batch detector → priority queue → reviewer console → EAM/CMMS work orders → field crew dispatch",howItWorksSteps:[{title:"Drone/Helicopter Footage",description:"Capture transmission line imagery using drone or helicopter platforms with RGB, thermal, and LiDAR sensors",icon:"Camera"},{title:"Edge/Batch Detection",description:"AI models process footage on-site (edge) for immediate results or batch-upload to cloud for high-volume analysis",icon:"Cpu"},{title:"Priority Queue",description:"Detected anomalies scored by severity, asset criticality, and safety risk — critical findings surface first",icon:"BarChart3"},{title:"Reviewer Console",description:"Inspectors validate AI findings, add context, and confirm defect classifications with side-by-side imagery",icon:"ScanSearch"},{title:"EAM/CMMS Work Orders",description:"Confirmed defects automatically generate work orders in Maximo, SAP, or Oracle with photos, GPS, and recommended actions",icon:"FileText"},{title:"Field Crew Dispatch",description:"Maintenance crews receive prioritized work orders with precise asset locations and defect documentation",icon:"Wrench"}],deployments:["Edge (field tablets/rugged laptops)","Batch processing for historical footage","GIS integration for route planning"],security:["TLS 1.3 encryption for all data in transit","AES-256 encryption for data at rest","Role-based access control (field tech, supervisor, compliance officer, admin)","Audit logging for compliance documentation and chain-of-custody","Supports NERC FAC-003 vegetation management documentation","NERC CIP-compatible architecture — integrates with utility compliance programs","Data handling practices aligned with utility security requirements"],securityNote:"NERC CIP compliance is achieved by registered entities (utilities), not software vendors. GridAurex provides security controls and documentation that support your compliance efforts.",platformCompatibility:{title:"Drone Platform Compatibility",ndaaCompliant:{heading:"NDAA-Compliant Platforms",note:"Recommended for U.S. utilities and federal critical infrastructure",platforms:["Skydio X10 / S2+ (U.S. manufactured)","Inspired Flight IF800 Tomcat","Teledyne FLIR SIRAS","Autel EVO series"]},additional:{heading:"Additional Supported Platforms",platforms:["DJI Matrice 350 RTK, M30T, Mavic 3 Thermal","senseFly eBee X (corridor mapping)"]},integrationCapabilities:{heading:"Integration Capabilities",items:["Direct video/image import (MP4, MOV, JPG, DNG, TIFF)","GPS metadata preservation (EXIF, XMP)","Flight log integration for asset correlation","API support for flight planning software (DJI FlightHub, Skydio Cloud)"]}},defectCategories:{title:"Detectable Defect Categories",categories:[{category:"Insulators",defects:"Cracked/chipped porcelain, contamination, flashover damage, missing units",accuracy:"94-97%"},{category:"Conductors",defects:"Broken strands, splice damage, bird-caging, corona rings",accuracy:"91-95%"},{category:"Hardware",defects:"Missing/loose bolts, damaged clamps, deformed components",accuracy:"93-96%"},{category:"Structures",defects:"Tower corrosion, foundation issues, bent members, woodpecker damage",accuracy:"92-95%"},{category:"Vegetation",defects:"Encroachment risk, grow-in potential, MVCD violations",accuracy:"95-98%"},{category:"Thermal",defects:"Hot spots (>10°C differential), corona discharge",accuracy:"90-94%"},{category:"Foreign Objects",defects:"Bird nests, kites, debris, unauthorized attachments",accuracy:"96-98%"}],footnote:"Accuracy measured as F1 score under standard inspection conditions (clear weather, midday lighting, 30-50m altitude)"},detectionAccuracy:{title:"Detection Accuracy",performanceMetrics:{heading:"Performance Metrics",metrics:[{metric:"Detection Rate",value:"90-95%",definition:"Percentage of true defects correctly identified"},{metric:"False Positive Rate",value:"<8%",definition:"Percentage of non-defects flagged for review"},{metric:"Precision",value:"92%+",definition:"Confirmed defects / flagged items"},{metric:"Recall",value:"90%+",definition:"Detected defects / total defects"}]},testConditions:{heading:"Test Conditions",conditions:["Camera: 4K RGB (20MP minimum), 640×512 thermal sensor","Altitude: 30-60 meters from asset","Lighting: Standard daylight (no direct sun reflection)","Weather: Clear to partly cloudy, <15 mph wind"]},validation:{heading:"Validation",items:["Validated against 50,000+ manually inspected images","Third-party verification by independent testing laboratory","Continuous improvement from inspector feedback loop"]}},eamIntegration:{title:"EAM/CMMS Integration",supportedSystems:{heading:"Supported Systems",systems:[{system:"IBM Maximo",integrationMethod:"REST API, MIF",features:"Work orders, asset hierarchy, photo attachments"},{system:"SAP PM",integrationMethod:"RFC/BAPI, IDoc",features:"PM notifications, equipment master, documents"},{system:"Oracle EAM",integrationMethod:"Web Services",features:"Work requests, asset registry, inspection history"},{system:"IFS Applications",integrationMethod:"REST API",features:"Work orders, asset attributes"},{system:"ServiceNow",integrationMethod:"REST API",features:"Incident creation, CMDB updates"}]},integrationCapabilities:{heading:"Integration Capabilities",items:["Automatic work order creation from priority findings","Asset ID mapping to utility GIS/asset registry","Photo and thermal image attachment","Defect severity and recommended action","GPS coordinates for field navigation"]},customIntegration:{heading:"Custom Integration",items:["REST API available for custom EAM systems","CSV/XML export for manual import workflows","Webhook notifications for real-time alerts"]}},sensorSupport:{title:"Sensor Support",visualImaging:{heading:"Visual Imaging",specs:["Minimum resolution: 4K (3840×2160) or 20MP still","Format: MP4, MOV, JPG, DNG, TIFF, RAW","Zoom: Optical preferred (20x+), digital accepted"]},thermalImaging:{heading:"Thermal Imaging",specs:["Sensor resolution: 640×512 minimum","Radiometric data: Required for temperature analysis","NETD: <50mK recommended","Temperature differential detection: >5°C from ambient"]},lidar:{heading:"LiDAR",tierNote:"Supported in Enterprise tier",capabilities:["Point cloud formats: LAS, LAZ, E57","Vegetation clearance measurement to ±0.1m","Conductor sag analysis","3D tower modeling","NERC FAC-003 clearance reporting"]},supportedPayloads:{heading:"Supported Payloads",payloads:["DJI Zenmuse H30T, H20T, L2","Teledyne FLIR Vue TZ20","Phoenix LiDAR Recon-XT","YellowScan Voyager"]}},targetMarket:{title:"Who Uses GridAurex",segments:[{name:"Investor-Owned Utilities (IOUs)",icon:"Building2",description:"Large transmission networks requiring enterprise-scale inspection processing, EAM integration, and NERC compliance documentation."},{name:"Transmission-Only Companies",icon:"Zap",description:"Organizations focused exclusively on transmission asset management with specialized inspection requirements."},{name:"Drone Service Providers",icon:"Camera",description:"Inspection contractors serving multiple utility clients who need efficient processing and deliverable generation."},{name:"Rural Electric Cooperatives",icon:"Home",description:"Cost-effective inspection processing for smaller networks with limited in-house resources."}]},detailedUseCases:{title:"Use Cases",cases:[{name:"Routine Patrol Inspections",description:"Annual transmission line inspections per NERC FAC-003 requirements. Process drone/helicopter footage, identify defects, generate work orders, document compliance."},{name:"Storm Damage Assessment",description:"Rapid post-event assessment of transmission infrastructure. Priority scoring surfaces critical damage for immediate dispatch."},{name:"Vegetation Management",description:"MVCD clearance verification, encroachment tracking, and grow-in prediction for proactive management."},{name:"Thermal Surveys",description:"Detect hot spots in conductors, connections, and equipment before failure. Identify overloaded circuits and failing components."},{name:"Condition-Based Maintenance",description:"Track asset deterioration over time with historical comparison. Transition from time-based to condition-based maintenance programs."}]},competitiveDifferentiation:{title:"Why GridAurex",differentiators:[{name:"Edge-First Architecture",description:"Unlike cloud-only platforms, GridAurex processes footage on-site using edge devices. Field teams get results immediately — no waiting for cloud uploads, no bandwidth constraints in remote areas."},{name:"Hybrid Drone + Helicopter Support",description:"Purpose-built for real utility operations that combine drone close-up inspection with helicopter corridor surveys. Single platform for both data types."},{name:"GIS-Native Design",description:"Asset mapping built in from day one. Every defect is geolocated and linked to your asset registry. No post-processing required for GIS integration."},{name:"Priority Intelligence",description:"AI-driven priority scoring surfaces critical defects first. Review queues organized by route, severity, and asset criticality — not just detection confidence."},{name:"Utility-Scale Integration",description:"Native connectors for IBM Maximo, SAP PM, and Oracle EAM. Work orders generated automatically with all required fields populated."}]},related:{products:["sentra","data-analytics-platform"],services:["computer-vision","analytics-platform"],industries:["energy-utilities"]},roiHref:"/outcomes?industry=energy-utilities&usecases=cv_inspection,analytics&utm_source=solutions_hub&utm_medium=solution_card&utm_content=gridaurex",tags:{segment:["Energy & Utilities"],capability:["Inspection","Detection"],deployment:["Edge","Batch"]},faqs:[{question:"Can we use our existing drone providers?",answer:"Yes. GridAurex supports data from any drone platform. For U.S. utilities with NDAA requirements, we recommend Skydio, Inspired Flight, or Autel. DJI and senseFly are also supported."},{question:"What's the accuracy for anomaly detection?",answer:"GridAurex achieves 90-95% detection rate across defect categories, with <8% false positive rate. Accuracy varies by defect type — insulator cracks achieve 94-97%, thermal hot spots 90-94%."},{question:"What defect types can GridAurex detect?",answer:"Insulators (cracks, contamination), conductors (broken strands, splices), hardware (missing bolts, clamps), structures (corrosion, damage), vegetation encroachment, and thermal anomalies."},{question:"Does GridAurex support NERC FAC-003 vegetation compliance?",answer:"Yes. GridAurex documents vegetation clearance measurements, flags MVCD violations, and generates inspection records for compliance audits. LiDAR processing available for precise clearance measurement."},{question:"What EAM/CMMS systems are supported?",answer:"IBM Maximo, SAP PM, Oracle EAM, IFS, and ServiceNow via REST API. CSV export available for other systems."},{question:"How does edge processing work?",answer:"Edge processing runs on rugged laptops or tablets (minimum specs: Intel i7, 16GB RAM, dedicated GPU). Processing time is approximately real-time (1:1) for video feeds. Offline capability with sync when connected."},{question:"Is GridAurex NDAA compliant?",answer:"GridAurex software contains no foreign-manufactured components. For full NDAA compliance, pair with U.S.-manufactured drone platforms (Skydio, Inspired Flight, Teledyne FLIR)."},{question:"What's the typical ROI?",answer:"Utilities report 45% reduction in inspection cycle time, 30-40% reduction in flight costs through optimized routes, and 50-70% reduction in manual image review time. Detailed business case available upon request."},{question:"Does GridAurex support BVLOS operations?",answer:"Yes. GridAurex is designed to process data from both VLOS and BVLOS operations. Our cloud architecture supports high-volume data from extended corridor inspections under FAA waiver or future Part 108 operations."},{question:"Can GridAurex process helicopter inspection data?",answer:"Yes. GridAurex supports helicopter footage with appropriate stabilization and resolution. Helicopter operations typically produce higher-volume data requiring batch processing rather than edge deployment."}],updatedAt:"2025-01-16",seoTitle:"GridAurex: Transmission Line Inspection | Allerin",seoDescription:"45% faster line inspections with drone-based CV. Anomaly detection for corrosion, vegetation, hot spots. EAM integration. 6-8 week PoC."},{slug:"heliolytix",name:"HelioLytix",promise:"Solar PV thermal monitoring with IEC 62446-3 compliance",heroImage:"/images/solutions/heliolytix-hero.webp",sub:"Hot-spot and underperforming panel detection from thermal imagery—prioritizing maintenance by revenue loss to maximize solar output.",standardsCompliance:{title:"Standards Compliance",standard:"IEC TS 62446-3:2017",standardNumber:"62446-3",statement:"HelioLytix thermal analysis meets IEC TS 62446-3:2017 requirements for outdoor infrared thermography of photovoltaic systems.",bullets:["Inspection data captured under validated environmental conditions (≥600 W/m² irradiance, documented wind speed and cloud cover)","Radiometric thermal data with calibrated ΔT measurements and temperature normalization","Report outputs compatible with warranty claim documentation and insurance submissions","CoA-based severity classification (Minor/Serious/Critical) per IEC guidelines"],note:"IEC 62446-3 compliance enables use of HelioLytix outputs for module warranty claims, insurance documentation, investor due diligence, and EPC commissioning verification."},provenResults:{title:"Proven Results",metrics:[{label:"Production Recovery",value:"2-8%",context:"Typical range based on site degradation profile. Higher recovery (up to 12%) seen in severely degraded sites with >5% anomaly coverage."},{label:"Anomaly Detection",value:"94%",context:"F1 score across thermal defect categories. Validated on 25,000+ module images across 40+ sites."},{label:"Review Time Reduction",value:"↓ 70%",context:"AI pre-screens thermal imagery. Inspectors focus only on flagged findings vs. reviewing all images."},{label:"Time to ROI",value:"< 6 mo",context:"Typical payback period from remediation of high-priority anomalies identified in first inspection cycle."}]},pvDefectTaxonomy:{title:"Defect Detection Categories",intro:"HelioLytix detects and classifies thermal anomalies across all levels of the PV system, from individual cells to array-wide patterns.",thermalImage:"/images/solutions/heliolytix-thermal.webp",arrayImage:"/images/solutions/heliolytix-array.webp",categories:[{title:"Cell-Level Defects",icon:"Cpu",defects:[{name:"Cell Hotspots",thermalSignature:"Localized overheating in individual cells",deltaT:"10-40°C+",severity:"Serious",action:"Schedule replacement within maintenance cycle"},{name:"Cracked Cells",thermalSignature:"Irregular thermal patterns, hot edges along crack lines",deltaT:"5-20°C",severity:"Minor",action:"Monitor progression, plan replacement"},{name:"Interconnect Degradation",thermalSignature:"Busbar or ribbon hotspots, linear heating patterns",deltaT:"15-35°C",severity:"Serious",action:"Priority remediation within 30 days"}]},{title:"Module-Level Defects",icon:"Layers",defects:[{name:"Bypass Diode Failure",thermalSignature:"1/3 or 2/3 of module heated uniformly",deltaT:"10-25°C",severity:"Serious",action:"Replace diode or module within 30 days"},{name:"Bypassed Substring",thermalSignature:"Uniform warming across 1/3 module section",deltaT:"5-15°C",severity:"Minor",action:"Monitor, plan remediation"},{name:"Junction Box Hotspot",thermalSignature:"Localized heating at J-box location",deltaT:"20-50°C+",severity:"Critical",action:"Immediate inspection within 24-48 hours"},{name:"Delamination",thermalSignature:"Irregular thermal patterns, trapped air pockets",deltaT:"5-15°C",severity:"Minor",action:"Document for warranty, monitor progression"}]},{title:"String-Level Defects",icon:"Link",defects:[{name:"String Outage (Open Circuit)",thermalSignature:"Entire string appears cold relative to neighbors",deltaT:"-5 to -15°C",severity:"Critical",action:"Immediate repair — full kW loss"},{name:"Combiner Box Issues",thermalSignature:"Multiple strings showing similar anomalies",deltaT:"Varies",severity:"Serious",action:"Inspect combiner box connections"}]},{title:"Array-Level Patterns",icon:"LayoutGrid",defects:[{name:"PID (Potential Induced Degradation)",thermalSignature:"Edge patterns across multiple modules, systematic degradation",deltaT:"3-10°C",severity:"Serious",action:"System-level remediation, warranty documentation"},{name:"Soiling Patterns",thermalSignature:"Cooler zones where soiling blocks irradiance",deltaT:"-3 to -8°C",severity:"Minor",action:"Schedule cleaning, assess cleaning frequency"},{name:"Shading Analysis",thermalSignature:"Predictable cold patterns from nearby objects",deltaT:"-5 to -15°C",severity:"Minor",action:"Document for production modeling, vegetation management"}]}],severityLegend:[{level:"Minor",color:"green",deltaT:"<10°C",action:"Monitor",timeframe:"Next scheduled inspection"},{level:"Moderate",color:"yellow",deltaT:"10-20°C",action:"Plan repair",timeframe:"Within maintenance cycle"},{level:"Serious",color:"orange",deltaT:"20-40°C",action:"Priority fix",timeframe:"Within 30 days"},{level:"Critical",color:"red",deltaT:">40°C",action:"Immediate",timeframe:"Within 24-48 hours"}],note:"All ΔT measurements normalized to 1000 W/m² irradiance per IEC 62446-3 for cross-inspection comparability. Actual thresholds may be adjusted based on site-specific conditions and module specifications.",accuracyMethodology:{title:"Detection Performance",validationSummary:"Validated on 50+ utility-scale and C&I sites across 25,000+ module images",performanceTable:[{defectType:"Cell Hotspot",precision:"96%",recall:"94%",f1Score:"95%"},{defectType:"Bypass Diode Failure",precision:"93%",recall:"91%",f1Score:"92%"},{defectType:"String Outage",precision:"98%",recall:"97%",f1Score:"97.5%"},{defectType:"PID Pattern",precision:"88%",recall:"85%",f1Score:"86.5%"},{defectType:"Junction Box Hotspot",precision:"91%",recall:"89%",f1Score:"90%"},{defectType:"Cracked Cell",precision:"89%",recall:"86%",f1Score:"87.5%"},{defectType:"Soiling Pattern",precision:"94%",recall:"92%",f1Score:"93%"}],testConditions:{title:"Standard Test Conditions",conditions:[{parameter:"Irradiance",value:"≥600 W/m²"},{parameter:"Wind Speed",value:"<15 mph (24 km/h)"},{parameter:"Cloud Cover",value:"<25%"},{parameter:"Camera Resolution",value:"640×512 radiometric thermal"},{parameter:"Altitude",value:"30-50m AGL (drone)"},{parameter:"GSD",value:"≤3 cm/pixel"}]},falsePositiveRate:"<3%",falsePositiveNote:"Reduces unnecessary truck rolls and field verification costs",validationMethod:"Ground truth comparison with IEC 62446-3 certified thermographer manual inspection. Each detection cross-referenced with I-V curve measurements where available."},monitoringIntegration:{title:"Production Data Integration",intro:"HelioLytix connects with your existing monitoring infrastructure to correlate thermal findings with actual production data, enabling precise revenue impact calculations.",platforms:[{name:"AlsoEnergy / PowerTrack",protocol:"REST API",icon:"Zap"},{name:"Locus Energy",protocol:"REST API",icon:"Zap"},{name:"SolarEdge Monitoring",protocol:"REST API",icon:"Sun"},{name:"Enphase Enlighten",protocol:"REST API",icon:"Sun"},{name:"SMA Sunny Portal",protocol:"REST API",icon:"Sun"},{name:"Huawei FusionSolar",protocol:"REST API",icon:"Sun"},{name:"Custom SCADA",protocol:"OPC UA / Modbus TCP",icon:"Server"}],dataSync:{title:"Data Synchronization",capabilities:["Real-time production data correlation with thermal anomalies","Historical irradiance retrieval for IEC 62446-3 compliance validation","Inverter-level and string-level performance mapping","Automated anomaly-to-production-loss impact calculation","Weather data overlay for normalized performance analysis","Bi-directional sync for work order status updates"]},integrationMethods:{title:"Integration Methods",methods:[{method:"REST API",description:"OAuth 2.0 authentication with token refresh, rate limiting, and retry logic"},{method:"Webhooks",description:"Real-time alerts for production anomalies and maintenance status changes"},{method:"Bulk Import",description:"CSV/JSON/Excel file upload for historical data and site configuration"},{method:"OPC UA",description:"Direct SCADA connectivity for industrial-grade monitoring systems"}]}},cmmsIntegration:{title:"Work Order Integration",intro:"HelioLytix generates actionable work orders directly in your O&M system, with thermal evidence attached and priority ranking based on production impact.",platforms:[{name:"Raptor Solar",integrationType:"Native Integration",icon:"Zap"},{name:"60Hertz Energy",integrationType:"REST API",icon:"Zap"},{name:"Salesforce Field Service",integrationType:"REST API",icon:"Cloud"},{name:"ServiceNow",integrationType:"REST API",icon:"Server"},{name:"IBM Maximo",integrationType:"File Export / API",icon:"Server"},{name:"SAP PM",integrationType:"RFC / BAPI",icon:"Server"},{name:"Oracle EAM",integrationType:"REST API",icon:"Server"},{name:"UpKeep",integrationType:"REST API",icon:"Wrench"}],exportFormats:[{format:"JSON",description:"Structured API integration for automated work order creation"},{format:"CSV",description:"Bulk import compatible with most CMMS platforms"},{format:"PDF",description:"Field-ready reports with thermal images and GPS coordinates"},{format:"Excel",description:"Analyst-friendly format with filtering and pivot table support"}],workOrderContents:{title:"Work Order Contents",items:["GPS coordinates with click-to-navigate for field technicians","Thermal image with annotated defect location and boundary","Defect type classification and severity level","Estimated daily/annual production loss in kWh and revenue","Recommended remediation action with labor/parts estimate","Priority ranking based on production impact and safety risk","Historical thermal trend (if repeat inspection data available)","IEC 62446-3 compliant documentation package"]}},cameraSupport:{title:"Supported Thermal Cameras",intro:"HelioLytix supports radiometric thermal imagery from leading drone and camera manufacturers, including NDAA-compliant options for U.S. government and utility projects.",platforms:[{manufacturer:"DJI",models:["Mavic 3T / 3TD (Thermal)","Matrice 30T","Matrice 300 RTK + Zenmuse H20T","Matrice 350 RTK + Zenmuse H20T","Zenmuse XT2","Zenmuse H20N (night thermal)"]},{manufacturer:"FLIR Systems",models:["FLIR Vue Pro R (radiometric)","FLIR Duo Pro R","FLIR Vue TZ20"]},{manufacturer:"Workswell",models:["Wiris Pro (radiometric)","Wiris Enterprise","Wiris Security"]},{manufacturer:"Autel (NDAA-Compliant)",isNdaaCompliant:!0,models:["EVO II Dual 640T","EVO II Dual 640T V3","EVO Max 4T"]},{manufacturer:"Teledyne FLIR (NDAA-Compliant)",isNdaaCompliant:!0,models:["SIRAS","ION M640"]}],minimumRequirements:{title:"Minimum Camera Requirements",specs:[{parameter:"Resolution",value:"640×512 pixels",note:"IEC 62446-3 compliant (5×5 pixels per cell minimum)"},{parameter:"Radiometric",value:"Required",note:"Per-pixel temperature data for accurate ΔT measurement"},{parameter:"NETD",value:"≤50 mK",note:"Recommended for detecting early-stage thermal anomalies"},{parameter:"Temperature Range",value:"-20°C to +150°C",note:"Covers typical PV operating conditions"},{parameter:"Frame Rate",value:"≥9 Hz",note:"For continuous scanning during drone flyover"},{parameter:"Field of View",value:"24°–40°",note:"Optimal for 30-50m AGL inspection altitude"}]}},targetMarkets:{title:"Built for Solar Professionals",intro:"HelioLytix is designed for teams who need reliable, scalable thermal analysis—from single-site inspections to portfolio-wide deployments.",segments:[{name:"Utility-Scale O&M",sizeRange:"10+ MW",icon:"Zap",description:"Portfolio-wide thermal analysis with IEC 62446-3 compliance, SCADA integration, and enterprise reporting.",keyFeatures:["Multi-site portfolio dashboards","IEC 62446-3 compliant documentation","SCADA/monitoring integration (AlsoEnergy, PowerTrack)","Enterprise SSO and role-based access"]},{name:"C&I Asset Managers",sizeRange:"100 kW – 10 MW",icon:"Building2",description:"Fast, mobile-friendly inspection with automated work orders and production impact quantification.",keyFeatures:["Mobile-first field interface","Automated CMMS work orders","Production loss in $/kWh","Multi-tenant site management"]},{name:"Drone Service Providers",sizeRange:"Multi-client",icon:"Camera",description:"White-label reporting with multi-client management and brandable deliverables.",keyFeatures:["White-label PDF reports","Client portal with branded access","Bulk processing for high-volume ops","Per-client billing and analytics"]},{name:"EPC Contractors",sizeRange:"Commissioning",icon:"Wrench",description:"Commissioning baseline documentation with warranty-ready thermal records.",keyFeatures:["Pre-handoff thermal baseline","IEC 62446-3 commissioning reports","Defect punch list generation","Warranty documentation package"]}]},competitiveDifferentiation:{title:"Why HelioLytix?",positioning:"Unlike generic thermal analysis tools, HelioLytix is purpose-built for solar O&M with direct production data integration—turning thermal imagery into actionable, ROI-prioritized maintenance decisions.",differentiators:[{title:"Edge-First Analysis",icon:"Zap",description:"Field results in real-time",detail:"No waiting for cloud processing. Technicians see anomaly flags during the drone flight and can remediate same-day, reducing truck rolls and site revisits."},{title:"Production Impact Quantification",icon:"TrendingUp",description:"Every anomaly includes $/year loss",detail:"Correlate thermal severity with actual production data to calculate revenue impact. Prioritize maintenance by ROI, not just temperature delta."},{title:"IEC 62446-3 Compliance",icon:"ShieldCheck",description:"Warranty-ready documentation",detail:"Reports meet IEC 62446-3:2017 requirements for warranty claims, insurance submissions, and investor due diligence. Includes all required environmental validation."},{title:"Native Monitoring Integration",icon:"RefreshCw",description:"Direct SCADA connection",detail:"Pull real-time production data from AlsoEnergy, SolarEdge, Enphase, and other platforms to correlate thermal anomalies with actual performance degradation."}]}},outcomes:["Production recovery ↑ 2-8%","Anomaly detection ↑ 94% F1","Review time ↓ 70%"],capabilities:["Hot-spot and underperforming panel detection from thermal imagery","Panel string mapping with production impact estimates","Maintenance work orders prioritized by revenue loss","GIS overlay of panel health by string and inverter","Integration with monitoring systems (SolarEdge, Huawei, etc.)"],whatYouGet:["Thermal anomaly detection (86-97% F1 score by defect type, <3% false positive rate)","GIS overlay of panel health by string and inverter","Production loss estimates and maintenance prioritization","Integration with monitoring systems (SolarEdge, Huawei, etc.)","Automated work order generation with thermal evidence"],howItWorks:"Thermal imagery (drone/fixed) → anomaly detection → production loss model → priority queue → maintenance work orders → output tracking",deployments:["Edge (field tablets)","Batch processing for periodic thermal scans","GIS + monitoring system integration"],security:["TLS 1.3 for all data in transit, AES-256 at rest","Role-based access (O&M tech, asset manager, exec dashboard)","Audit logs for all maintenance actions and evidence access","On-prem deployment option for sensitive sites"],related:{products:["sentra","data-analytics-platform"],services:["computer-vision","analytics-platform"],industries:["energy-utilities"]},roiHref:"/outcomes?industry=energy-utilities&usecases=analytics,cv_quality&utm_source=solutions_hub&utm_medium=solution_card&utm_content=heliolytix",tags:{segment:["Energy & Utilities"],capability:["Detection","Analytics"],deployment:["Edge","Batch"]},faqs:[{question:"What defect types can HelioLytix detect?",answer:"HelioLytix detects 12+ PV defect categories across cell, module, string, and array levels. Cell-level: hotspots, cracks, interconnect degradation. Module-level: bypass diode failures, bypassed substrings, junction box issues, delamination. String-level: outages, combiner box faults. Array-level: PID patterns, soiling, shading. Each defect includes thermal signature, ΔT severity classification, and recommended action."},{question:"Is HelioLytix IEC 62446-3:2017 compliant?",answer:"Yes. Our thermal analysis methodology meets IEC 62446-3:2017 requirements for PV plant inspection. This includes: minimum 600 W/m² irradiance validation, ΔT measurements normalized to 1000 W/m², geometric resolution (5×5 pixels per cell), environmental condition documentation, and structured reporting. Compliance enables use for warranty claims, insurance documentation, and investor due diligence."},{question:"What camera resolution is required?",answer:"Minimum 640×512 radiometric thermal camera is required for IEC 62446-3 compliance (achieves 5×5 pixels per cell at standard flight altitudes). We support DJI (Mavic 3T, Matrice 30T, Zenmuse H20T), FLIR (Vue Pro R, Duo Pro R), Workswell (Wiris Pro), and NDAA-compliant options (Autel EVO II 640T, Teledyne FLIR SIRAS). Camera must output radiometric data (per-pixel temperature), not just colorized thermal video."},{question:"How accurate is the AI detection?",answer:"Detection accuracy varies by defect type: Cell hotspots 95% F1, bypass diode 92% F1, string outages 97.5% F1, PID patterns 86.5% F1, junction box 90% F1. Overall false positive rate is <3%, reducing unnecessary truck rolls. Validation performed on 50+ sites with 25,000+ module images, using ground truth comparison with IEC 62446-3 certified thermographer inspection and I-V curve measurements."},{question:"What SCADA and monitoring systems are supported?",answer:"HelioLytix integrates with major solar monitoring platforms: AlsoEnergy/PowerTrack, Locus Energy, SolarEdge Monitoring, Enphase Enlighten, SMA Sunny Portal, Huawei FusionSolar, and custom SCADA (OPC UA, Modbus TCP). Integration enables real-time production data correlation, historical irradiance retrieval for IEC compliance, and automated anomaly-to-production-loss calculation."},{question:"Can HelioLytix support warranty claims and insurance documentation?",answer:"Yes. Our IEC 62446-3 compliant reports provide the documentation required for warranty claims, insurance submissions, and investor due diligence. Each anomaly report includes: GPS coordinates, timestamped thermal imagery, ΔT severity classification, defect categorization per IEC standards, production loss estimate, and recommended remediation with cost/benefit analysis."},{question:"How is production loss calculated?",answer:"We correlate thermal ΔT with string topology, inverter mapping, and real-time production data from your monitoring system. For each anomaly: (1) Identify affected cells/modules from thermal signature, (2) Map to string and inverter via GIS overlay, (3) Compare actual vs. expected production using irradiance-normalized data, (4) Calculate kWh loss at site level, (5) Convert to revenue impact using your PPA/tariff rate. Methodology validated against I-V curve testing on representative sites."},{question:"What environmental conditions are required for inspection?",answer:"Per IEC 62446-3 requirements: Irradiance ≥600 W/m² (ideally 800-1000 W/m²), wind speed <15 mph (24 km/h) to minimize module cooling, cloud cover <25% for stable irradiance, and dry conditions (no rain/dew on modules). HelioLytix validates environmental conditions during analysis and flags inspections that don't meet IEC thresholds for re-inspection."},{question:"How long does thermal analysis take?",answer:"Edge deployment: Real-time field results on tablets during drone flight—technicians see anomaly flags in under 30 seconds. Cloud/batch processing: Full site analysis with production correlation, GIS overlay, and priority-ranked work orders delivered within 2-4 hours of data upload. Report generation (PDF, CMMS export) is immediate after analysis completion."},{question:"What is typical ROI for HelioLytix?",answer:"Most sites achieve 3-5x ROI within the first year through: production recovery (2-8% uplift from addressing previously undetected anomalies), reduced O&M costs (70% faster review time, fewer truck rolls from <3% false positive rate), and prevented catastrophic failures (critical ΔT alerts enable proactive intervention). ROI timeline depends on site degradation profile—severely degraded sites see faster payback."},{question:"Can I use my existing drones and thermal cameras?",answer:"Yes. HelioLytix supports all major radiometric thermal cameras including DJI, FLIR, Workswell, and NDAA-compliant options (Autel, Teledyne FLIR). We ingest standard thermal formats (TIFF, RJPEG) with radiometric data embedded. If you're using drone service providers (DSPs), we can work directly with their data outputs. Camera calibration is validated during onboarding."},{question:"Is my inspection data secure?",answer:"Yes. All data is protected with TLS 1.3 encryption in transit and AES-256 at rest. Access is controlled via role-based permissions (O&M technician, asset manager, executive dashboard). Complete audit logs track all user actions and data access. On-premises deployment available for sites with strict data sovereignty requirements. We support SOC 2 Type II compliance requirements for enterprise customers."}],updatedAt:"2025-01-16",seoTitle:"HelioLytix: Solar PV Thermal Monitoring | Allerin",seoDescription:"IEC 62446-3 compliant solar PV thermal inspection. 2-8% production recovery, 94% anomaly detection accuracy. Panel health mapping, revenue loss prioritization."},{slug:"thermasentinel",name:"ThermaSentinel",heroImage:"/images/solutions/thermasentinel-hero.webp",promise:"Leak/flare monitoring with EPA/LDAR compliance",sub:"Methane and flare anomaly detection from thermal/OGI sensors—automated regulatory reporting with alert timestamps, GPS, and audit trails.",outcomes:["Leak detection time ↓ 60%","Regulatory compliance ↑ 100%","False positives ↓ 40-50%"],capabilities:["Methane and flare anomaly detection from thermal/OGI sensors","Automated regulatory reports with alert timestamps and GPS","Alert tuning and false-positive reduction","EPA/LDAR-compliant report generation with audit trails","Alert prioritization by severity and regulatory risk"],whatYouGet:["Leak detection model (>85% precision) with thermal/OGI integration","EPA/LDAR-compliant report generation with audit trails","Alert prioritization by severity and regulatory risk","Integration with field maintenance systems","Threshold tuning and false-positive reduction playbooks"],howItWorks:"Thermal/OGI sensors → leak detection model → severity scoring → alert queue → regulatory report generation → field dispatch",howItWorksSteps:[{icon:"Camera",title:"OGI Capture",description:"Thermal/OGI camera captures gas plume imagery with GPS and timestamp metadata"},{icon:"Cpu",title:"AI Detection",description:"Deep learning models analyze frames for methane signatures and leak indicators"},{icon:"AlertTriangle",title:"Alert Triage",description:"Multi-frame validation filters false positives; confirmed detections enter queue"},{icon:"Gauge",title:"Severity Scoring",description:"Leaks classified by emission rate, regulatory risk, and repair priority"},{icon:"FileText",title:"Compliance Reporting",description:"Auto-generate EPA/LDAR-compliant reports with imagery, GPS, and timestamps"},{icon:"Wrench",title:"Field Dispatch",description:"Work orders pushed to CMMS with location, severity, and repair documentation"}],deployments:["Edge (field devices)","Continuous monitoring with alert thresholds","Integration with field maintenance systems"],security:["EPA/FERC compliance with automated audit trails","TLS 1.3 for all data in transit, AES-256 at rest","Role-based access (field tech, compliance officer, system admin)","Configurable retention (7-10 years) aligned with regulatory requirements"],securityCompliance:{title:"Security & Compliance",intro:"Enterprise-grade security architecture designed for regulated oil and gas operations:",dataSecurity:{title:"Data Security",items:["TLS 1.3 encryption for all data in transit","AES-256 encryption at rest for all stored data","SOC 2 Type II compliant infrastructure","Role-based access control (RBAC) with principle of least privilege","Data residency options for regional compliance requirements"]},userRoles:{title:"User Roles",roles:[{name:"Field Technician",icon:"Wrench",description:"Survey execution, alert response, repair documentation"},{name:"Compliance Officer",icon:"Shield",description:"Report review, regulatory submissions, audit coordination"},{name:"Operations Manager",icon:"BarChart3",description:"Dashboard access, analytics, KPI monitoring, team oversight"},{name:"Administrator",icon:"Settings",description:"User management, system configuration, integration setup"}]},auditCompliance:{title:"Audit & Compliance",items:["Complete audit trail for all system actions","Immutable event logging for regulatory defensibility","Data retention configurable per regulatory requirements (7-10+ years)","Export capabilities for regulatory submissions (PDF, CSV, XML)","Chain-of-custody documentation for enforcement defense"]},integrationSecurity:{title:"Integration Security",items:["OAuth 2.0 for API authentication","SSO support (SAML 2.0, Azure AD, Okta)","API rate limiting and monitoring","Webhook signature verification","IP allowlisting for enterprise deployments"]}},regulatoryCompliance:{title:"EPA Regulatory Compliance",intro:"ThermaSentinel is designed to support compliance with EPA fugitive emissions monitoring requirements:",regulations:[{name:"NSPS OOOOa",description:"Fugitive emissions monitoring for new/modified sources (2015+)",status:"supported"},{name:"NSPS OOOOb",description:"Enhanced monitoring requirements per December 2023 Final Rule",status:"supported"},{name:"Appendix K Protocol",description:"OGI camera protocol compliance for leak detection surveys",status:"supported"},{name:"40 CFR 63.670",description:"Flare monitoring and combustion efficiency requirements",status:"supported"}],frequencies:{title:"Monitoring Frequencies Supported",items:[{frequency:"Quarterly OGI",applicability:"Multi-wellhead production sites"},{frequency:"Bi-monthly OGI",applicability:"Natural gas processing plants"},{frequency:"Monthly surveys",applicability:"Compressor stations"},{frequency:"Continuous monitoring",applicability:"Alternative technology pathway"}]},features:{title:"Compliance Documentation Features",items:["GPS-stamped imagery with operator metadata","Operating envelope documentation (temperature, wind speed)","Automated survey reports per EPA format requirements","Complete audit trail for regulatory submissions","Survey date/time, camera model, and serial number logging","Component count and leak location tracking"]},disclaimer:"ThermaSentinel outputs are designed to support EPA regulatory submissions. Consult with your environmental compliance team for site-specific requirements and final regulatory determinations."},detectionPerformance:{title:"Methane Detection Performance",intro:"Detection rates validated under controlled conditions with representative OGI camera configurations:",performanceTable:[{leakRate:">10 kg/hr",probability:">95%",conditions:"Standard operating envelope"},{leakRate:"5-10 kg/hr",probability:">90%",conditions:"Standard operating envelope"},{leakRate:"1-5 kg/hr",probability:">85%",conditions:"Optimal conditions"},{leakRate:"<1 kg/hr",probability:">70%",conditions:"Optimal conditions, close range"}],accuracyMetrics:{title:"Detection Accuracy",metrics:[{metric:"Precision",value:"92%",context:"Percentage of alerts that are true leaks"},{metric:"Recall",value:"88%",context:"Percentage of actual leaks detected"},{metric:"False Positive Rate",value:"<5%",context:"Compared to 15-20% untuned OGI baseline"}]},alertTuning:{title:"Alert Tuning Results",results:["40-50% reduction in false positives vs. untuned OGI review","AI-based filtering reduces manual review burden by 60-70%","Severity-based prioritization enables focus on high-impact leaks first","Configurable alert thresholds per site and component type"],methodology:"False positive reduction measured against baseline of unfiltered OGI camera alerts over 30-day calibration period. Reduction calculated as (baseline FPs - tuned FPs) / baseline FPs."},validation:{title:"Validation & Testing",items:["Controlled release testing at customer facilities during PoC","Validated across 50+ site deployments in production environments","10,000+ hours of cumulative operational runtime","Quarterly model drift monitoring with retraining as needed"]},operatingEnvelope:{title:"Operating Envelope",specs:[{parameter:"Wind Speed",value:"<15 mph (24 km/h)"},{parameter:"Temperature Differential (ΔT)",value:">5°C between gas and background"},{parameter:"Viewing Distance",value:"Up to 30 meters (camera-dependent)"},{parameter:"Ambient Temperature",value:"-20°C to +50°C"}]},appendixKCompliance:{title:"EPA Appendix K Compliance",items:["Capable of detecting 17 g/hr methane at 2 meters per Appendix K requirements","Operating envelope documented per camera manufacturer specifications","Operator certification tracking and survey documentation","Camera performance validation during site onboarding"]},validationNote:"Detection performance varies by camera model, environmental conditions, and operator proficiency. Site-specific validation conducted during PoC phase to establish baseline performance metrics."},flareMonitoring:{title:"Flare Monitoring Capabilities",image:"/images/solutions/thermasentinel-flare.webp",intro:"Comprehensive flare surveillance with continuous monitoring and regulatory compliance support:",sections:[{heading:"Pilot Flame Monitoring",icon:"Flame",items:["24/7 continuous pilot flame detection","Immediate alert on flame-out events","Un-lit flare duration logging for GHG reporting","Multi-pilot detection for redundant flare systems"]},{heading:"Combustion Performance",icon:"Activity",items:["Visual flame characterization (color, stability, shape)","Smoke/opacity detection per EPA Method 22","Integration with flare flow meters for efficiency calculation","Abnormal combustion pattern detection"]}],monitoringParameters:{title:"Monitored Parameters",parameters:[{name:"Pilot Status",description:"Lit/un-lit with timestamp logging"},{name:"Visible Emissions",description:"Smoke presence and opacity level"},{name:"Flame Characteristics",description:"Color, stability, and geometry"},{name:"Event Duration",description:"Un-lit periods and smoking events"}]},complianceSupport:{title:"Regulatory Compliance Support",items:["NSPS OOOOb flare monitoring requirements","40 CFR 63 Subpart CC (refinery flares)","40 CFR 98 Subpart W (GHG reporting)","State air quality permit documentation"]},integrationNote:"For NHVcz (Net Heating Value of Combustion Zone) and combustion efficiency calculations, ThermaSentinel integrates with flare gas analyzers and flow measurement systems. Visual monitoring provides supplementary compliance evidence."},sensorCompatibility:{title:"Supported OGI Cameras & Sensors",image:"/images/solutions/thermasentinel-ogi.webp",intro:"ThermaSentinel integrates with industry-standard OGI equipment for leak detection and quantification:",categories:[{heading:"Handheld (Survey Mode)",icon:"Camera",sensors:[{name:"FLIR GF320/GFx320",description:"Methane, hydrocarbons",supported:!0},{name:"FLIR GF620/GFx620",description:"High-resolution hydrocarbon imaging",supported:!0},{name:"FLIR G620",description:"Latest generation OGI camera",supported:!0}]},{heading:"Fixed Mount (Continuous Monitoring)",icon:"Eye",sensors:[{name:"FLIR G620a",description:"Fixed-mount continuous OGI",supported:!0},{name:"FLIR ADGiLE",description:"Autonomous detection system",supported:!0}]},{heading:"Quantification Devices",icon:"Gauge",sensors:[{name:"FLIR QL320",description:"Laser-based mass flow quantification",supported:!0},{name:"FLIR QL520",description:"Enhanced quantification with reporting",supported:!0}]}],dataRequirements:{title:"Data Requirements",items:["Radiometric thermal data (RJPEG format)","GPS coordinates embedded in imagery metadata","Timestamp synchronization (NTP recommended)","Operating envelope parameters (wind, temperature)"]},comingSoon:{title:"Coming Soon",items:["Point sensor integration (Qube, Project Canary compatible formats)","Drone platform support (DJI M300/M350 with thermal payloads)","Satellite-based detection data integration"]}},targetMarket:{title:"Built for Oil & Gas Operations",intro:"ThermaSentinel addresses the unique monitoring requirements across the oil and gas value chain:",segments:[{name:"Upstream Producers",icon:"Mountain",description:"Quarterly OGI surveys for well pads and tank batteries.",highlight:"AI-powered alert tuning reduces false positives by 40-50%."},{name:"Midstream Operators",icon:"ArrowLeftRight",description:"Compressor station and gathering system monitoring.",highlight:"Continuous surveillance with priority-based alerting."},{name:"Natural Gas Processing",icon:"Factory",description:"Bi-monthly OGI compliance per EPA Appendix K.",highlight:"Automated regulatory report generation."},{name:"Downstream Refineries",icon:"Building2",description:"40 CFR 63 Subpart CC/UUU compliance support.",highlight:"Flare monitoring and fugitive emissions tracking."}]},cmmsIntegration:{title:"Maintenance System Integration",intro:"ThermaSentinel integrates with enterprise maintenance systems to automate work order creation and track repairs through completion:",platforms:[{name:"SAP PM",integrationType:"REST API",icon:"Server"},{name:"IBM Maximo",integrationType:"API Integration",icon:"Server"},{name:"Oracle EAM",integrationType:"File Export",icon:"Server"},{name:"Microsoft Dynamics 365",integrationType:"Connector",icon:"Cloud"},{name:"Generic CMMS",integrationType:"CSV/JSON Export",icon:"FileText"}],exportFormats:[{format:"JSON",description:"API integration for automated work order creation"},{format:"CSV",description:"Bulk import compatible with most CMMS platforms"},{format:"PDF",description:"Field-ready reports with images and GPS coordinates"},{format:"XML",description:"Regulatory submissions (EPA, state agencies)"}],workOrderContents:{title:"Work Order Automation",items:["Auto-create work orders from high-severity alerts","GPS coordinates with imagery and severity classification","Leak rate estimates and regulatory priority flags","Track repair status through completion","Document close-out for regulatory compliance audits","Historical leak data for trend analysis and reporting"]}},quantificationCapability:{title:"Leak Quantification",intro:"ThermaSentinel integrates with quantification devices for emission rate measurement when precise leak sizing is required:",supportedMethods:[{name:"FLIR QL320/QL520 Laser Quantification",icon:"Gauge",description:"Direct laser-based mass flow rate measurement with industry-leading accuracy. Real-time emission rates captured during OGI surveys."},{name:"OGI-Based Emission Estimation",icon:"Eye",description:"AI-assisted emission estimation using thermal plume analysis. Provides approximate sizing when quantification devices are not available."}],outputMetrics:{title:"Output Metrics",items:["Emission rate (g/hr, kg/hr, SCFM)","Uncertainty bounds for measurement confidence","Cumulative emissions over time","Emission rate trends and history"]},useCases:{title:"Use Cases",items:["Super-emitter identification (>100 kg/hr events)","Prioritization by emission magnitude for repair scheduling","ESG reporting and methane intensity calculations","Regulatory emission inventories (Subpart W, state programs)","Leak-to-repair cost-benefit analysis"]},fallbackNote:"For sites without quantification devices, ThermaSentinel provides detection and localization with optional integration to FLIR QL-series or third-party quantification solutions."},competitivePositioning:{title:"Why ThermaSentinel?",headline:"Unified Leak & Flare Monitoring in a Single Platform",intro:"Unlike point-solution providers, ThermaSentinel delivers integrated leak and flare monitoring with AI-powered analytics in a single compliance-ready platform.",benefits:[{icon:"Layers",title:"Unified Platform",description:"Single solution for OGI surveys, continuous monitoring, and flare surveillance—no multiple vendor contracts, no integration headaches."},{icon:"Zap",title:"AI-Powered Alert Tuning",description:"40-50% reduction in false positives through machine learning, reducing operator fatigue and focusing attention on real events."},{icon:"Shield",title:"Regulatory-Ready Reporting",description:"Auto-generate EPA/LDAR-compliant documentation with GPS, timestamps, and imagery—audit-ready from day one."},{icon:"Camera",title:"Multi-Sensor Flexibility",description:"Works with your existing FLIR cameras and sensors, protecting your equipment investment while adding intelligent analytics."}],footer:"ThermaSentinel is designed for operators who need one platform to manage leak detection, flare monitoring, and regulatory compliance—without assembling a patchwork of point solutions."},related:{products:["sentra","data-analytics-platform"],services:["computer-vision","analytics-platform"],industries:["energy-utilities"]},roiHref:"/outcomes?industry=energy-utilities&usecases=cv_inspection,analytics&utm_source=solutions_hub&utm_medium=solution_card&utm_content=thermasentinel",tags:{segment:["Energy & Utilities"],capability:["Detection","Compliance"],deployment:["Edge","Continuous"]},faqs:[{question:"Is ThermaSentinel compliant with EPA Appendix K?",answer:"Yes, ThermaSentinel supports Appendix K OGI survey protocols including required survey frequencies, equipment specifications, and documentation requirements. The system generates Appendix K-compliant survey reports with timestamped imagery, GPS coordinates, and component identification for regulatory submission."},{question:"What is the minimum detectable leak rate?",answer:"Minimum detectable leak rate depends on OGI camera specifications and environmental conditions. With FLIR GF-series cameras under optimal conditions (low wind, good thermal contrast), ThermaSentinel can detect leaks as small as 0.4-2.0 g/hr for methane. Actual detection limits vary by compound, distance, and atmospheric conditions—we validate specific thresholds during PoC."},{question:"Can ThermaSentinel quantify emission rates?",answer:"Yes, when integrated with FLIR QL320 or QL520 quantification devices, ThermaSentinel captures and logs mass flow rate estimates (g/hr, kg/day) directly from the quantification hardware. These measurements are included in compliance reports and work order documentation."},{question:"What flare monitoring capabilities are included?",answer:"ThermaSentinel provides 24/7 pilot flame monitoring with immediate flame-out alerts, visible emissions (smoke) detection per EPA Method 22 protocols, flame characterization, and un-lit flare duration logging for GHG reporting. For combustion efficiency calculations, the system integrates with flare gas analyzers and flow meters."},{question:"How is alert severity determined?",answer:"Severity scoring considers multiple factors: estimated emission magnitude, component type and failure mode, proximity to personnel areas or public boundaries, regulatory classification (major vs. minor source), repair complexity, and historical component performance. Alerts are classified as Monitor, Priority, or Critical with corresponding response time recommendations."},{question:"Does ThermaSentinel support continuous monitoring?",answer:"Yes, ThermaSentinel supports both periodic OGI surveys and continuous monitoring configurations. For continuous monitoring, we integrate with fixed OGI cameras like FLIR G620a or the FLIR ADGiLE autonomous system, providing 24/7 surveillance with real-time alerting and trend analysis."},{question:"What regulatory reports can be auto-generated?",answer:"ThermaSentinel generates OGI survey reports (Appendix K format), LDAR component lists with repair tracking, emission event logs with timestamps and GPS, flare monitoring summaries, Subpart W GHG reporting data, and annual compliance summaries. Reports are exportable in PDF, CSV, and XML formats for regulatory submission."},{question:"Can ThermaSentinel be used for EPA OOOOb compliance?",answer:"Yes, ThermaSentinel supports NSPS OOOOb compliance requirements including both periodic OGI survey protocols and continuous monitoring pathways. The system tracks survey frequencies, documents repair timelines, and generates the required compliance records for well sites, compressor stations, and processing plants."},{question:"What is the false positive rate?",answer:"AI-powered alert tuning achieves less than 5% false positive rate after initial calibration, compared to 15-25% for untuned OGI review workflows. False positive reduction is achieved through multi-frame analysis, thermal signature validation, and site-specific threshold optimization during deployment."},{question:"How does ThermaSentinel integrate with SCADA?",answer:"ThermaSentinel supports OPC UA and OPC DA connectivity for real-time data integration with SCADA and process control systems. This enables correlation of leak alerts with process conditions, automated alert escalation based on operating state, and inclusion of process context in compliance documentation."},{question:"Is data auditable for regulatory submissions?",answer:"Yes, all data is timestamped with cryptographic integrity verification and full audit trail. The system maintains chain-of-custody documentation, user action logs, and immutable event records required for EPA regulatory submissions and enforcement defense. Data retention is configurable from 7-10+ years per regulatory requirements."},{question:"What training is required for operators?",answer:"ThermaSentinel provides operator training aligned with Appendix K requirements including OGI camera operation basics, survey protocol execution, alert triage workflows, and regulatory reporting procedures. Training is typically 2-4 hours for operators, with additional administrator training for system configuration and compliance management."}],updatedAt:"2025-01-16",seoTitle:"ThermaSentinel: Leak & Flare Monitoring | Allerin",seoDescription:"EPA/LDAR-compliant leak detection with thermal/OGI sensors. Automated regulatory reporting. 6-8 week PoC."},{slug:"yardlytix",name:"YardLytix",promise:"Dock & Yard Analytics",heroImage:"/images/solutions/yardlytix-hero.webp",sub:"Reduce door dwell and improve trailer turns with camera+OCR and a live yard map.",outcomes:["Dwell Time Reduction ↓ 15-30%","Faster Trailer Turns ↑ 2x","Annual Detention Savings ↑ $50K+"],capabilities:["Gate OCR (plates/containers) & event timeline","Yard map with slot status & heatmaps","SLA breach alerts to ops","TMS/YMS integration (SAP TM, Blue Yonder, Oracle TMS)","Real-time trailer location tracking"],features:[{title:"Gate OCR with Event Timeline",description:"98%+ accurate container and license plate recognition at gate entry/exit. Every trailer movement logged with timestamp, driver ID, and bay assignment. Full event timeline for audits and dispute resolution.",isPrimary:!0},{title:"Live Yard Map & Heatmaps",description:"Real-time bird's-eye view of every trailer position. Color-coded slot status—available, occupied, overstayed. Dwell time heatmaps reveal bottlenecks and optimize trailer placement patterns."},{title:"SLA Breach Alerts",description:"Proactive notifications when trailers approach dwell limits. Configurable thresholds by carrier, priority, and load type. Alerts route to yard ops via SMS, email, or TMS dashboard."},{title:"Native TMS/YMS Integration",description:"Pre-built connectors for Oracle TMS, Blue Yonder, Manhattan, and SAP TM. Bi-directional sync keeps appointment schedules, yard moves, and carrier updates aligned in real-time.",isFullWidth:!0}],whatYouGet:["Camera placement plan & OCR calibration","Yard map configuration & slot taxonomy","SLA rule book & alert escalation tree","TMS/YMS adapters & bi-directional sync","KPI dashboard (dwell, turns, detention)","Training materials for yard ops team"],howItWorks:"",howItWorksSteps:[{title:"Gate Cameras",icon:"Camera",description:"Capture at entry/exit points with 4K IP cameras, day or night"},{title:"OCR Recognition",icon:"ScanLine",description:"Read container IDs, trailer numbers, and license plates in <500ms"},{title:"Live Yard Map",icon:"Map",description:"Real-time asset positions across your facility with slot status"},{title:"Smart Alerts",icon:"AlertTriangle",description:"Dwell violations, detention risk, and missing asset notifications"},{title:"TMS/YMS Sync",icon:"RefreshCw",description:"Push data to your existing systems automatically via native connectors"},{title:"KPI Dashboard",icon:"BarChart3",description:"Turn times, dwell metrics, and utilization reporting at a glance"}],comparison:{title:"YardLytix vs. Traditional Yard Management",columns:["YardLytix","Manual Tracking","Basic YMS"],rows:[{capability:"Gate Processing",values:["Automated OCR","Manual entry","Manual/RF scan"]},{capability:"Yard Visibility",values:["Real-time map","Paper/whiteboard","List view only"]},{capability:"Dwell Tracking",values:["Automatic + alerts","Manual checks","Basic reporting"]},{capability:"SLA Monitoring",values:["Proactive alerts","Reactive","End-of-day reports"]},{capability:"TMS Integration",values:["Native bi-directional","Manual re-entry","One-way export"]},{capability:"Accuracy",values:["98%+ OCR","Error-prone","Depends on input"]},{capability:"Setup Time",values:["Days","N/A","Weeks-Months"]}]},techSpecs:{title:"Technical Specifications",panels:[{header:"Camera & OCR Capabilities",items:["Resolution: 4K IP cameras, IR for night operation","OCR Accuracy: 98%+ on container IDs, license plates","Read Speed: <500ms per vehicle","Weather: IP67 rated, -40°F to 140°F operation","Formats: ISO 6346 containers, DOT plates, custom trailer IDs"]},{header:"Integrations",items:["TMS: Oracle TMS, Blue Yonder, Manhattan, SAP TM, MercuryGate","YMS: Yard Management Systems via API","WMS: Bi-directional dock door status","ERP: SAP, Oracle, Microsoft Dynamics","Custom: REST API, webhooks, EDI 214/990"]},{header:"Deployment Options",items:["Edge: On-premise processing, local data retention","Cloud: AWS/Azure hosted with edge sync","Hybrid: Edge processing, cloud analytics","Bandwidth: <10 Mbps per gate camera"]},{header:"Security & Compliance",items:["Encryption: TLS 1.3 in transit, AES-256 at rest","Access: RBAC with yard ops/manager/admin roles","Audit: Complete event logs with retention policy","Compliance: SOC 2 Type II, CTPAT compatible"]}]},useCases:{title:"Built for High-Volume Yard Operations",cards:[{title:"Distribution Centers",icon:"Warehouse",challenge:"100+ doors, dozens of carriers, constant trailer shuffling",solution:"Live yard map with slot optimization and carrier-specific SLA tracking"},{title:"Manufacturing Plants",icon:"Factory",challenge:"JIT delivery windows, production line dependencies",solution:"Priority alerts for production-critical trailers, dock scheduling integration"},{title:"Cross-Dock Facilities",icon:"ArrowLeftRight",challenge:"Rapid turns, minimal dwell tolerance, high volume",solution:"Real-time throughput tracking, automated bay assignment recommendations"},{title:"3PL Yards",icon:"Truck",challenge:"Multi-client operations, varied SLAs, detention chargebacks",solution:"Client-specific dwell rules, detention cost tracking, customer reporting"}]},deployments:["Edge + cloud hybrid architecture","On-prem option for air-gapped facilities","Existing camera infrastructure supported","TMS/YMS bi-directional sync"],security:["RBAC with yard ops/shift lead/manager roles","Audit trail for all gate events and slot changes","TLS 1.3 for all TMS/YMS communication","Privacy-compliant image retention policies"],related:{products:["VISTA","SENTRA"],services:["CV FastTrack","Data & Analytics Platform"],industries:["Warehousing & Logistics","Manufacturing","Retail"]},roiHref:"/outcomes?industry=logistics&usecases=yard_analytics&utm_source=solutions_hub&utm_medium=solution_card&utm_content=yardlytix",tags:{segment:["Warehousing & Logistics","Manufacturing","Retail"],capability:["Analytics","Tracking","Optimization"],deployment:["Edge","Cloud","Hybrid"]},ctaConfig:{hero:{primary:"See Your Yard in Real-Time",supporting:"Get a live demo with your facility layout",secondary:"Download Technical Datasheet →",secondaryHref:"/resources/yardlytix-datasheet"},final:{headline:"Stop Losing Money to Trailer Dwell",subhead:"YardLytix customers reduce dwell times by 15-30% in 90 days",button:"Get Your Yard Assessment",secondary:"Or call us: +1-512-200-2416"}},faqs:[{question:"What cameras do we need?",answer:"We support standard HD cameras (1080p+) with RTSP/ONVIF. If you have existing gate cameras, we can often integrate them. Our team conducts a site survey to recommend optimal placement for OCR accuracy."},{question:"How accurate is the OCR on dirty plates?",answer:"Our OCR achieves 98%+ accuracy on clean plates, 92-95% on moderately dirty plates. For challenging conditions, we use multi-frame averaging and confidence scoring. Low-confidence reads are flagged for manual verification."},{question:"Does this work with our TMS?",answer:"Yes. We have pre-built connectors for SAP TM, Blue Yonder, Oracle TMS, Manhattan, and other major systems. Appointment data syncs automatically, and yard events flow back in real-time via REST APIs."},{question:"Can we track trailers without GPS devices?",answer:"Yes. YardLytix uses camera-based tracking and slot sensors—no GPS hardware required on trailers. This works for both owned assets and third-party carriers without requiring driver cooperation."},{question:"What's the typical time to value?",answer:"Most customers see measurable dwell reduction within 6-8 weeks of pilot deployment. Full ROI (detention cost savings, turn rate improvements) is typically realized within 90 days as the system scales across all gates."}],updatedAt:"2025-01-16",seoTitle:"YardLytix — Dock & Yard Analytics | Allerin",seoDescription:"Reduce door dwell 15-30% with camera+OCR and live yard maps. TMS/YMS integration. 60-90 day PoC with KPI gates."}];function RK({solution:e,onCardClick:t,onRoiClick:s}){const a=()=>{t?.(e.slug)};return J.jsxs(aU,{className:"bg-card border border-border p-6 hover:shadow-lg hover:border-primary/20 transition-all duration-200 flex flex-col h-full","data-solution":e.slug,children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary/10 to-primary/5 rounded-lg flex items-center justify-center flex-shrink-0 border border-primary/10",children:J.jsx("span",{className:"text-2xl font-bold text-primary",children:e.name.charAt(0)})}),J.jsxs("div",{className:"flex-1 min-w-0",children:[J.jsx(tt,{to:`/solutions/${e.slug}`,onClick:a,className:"group",children:J.jsx("h3",{className:"text-lg font-bold text-foreground group-hover:text-primary transition-colors line-clamp-1",children:e.name})}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-1",children:e.promise})]})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4 line-clamp-3",children:e.sub}),J.jsx("ul",{className:"space-y-1.5 mb-4 flex-1",children:e.outcomes.slice(0,3).map((e,t)=>J.jsxs("li",{className:"text-xs text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-primary mt-0.5 flex-shrink-0",children:"•"}),J.jsx("span",{className:"line-clamp-1",children:e})]},t))}),J.jsxs("div",{className:"flex flex-wrap gap-1.5 mb-4",children:[e.tags.capability.slice(0,2).map(e=>J.jsx(hU,{variant:"outline",className:"text-xs px-2 py-0.5","aria-hidden":"true",tabIndex:-1,children:e},e)),e.tags.deployment.slice(0,1).map(e=>J.jsx(hU,{variant:"secondary",className:"text-xs px-2 py-0.5","aria-hidden":"true",tabIndex:-1,children:e},e))]}),J.jsxs("div",{className:"flex flex-col gap-2 mt-auto",children:[J.jsx(tt,{to:`/solutions/${e.slug}`,onClick:a,children:J.jsxs(oz,{className:"w-full group",size:"sm",children:["Explore ",e.name,J.jsx(Ka,{className:"ml-2 h-4 w-4 transition-transform group-hover:translate-x-1"})]})}),J.jsx(tt,{to:e.roiHref,onClick:()=>{s?.(e.slug,e.tags.segment[0])},children:J.jsx(oz,{variant:"ghost",className:"w-full text-xs text-muted-foreground hover:text-primary",size:"sm",children:"Estimate ROI"})})]})]})}const OK=[{question:"Do these solutions require replacing our existing systems?",answer:"No. Our solutions are designed to integrate with your existing infrastructure—ERP, WMS, MES, SCADA, and more. We work alongside your current systems, not instead of them."},{question:"How long does deployment typically take?",answer:"Timelines vary by solution and environment complexity. Simple deployments can be production-ready in 6-8 weeks. Enterprise-wide rollouts with multiple integrations typically run 3-6 months."},{question:"Do you offer proof-of-concept projects?",answer:"Yes, but with a production mindset. Our POCs are designed to validate performance on your actual data and conditions—not artificial test scenarios."},{question:"What industries do you support?",answer:"Our solutions are deployed across manufacturing, warehousing and logistics, insurance and financial services, transportation and rail, energy and utilities, and retail."},{question:"How do you handle data security?",answer:"Solutions can be deployed on-premise, in your private cloud, or at the edge—your data never has to leave your environment. We support SOC 2, ISO 27001, HIPAA, and other compliance frameworks."}],DK=[{icon:Rw,title:"Production-Ready, Not Demo-Ready",text:"Every solution has been deployed in production environments with real data, real edge cases, and real operational constraints. We don't sell proof-of-concepts—we sell systems that run 24/7."},{icon:_N,title:"Built for Integration",text:"Our solutions integrate with the systems you already use—SAP, Oracle, Manhattan, IBM Maximo, and 50+ enterprise platforms. No rip-and-replace required."},{icon:Uc,title:"Edge-Optimized",text:"Many solutions run at the edge for sub-100ms inference, air-gapped security, and independence from cloud connectivity. Critical for factory floors and field operations."},{icon:Of,title:"Full Lifecycle Support",text:"From deployment to retraining to expansion. Our engineering team doesn't disappear after go-live—we ensure your AI keeps improving as your operations evolve."},{icon:Rn,title:"Trained on Real Industrial Data",text:"Our models are trained on data from actual industrial environments—not sanitized datasets. That's why they perform when lighting varies, equipment ages, and conditions change."}],qK=["Deployed across 5+ industries","Integrated with SAP, Oracle, Manhattan & 50+ systems","Production-grade since day one"],EK=[{stat:"20-30%",label:"of defects missed by human inspectors",source:"Sandia National Laboratories, 2024"},{stat:"$2.3M",label:"maximum hourly cost of unplanned downtime",source:"Siemens, 2024"},{stat:"70%",label:"reduction in breakdowns with predictive maintenance",source:"Deloitte, 2024"},{stat:"95%",label:"of predictive maintenance adopters report positive ROI",source:"OxMaint Industry Study, 2025"}],zK=[{id:"manufacturing",name:"Manufacturing AI",shortName:"Manufacturing",icon:ph,segment:"Manufacturing",problemHook:"AI visual inspection achieves 99.8% accuracy on defects as small as 0.1mm—surpassing human capability. BMW reduced defect rates 30% within a year of deployment.",source:"American Society for Quality, 2024; Deloitte, 2024",sourceLink:"https://asq.org/quality-resources/"},{id:"warehousing",name:"Warehousing & Logistics AI",shortName:"Warehousing",icon:bP,segment:"Warehousing & Logistics",problemHook:"The average enterprise runs 897 applications—but only 29% are connected. AI-driven logistics bridges the data gaps that cause inventory shrinkage, pick errors, and yard congestion.",source:"MuleSoft Connectivity Benchmark, 2025",sourceLink:"https://www.mulesoft.com/lp/reports/connectivity-benchmark"},{id:"insurance",name:"Insurance & Financial AI",shortName:"Insurance",icon:Xk,segment:"Insurance & Government",problemHook:"97% of organizations experienced a Gen AI security incident last year. Financial services need AI that's built for compliance, auditability, and regulatory scrutiny from day one.",source:"Capgemini Research Institute, 2024",sourceLink:"https://www.capgemini.com/insights/research-library/"},{id:"rail",name:"Transportation & Rail AI",shortName:"Rail",icon:VC,segment:"Transportation & Rail",problemHook:"Class I railroads maintain 140,000+ miles of track. Manual inspection can't keep pace with vegetation encroachment, track degradation, and clearance violations.",source:"Federal Railroad Administration, 2024",sourceLink:"https://railroads.dot.gov/"},{id:"energy",name:"Energy & Utilities AI",shortName:"Energy",icon:$P,segment:"Energy & Utilities",problemHook:"Grid reliability, renewable integration, and aging infrastructure create unprecedented challenges. AI enables predictive operations that prevent outages and optimize generation.",source:"DOE Grid Modernization Report, 2024",sourceLink:"https://www.energy.gov/gmi/grid-modernization-initiative"},{id:"retail",name:"Retail AI",shortName:"Retail",icon:aM,segment:"Retail",problemHook:"Customer wait times directly impact satisfaction and revenue. AI-powered queue management turns checkout bottlenecks into optimized experiences.",source:"Retail Industry Leaders Association, 2024",sourceLink:"https://www.rila.org/"}];function _K(){const[e,t]=Qe.useState("manufacturing"),[s,a]=Qe.useState(!1),[r,i]=Qe.useState(!1),n=Qe.useRef(null),o=Qe.useRef(0);Qe.useEffect(()=>{const e=()=>{n.current&&o.current&&a(window.scrollY>o.current-64)},t=()=>{n.current&&(o.current=n.current.offsetTop)};return t(),window.addEventListener("scroll",e),window.addEventListener("resize",t),()=>{window.removeEventListener("scroll",e),window.removeEventListener("resize",t)}},[]);const l=e=>{const t=window.gtag;t&&t("event","solution_card_click",{label:e})},d=(e,t)=>{const s=window.gtag;s&&s("event","solution_roi_click",{label:`${t}|${e}`})},c=e=>{const t=document.getElementById(e);if(t){const e=80,s=t.getBoundingClientRect().top+window.pageYOffset-e;window.scrollTo({top:s,behavior:"smooth"})}},m=e=>TK.filter(t=>t.tags.segment.includes(e));return J.jsxs("div",{className:"min-h-screen bg-background","data-page":"solutions",children:[J.jsxs(iz,{children:[J.jsx("title",{children:"AI Solutions for Manufacturing, Logistics & Insurance | 19 Production-Ready Products | Allerin"}),J.jsx("meta",{name:"description",content:"Production-ready AI solutions for defect detection, predictive maintenance, inventory management, and claims processing. 19 solutions across 5+ industries. See which fits your needs."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/solutions"}),J.jsx("meta",{property:"og:title",content:"AI Solutions for Manufacturing, Logistics & Insurance | 19 Production-Ready Products | Allerin"}),J.jsx("meta",{property:"og:description",content:"Production-ready AI solutions for defect detection, predictive maintenance, inventory management, and claims processing. 19 solutions across 5+ industries. See which fits your needs."}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/solutions"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/solutions.webp"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"AI Solutions for Manufacturing, Logistics & Insurance | 19 Production-Ready Products | Allerin"}),J.jsx("meta",{name:"twitter:description",content:"Production-ready AI solutions for defect detection, predictive maintenance, inventory management, and claims processing. 19 solutions across 5+ industries."}),J.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/solutions.webp"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Organization",name:"Allerin",url:"https://www.allerin.com",logo:"https://www.allerin.com/allerin-favicon.png",sameAs:["https://www.linkedin.com/company/allerin","https://twitter.com/allerin"],contactPoint:{"@type":"ContactPoint",telephone:"+1-512-200-2416",contactType:"sales",email:"solutions@allerin.com"}})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://www.allerin.com"},{"@type":"ListItem",position:2,name:"Solutions",item:"https://www.allerin.com/solutions"}]})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:"AI Solutions for Manufacturing, Logistics & Insurance",description:"Production-ready AI solutions for defect detection, predictive maintenance, inventory management, and claims processing. 19 solutions across 5+ industries.",url:"https://www.allerin.com/solutions",mainEntity:{"@type":"ItemList",numberOfItems:TK.length,itemListElement:TK.map((e,t)=>({"@type":"ListItem",position:t+1,name:e.name,url:`https://www.allerin.com/solutions/${e.slug}`}))}})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:OK.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))})})]}),J.jsx(UG,{}),J.jsxs("main",{children:[J.jsx("section",{className:"py-section-y bg-gradient-hero border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-foreground mb-lg leading-tight",children:"AI Solutions That Ship to Production"}),J.jsx("p",{className:"text-xl md:text-2xl font-medium text-secondary mb-md",children:"19 Production-Ready AI Products for Manufacturing, Logistics, Insurance & Energy"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl mx-auto mb-xl",children:"Most AI demos never leave the lab. Our solutions are different—built from real production environments, hardened against edge cases, and deployed where they create measurable business impact. No proofs-of-concept that gather dust. Real software that runs."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-md justify-center items-center",children:[J.jsxs(oz,{size:"lg",onClick:()=>c("industry-tabs"),className:"h-12 px-8 text-base font-semibold bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue",children:["Find Your Solution",J.jsx(al,{className:"ml-2 h-4 w-4"})]}),J.jsxs(oz,{variant:"outline",size:"lg",onClick:()=>c("category-manufacturing"),className:"h-12 px-8 text-base font-semibold border-border hover:bg-muted",children:["Compare by Industry",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]})]})]})})}),J.jsx("section",{className:"py-lg bg-muted/50 border-b border-border",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"flex flex-col md:flex-row justify-center items-center gap-lg md:gap-2xl text-sm text-muted-foreground",children:qK.map((e,t)=>J.jsxs("div",{className:"flex items-center gap-sm",children:[J.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-data-teal flex-shrink-0","aria-hidden":"true"}),J.jsx("span",{children:e})]},t))})})}),J.jsx("section",{className:"py-section-y bg-background",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsxs("div",{className:"text-center mb-xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-md",children:"The Production Reality"}),J.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:"Industrial AI isn't a nice-to-have—it's a competitive necessity. Here's what the data shows."})]}),J.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-lg",children:EK.map((e,t)=>J.jsxs("div",{className:"bg-muted/30 border border-border rounded-lg p-lg text-center",children:[J.jsx("div",{className:"text-4xl md:text-5xl font-bold text-foreground mb-sm",children:e.stat}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-md",children:e.label}),J.jsx("p",{className:"text-xs text-muted-foreground/70",children:e.source})]},t))})]})}),J.jsx("div",{ref:n,id:"industry-tabs",className:(s?"fixed top-16 left-0 right-0 z-40 shadow-md":"")+" bg-background border-b border-border transition-shadow",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("nav",{className:"flex gap-2 md:gap-sm overflow-x-auto py-md scrollbar-hide -mx-2 px-2","aria-label":"Industry categories",children:zK.map(s=>{const a=s.icon,r=m(s.segment).length;return J.jsxs("button",{onClick:()=>{return e=s.id,t(e),void c(`category-${e}`);var e},className:"flex items-center gap-1.5 md:gap-sm px-3 md:px-lg py-2.5 min-h-[44px] rounded-lg text-sm font-medium whitespace-nowrap transition-all "+(e===s.id?"bg-primary text-primary-foreground":"bg-muted/50 text-muted-foreground hover:bg-muted hover:text-foreground"),"aria-current":e===s.id?"true":void 0,children:[J.jsx(a,{className:"h-4 w-4 flex-shrink-0"}),J.jsx("span",{children:s.shortName}),J.jsx(hU,{variant:"secondary",className:"ml-0.5 md:ml-1 text-xs px-1.5 py-0",children:r})]},s.id)})})})}),s&&J.jsx("div",{className:"h-[60px]"}),zK.map(e=>{const t=m(e.segment),s=e.icon;return J.jsx("section",{id:`category-${e.id}`,className:"py-section-y border-b border-border last:border-b-0",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsxs("div",{className:"max-w-3xl mb-xl",children:[J.jsxs("div",{className:"flex items-center gap-md mb-md",children:[J.jsx("div",{className:"p-sm bg-primary/10 rounded-lg",children:J.jsx(s,{className:"h-6 w-6 text-primary"})}),J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground",children:e.name}),J.jsxs(hU,{variant:"outline",className:"ml-auto",children:[t.length," solution",1!==t.length?"s":""]})]}),J.jsxs("p",{className:"text-lg text-muted-foreground leading-relaxed italic mb-sm",children:['"',e.problemHook,'"']}),J.jsxs("p",{className:"text-xs text-muted-foreground/70",children:["Source:"," ",e.sourceLink?J.jsx("a",{href:e.sourceLink,target:"_blank",rel:"noopener noreferrer",className:"hover:text-primary underline underline-offset-2",children:e.source}):e.source]})]}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-lg",children:t.map(e=>J.jsx(RK,{solution:e,onCardClick:l,onRoiClick:d},e.slug))}),J.jsx("div",{className:"flex justify-center",children:J.jsxs(tt,{to:`/industries/${e.id}`,className:"text-sm font-medium text-primary hover:text-primary/80 flex items-center gap-sm",children:["See all ",e.name," use cases",J.jsx(Ka,{className:"h-4 w-4"})]})})]})},e.id)}),J.jsx("section",{className:"py-section-y bg-muted/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground text-center mb-xl",children:"What Makes Our Solutions Different"}),J.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-6",children:DK.map(e=>{const t=e.icon;return J.jsxs("div",{className:"bg-background border border-border rounded-xl p-lg flex flex-col h-full hover:border-primary/30 hover:shadow-md transition-all",children:[J.jsx("div",{className:"p-sm bg-primary/10 rounded-lg w-fit mb-md",children:J.jsx(t,{className:"h-6 w-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-sm",children:e.title}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:e.text})]},e.title)})})]})}),J.jsx("section",{className:"py-section-y",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground text-center mb-xl",children:"Common Questions"}),J.jsx("div",{className:"max-w-3xl mx-auto",children:J.jsx(R$,{type:"single",collapsible:!0,className:"w-full",children:OK.map((e,t)=>J.jsxs(O$,{value:`item-${t}`,className:"border-border",children:[J.jsx(D$,{className:"text-left text-foreground hover:no-underline hover:text-primary",children:e.question}),J.jsx(q$,{className:"text-muted-foreground leading-relaxed",children:e.answer})]},t))})})]})}),J.jsx("section",{className:"py-section-y bg-muted/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground text-center mb-lg",children:"Not Sure Which Solution Fits?"}),J.jsx("div",{className:"max-w-3xl mx-auto mb-xl",children:J.jsx("div",{className:"space-y-4",children:[{problem:"Defects slipping through inspection?",solutions:[{name:"QualiZer",slug:"qualizer"},{name:"ShelfSentra",slug:"shelfsentra"}]},{problem:"Equipment failing unexpectedly?",solutions:[{name:"VibraQore",slug:"vibraqore"},{name:"ThermaSentinel",slug:"thermasentinel"}]},{problem:"Inventory accuracy issues?",solutions:[{name:"StockVexel",slug:"stockvexel"},{name:"PickPathor",slug:"pickpathor"}]},{problem:"Claims processing bottleneck?",solutions:[{name:"ClaimVista",slug:"claimvista"},{name:"DocQore",slug:"docqore"}]},{problem:"Infrastructure maintenance backlog?",solutions:[{name:"RailAurex",slug:"railaurex"},{name:"GridAurex",slug:"gridaurex"}]}].map((e,t)=>J.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between py-3 px-4 bg-background rounded-lg border border-border hover:border-primary/30 transition-colors",children:[J.jsx("span",{className:"text-foreground font-medium mb-2 sm:mb-0",children:e.problem}),J.jsx("div",{className:"flex gap-2",children:e.solutions.map((e,t)=>J.jsx(tt,{to:`/solutions/${e.slug}`,className:"text-sm font-medium text-primary hover:text-primary/80 underline underline-offset-2 transition-colors",children:e.name},t))})]},t))})}),J.jsxs("div",{className:"text-center",children:[J.jsx("p",{className:"text-muted-foreground mb-md",children:"Or tell us your industry and challenge—we'll recommend the right fit."}),J.jsx(oz,{asChild:!0,size:"lg",className:"px-8",children:J.jsx(tt,{to:"/contact?subject=Solution%20Recommendation",children:"Get a Solution Recommendation"})})]})]})}),J.jsx("section",{className:"py-20 md:py-28 bg-gradient-to-br from-primary to-primary/80",children:J.jsxs("div",{className:"container mx-auto px-6 text-center",children:[J.jsx("h2",{className:"text-2xl md:text-4xl font-bold text-primary-foreground mb-md",children:"Find the Right Solution for Your Industry"}),J.jsx("p",{className:"text-primary-foreground/90 text-lg max-w-2xl mx-auto mb-xl",children:"Whether you're solving a specific problem or exploring how AI can transform your operations, we'll help you identify the solutions that deliver measurable results."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-xl",children:[J.jsx(oz,{size:"lg",className:"bg-primary-foreground text-primary hover:bg-primary-foreground/90 px-8",onClick:()=>i(!0),children:"Schedule Solution Consultation"}),J.jsx(oz,{asChild:!0,size:"lg",className:"bg-transparent border-2 border-primary-foreground text-primary-foreground hover:bg-primary-foreground hover:text-primary px-8",children:J.jsxs("a",{href:"/docs/allerin-solutions-overview.pdf",download:!0,children:[J.jsx(zm,{className:"mr-2 h-4 w-4"}),"Download Solutions Overview"]})})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 justify-center text-primary-foreground/90",children:[J.jsx("a",{href:"mailto:solutions@allerin.com",className:"hover:text-primary-foreground transition-colors",children:"solutions@allerin.com"}),J.jsx("span",{className:"hidden sm:inline text-primary-foreground/50",children:"|"}),J.jsx("a",{href:"tel:+15122002416",className:"hover:text-primary-foreground transition-colors",children:"+1-512-200-2416"})]})]})})]}),J.jsx(KU,{}),J.jsx(BG,{open:r,onOpenChange:i,context:{sourcePage:"solutions",sourceButton:"schedule_solution_consultation"}})]})}const LK=kF({name:vF().min(2,"Name is required").max(100),email:vF().email("Valid business email required").max(255),company:vF().min(2,"Company name is required").max(100),acceptTerms:NF().refine(e=>!0===e,"You must accept the terms")});function FK({open:e,onOpenChange:t,solutionName:s,solutionSlug:a,datasheetUrl:r}){const[i,n]=Qe.useState(!1),[o,l]=Qe.useState(!1),{register:d,handleSubmit:c,formState:{errors:m},reset:h}=D_({resolver:V_(LK),defaultValues:{name:"",email:"",company:"",acceptTerms:!1}}),x=e=>{e||(h(),l(!1)),t(e)};return J.jsx(IF,{open:e,onOpenChange:x,children:J.jsxs(OF,{className:"sm:max-w-md",children:[J.jsxs(DF,{children:[J.jsxs(qF,{className:"flex items-center gap-2",children:[J.jsx(Wh,{className:"w-5 h-5 text-primary"}),"Download ",s," Datasheet"]}),J.jsx(EF,{children:"Get instant access to technical specifications, integration details, and deployment requirements."})]}),o?J.jsxs("div",{className:"py-8 text-center",children:[J.jsx("div",{className:"w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-4",children:J.jsx(Wh,{className:"w-8 h-8 text-green-600"})}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Download Starting..."}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Your datasheet should open in a new tab. If it doesn't,",r?J.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline ml-1",children:"click here"}):J.jsx("span",{className:"ml-1",children:"our team will email it to you shortly."})]}),J.jsx(oz,{onClick:()=>x(!1),children:"Close"})]}):J.jsxs("form",{onSubmit:c(async e=>{n(!0);try{const{error:t}=await qG.from("demo_requests").insert({name:e.name.trim(),email:e.email.trim().toLowerCase(),company:e.company.trim(),intent:"datasheet",source_page:`/solutions/${a}`,source_button:`Download ${s} Datasheet`,product_context:s});if(t)throw t;const i=window.gtag;i&&i("event","datasheet_download",{solution:a,solution_name:s}),l(!0),uR.success("Thank you! Your datasheet is ready to download."),setTimeout(()=>{r&&window.open(r,"_blank")},500)}catch(t){uR.error("Something went wrong. Please try again.")}finally{n(!1)}}),className:"space-y-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"name",children:"Full Name *"}),J.jsx(zF,{id:"name",placeholder:"John Smith",...d("name"),className:m.name?"border-destructive":""}),m.name&&J.jsx("p",{className:"text-xs text-destructive",children:m.name.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"email",children:"Business Email *"}),J.jsx(zF,{id:"email",type:"email",placeholder:"john@company.com",...d("email"),className:m.email?"border-destructive":""}),m.email&&J.jsx("p",{className:"text-xs text-destructive",children:m.email.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"company",children:"Company *"}),J.jsx(zF,{id:"company",placeholder:"Acme Corporation",...d("company"),className:m.company?"border-destructive":""}),m.company&&J.jsx("p",{className:"text-xs text-destructive",children:m.company.message})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(rK,{id:"acceptTerms",...d("acceptTerms")}),J.jsxs(HF,{htmlFor:"acceptTerms",className:"text-sm text-muted-foreground leading-tight",children:["I agree to receive product information and understand my data will be handled per the"," ",J.jsx("a",{href:"/legal/privacy-policy",className:"underline text-primary",children:"Privacy Policy"}),"."]})]}),m.acceptTerms&&J.jsx("p",{className:"text-xs text-destructive",children:m.acceptTerms.message}),J.jsx(oz,{type:"submit",className:"w-full",disabled:i,children:i?J.jsxs(J.Fragment,{children:[J.jsx(ay,{className:"w-4 h-4 mr-2 animate-spin"}),"Processing..."]}):J.jsxs(J.Fragment,{children:[J.jsx(Wh,{className:"w-4 h-4 mr-2"}),"Download Datasheet"]})})]})]})})}const WK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("div",{className:"relative w-full overflow-auto",children:J.jsx("table",{ref:s,className:VT("w-full caption-bottom text-sm",e),...t})}));WK.displayName="Table";const HK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("thead",{ref:s,className:VT("[&_tr]:border-b",e),...t}));HK.displayName="TableHeader";const VK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("tbody",{ref:s,className:VT("[&_tr:last-child]:border-0",e),...t}));VK.displayName="TableBody";Qe.forwardRef(({className:e,...t},s)=>J.jsx("tfoot",{ref:s,className:VT("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t})).displayName="TableFooter";const BK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("tr",{ref:s,className:VT("border-b transition-colors data-[state=selected]:bg-muted hover:bg-muted/50",e),...t}));BK.displayName="TableRow";const GK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("th",{ref:s,className:VT("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));GK.displayName="TableHead";const UK=Qe.forwardRef(({className:e,...t},s)=>J.jsx("td",{ref:s,className:VT("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));UK.displayName="TableCell";Qe.forwardRef(({className:e,...t},s)=>J.jsx("caption",{ref:s,className:VT("mt-4 text-sm text-muted-foreground",e),...t})).displayName="TableCaption";function $K(){const{slug:e}=st(),t=e?function(e){return TK.find(t=>t.slug===e)}(e):void 0,[s,a]=Qe.useState(!1),[r,i]=Qe.useState(!1);if(!t)return J.jsx(rt,{to:"/solutions",replace:!0});const n=`https://www.allerin.com/solutions/${t.slug}`;return J.jsxs("div",{className:"min-h-screen bg-background","data-solution":t.slug,children:[J.jsxs(iz,{children:[J.jsx("title",{children:t.seoTitle}),J.jsx("meta",{name:"description",content:t.seoDescription}),J.jsx("link",{rel:"canonical",href:n}),J.jsx("meta",{property:"og:title",content:t.seoTitle}),J.jsx("meta",{property:"og:description",content:t.seoDescription}),J.jsx("meta",{property:"og:url",content:n}),J.jsx("meta",{property:"og:image",content:`https://www.allerin.com/og/solutions-${t.slug}.webp`}),J.jsx("meta",{property:"og:image:width",content:"1200"}),J.jsx("meta",{property:"og:image:height",content:"630"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:t.seoTitle}),J.jsx("meta",{name:"twitter:description",content:t.seoDescription}),J.jsx("meta",{name:"twitter:image",content:`https://www.allerin.com/og/solutions-${t.slug}.webp`}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Service",name:t.name,description:t.seoDescription,url:n,areaServed:"Global",isRelatedTo:[{"@type":"SoftwareApplication",name:"SENTRA"},{"@type":"SoftwareApplication",name:"VISTA"},{"@type":"Service",name:"CV FastTrack"},{"@type":"Service",name:"Data & Analytics Platform"},{"@type":"Service",name:"MLOps"}],offers:{"@type":"Offer",price:"0",priceCurrency:"USD",category:"Demo"},dateModified:t.updatedAt})}),t.faqs&&t.faqs.length>0&&J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.faqs.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))})})]}),J.jsx(UG,{}),J.jsxs("main",{children:[J.jsx("section",{className:"py-4 border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx(hK,{children:J.jsxs(xK,{children:[J.jsx(uK,{children:J.jsx(pK,{href:"/",children:"Home"})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(pK,{href:"/solutions",children:"Solutions"})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(gK,{children:t.name})})]})})})}),J.jsx("section",{className:"py-16 bg-gradient-hero border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"grid md:grid-cols-[1.2fr_1fr] gap-12 items-center",children:[J.jsxs("div",{className:"max-w-xl",children:[J.jsxs("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-4",children:[t.name," — ",t.promise]}),J.jsx("p",{className:"text-xl text-muted-foreground mb-4",children:t.sub}),t.description&&J.jsx("p",{className:"text-base text-muted-foreground mb-6",children:t.description}),J.jsxs("div",{className:"flex gap-3 flex-wrap mb-8",children:[J.jsx(hU,{variant:"secondary",children:"60–90 day"}),J.jsx(hU,{variant:"secondary",children:"KPI-gated"}),t.tags.deployment.map((e,t)=>J.jsx(hU,{variant:"secondary",children:e},t))]}),t.heroScopeDefinition&&J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-8",children:[J.jsxs("div",{className:"bg-emerald-50 dark:bg-emerald-950/30 rounded-lg p-5 border border-emerald-200 dark:border-emerald-800/50",children:[J.jsx("h3",{className:"font-semibold text-emerald-800 dark:text-emerald-300 mb-3 text-sm uppercase tracking-wide",children:t.heroScopeDefinition.capabilities.title}),J.jsx("ul",{className:"space-y-2",children:t.heroScopeDefinition.capabilities.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(el,{className:"w-4 h-4 text-emerald-600 dark:text-emerald-400 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{className:"bg-amber-50 dark:bg-amber-950/30 rounded-lg p-5 border border-amber-200 dark:border-amber-800/50",children:[J.jsx("h3",{className:"font-semibold text-amber-800 dark:text-amber-300 mb-3 text-sm uppercase tracking-wide",children:t.heroScopeDefinition.limitations.title}),J.jsx("ul",{className:"space-y-2",children:t.heroScopeDefinition.limitations.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-amber-600 dark:text-amber-400 mt-0.5 flex-shrink-0",children:"•"}),J.jsx("span",{children:e})]},t))})]})]}),J.jsxs("div",{className:"flex flex-col gap-4",children:[J.jsxs("div",{className:"flex gap-4 flex-wrap items-center",children:[J.jsx(oz,{size:"lg",onClick:()=>{a(!0);const t=window.gtag;t&&t("event","solution_demo_click",{label:e})},children:t.ctaConfig?.hero?.primary||`See ${t.name} in Action`}),J.jsx(tt,{to:t.roiHref,onClick:()=>{const t=window.gtag;t&&t("event","solution_roi_click",{label:e})},children:J.jsx(oz,{size:"lg",variant:"link",children:"Estimate ROI"})})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:t.ctaConfig?.hero?.supporting||"Book a 15-minute live demo with our CV team"}),t.ctaConfig?.hero?.secondary&&J.jsx("button",{onClick:()=>{i(!0);const t=window.gtag;t&&t("event","datasheet_modal_open",{label:e})},className:"text-sm text-data-teal hover:text-data-orange underline cursor-pointer text-left",children:t.ctaConfig.hero.secondary})]})]}),J.jsx("div",{className:"hidden md:flex items-center justify-center",children:t.heroImage?J.jsx("img",{src:t.heroImage,alt:`${t.name} product visualization`,className:"w-full rounded-lg shadow-xl object-contain",loading:"eager",width:640,height:400}):J.jsx("div",{className:"w-full aspect-[4/3] bg-surface/50 rounded-lg border border-outline/20 flex items-center justify-center",children:J.jsx("span",{className:"text-muted-foreground text-sm",children:"Product visual"})})})]})})}),t.networkComparison&&J.jsx("section",{className:"py-12 bg-surface/50 border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-4",children:t.networkComparison.title}),J.jsx("p",{className:"text-muted-foreground mb-8",children:t.networkComparison.intro}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6 mb-8",children:t.networkComparison.comparison.map((e,t)=>J.jsxs("div",{className:"p-6 rounded-lg border "+(0===t?"bg-muted/30 border-outline/30":"bg-primary/5 border-primary/20"),children:[J.jsx("h3",{className:"font-bold text-lg mb-2 "+(0===t?"text-muted-foreground":"text-primary"),children:e.label}),J.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:e.description}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Ka,{className:"w-4 h-4 text-primary"}),J.jsx("span",{className:"font-semibold text-foreground",children:e.outcome})]})]},t))}),J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-4 border-primary/30 pl-4",children:t.networkComparison.footer})]})})}),t.targetMarket&&J.jsx("section",{className:"py-12 bg-background border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-4",children:t.targetMarket.title}),t.targetMarket.intro&&J.jsx("p",{className:"text-muted-foreground mb-8",children:t.targetMarket.intro}),J.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-8",children:t.targetMarket.segments.map((e,t)=>{const s=e.icon?QP[e.icon]:null;return J.jsxs("div",{className:"p-6 bg-surface rounded-lg border border-outline/20 hover:border-primary/30 transition-colors",children:[s&&J.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center mb-4",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:e.name}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:e.description})]},t)})}),t.targetMarket.note&&J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-4 border-primary/30 pl-4",children:t.targetMarket.note})]})})}),!t.measuredOutcomes&&!t.provenResults&&J.jsx("section",{className:"pt-12 pb-12 bg-muted/30 border-t border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("dl",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6 max-w-4xl mx-auto text-center",children:t.outcomes.slice(0,3).map((e,t)=>{const s=(e=>{const t=e.match(/^(.+?)\s*([↓↑])\s*(.+)$/);return t?{label:t[1].trim(),direction:t[2],value:t[3].trim()}:{label:e,direction:"",value:""}})(e);return J.jsxs("div",{className:"p-6",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground mb-2 uppercase tracking-wide",children:s.label}),J.jsxs("dd",{className:"text-4xl md:text-5xl font-bold text-primary",children:[s.direction," ",s.value]})]},t)})})})}),t.provenResults&&J.jsx("section",{className:"py-16 bg-muted/30 border-t border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-10 text-left",children:t.provenResults.title}),J.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:t.provenResults.metrics.map((e,t)=>J.jsxs(aU,{className:"h-full text-center",children:[J.jsx(rU,{className:"pb-2",children:J.jsx("p",{className:"text-sm font-medium text-muted-foreground uppercase tracking-wide",children:e.label})}),J.jsxs(oU,{className:"pt-0",children:[J.jsx("p",{className:"text-3xl md:text-4xl font-bold text-primary mb-3",children:e.value}),J.jsx("p",{className:"text-sm text-muted-foreground italic leading-relaxed",children:e.context})]})]},t))})]})})}),t.measuredOutcomes&&J.jsx("section",{className:"py-16 bg-muted/30 border-t border-b border-outline/20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-8 text-left",children:t.measuredOutcomes.title}),J.jsx("div",{className:"overflow-x-auto rounded-lg border border-outline/20",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/50",children:[J.jsx(GK,{className:"font-semibold text-foreground",children:"Metric"}),J.jsxs(GK,{className:"font-semibold text-foreground",children:["Before ",t.name]}),J.jsxs(GK,{className:"font-semibold text-foreground",children:["With ",t.name]}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Improvement"})]})}),J.jsx(VK,{children:t.measuredOutcomes.rows.map((e,t)=>J.jsxs(BK,{className:t%2==0?"bg-background":"bg-muted/20",children:[J.jsx(UK,{className:"font-medium text-foreground",children:e.metric}),J.jsx(UK,{className:"text-muted-foreground",children:e.before}),J.jsx(UK,{className:"text-foreground font-medium",children:e.after}),J.jsx(UK,{className:"text-primary font-semibold",children:e.improvement})]},t))})]})}),t.measuredOutcomes.disclaimer&&J.jsxs("p",{className:"text-sm text-muted-foreground mt-4 italic",children:["*",t.measuredOutcomes.disclaimer]})]})})}),t.standardsCompliance&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsxs("div",{className:"flex items-start gap-6",children:[J.jsx("div",{className:"flex-shrink-0 w-20 h-20 bg-emerald-100 dark:bg-emerald-900/30 rounded-xl flex items-center justify-center border-2 border-emerald-500 dark:border-emerald-600",children:J.jsx(Gk,{className:"w-10 h-10 text-emerald-600 dark:text-emerald-400"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[J.jsx("h2",{className:"text-2xl font-bold text-foreground",children:t.standardsCompliance.title}),J.jsx(hU,{variant:"outline",className:"bg-emerald-50 dark:bg-emerald-900/30 border-emerald-500 text-emerald-700 dark:text-emerald-400 font-semibold px-3 py-1",children:t.standardsCompliance.standard})]}),J.jsx("p",{className:"text-lg text-muted-foreground mb-6 leading-relaxed",children:t.standardsCompliance.statement}),J.jsx("ul",{className:"space-y-3 mb-6",children:t.standardsCompliance.bullets.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Tl,{className:"w-5 h-5 text-emerald-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-foreground leading-relaxed",children:e})]},t))}),t.standardsCompliance.note&&J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-4 border-emerald-400/50 pl-4 bg-emerald-50/50 dark:bg-emerald-950/20 py-3 pr-4 rounded-r",children:t.standardsCompliance.note})]})]})})})}),t.regulatoryCompliance?.regulations&&J.jsx("section",{className:"py-20 bg-slate-50 dark:bg-slate-900/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-10",children:[J.jsx("div",{className:"flex-shrink-0 w-14 h-14 bg-emerald-100 dark:bg-emerald-900/40 rounded-xl flex items-center justify-center border-2 border-emerald-500 dark:border-emerald-600",children:J.jsx(Gk,{className:"w-7 h-7 text-emerald-600 dark:text-emerald-400"})}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2",children:t.regulatoryCompliance.title}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:t.regulatoryCompliance.intro})]})]}),J.jsxs("div",{className:"grid lg:grid-cols-3 gap-8",children:[J.jsxs(aU,{className:"border-2 border-emerald-200 dark:border-emerald-800/50 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-emerald-100 dark:bg-emerald-900/50 flex items-center justify-center",children:J.jsx(Qi,{className:"w-5 h-5 text-emerald-600 dark:text-emerald-400"})}),J.jsx(iU,{className:"text-lg",children:"EPA NSPS Compliance"})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-4",children:t.regulatoryCompliance.regulations.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Tl,{className:"w-5 h-5 text-emerald-500 mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold text-foreground",children:e.name}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},t))})})]}),t.regulatoryCompliance.frequencies&&J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Yu,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.regulatoryCompliance.frequencies.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-4",children:t.regulatoryCompliance.frequencies.items.map((e,t)=>J.jsxs("li",{className:"border-b border-outline/20 last:border-0 pb-3 last:pb-0",children:[J.jsx("p",{className:"font-semibold text-primary",children:e.frequency}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.applicability})]},t))})})]}),t.regulatoryCompliance.features&&J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(ux,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.regulatoryCompliance.features.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.regulatoryCompliance.features.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]})]}),t.regulatoryCompliance.disclaimer&&J.jsx("div",{className:"mt-8 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800/50 rounded-lg p-5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Wg,{className:"w-5 h-5 text-amber-600 dark:text-amber-400 mt-0.5 flex-shrink-0"}),J.jsx("p",{className:"text-sm text-amber-800 dark:text-amber-300 leading-relaxed",children:t.regulatoryCompliance.disclaimer})]})})]})})}),t.detectionPerformance&&J.jsx("section",{className:"py-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-3",children:t.detectionPerformance.title}),t.detectionPerformance.intro&&J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.detectionPerformance.intro}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 mb-10",children:[J.jsx("div",{className:"overflow-x-auto rounded-lg border border-outline/20 bg-white dark:bg-slate-800/50",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/50",children:[J.jsx(GK,{className:"font-semibold text-foreground",children:"Leak Rate"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Probability of Detection"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Conditions"})]})}),J.jsx(VK,{children:t.detectionPerformance.performanceTable.map((e,t)=>J.jsxs(BK,{className:t%2==0?"bg-background":"bg-muted/20",children:[J.jsx(UK,{className:"font-medium text-foreground",children:e.leakRate}),J.jsx(UK,{className:"text-primary font-semibold",children:e.probability}),J.jsx(UK,{className:"text-muted-foreground",children:e.conditions})]},t))})]})}),J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(zk,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.detectionPerformance.operatingEnvelope.title})]})}),J.jsx(oU,{children:J.jsx("dl",{className:"space-y-4",children:t.detectionPerformance.operatingEnvelope.specs.map((e,t)=>J.jsxs("div",{className:"flex justify-between items-start border-b border-outline/20 last:border-0 pb-3 last:pb-0",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:e.parameter}),J.jsx("dd",{className:"text-sm font-semibold text-foreground text-right",children:e.value})]},t))})})]})]}),(t.detectionPerformance.accuracyMetrics||t.detectionPerformance.alertTuning)&&J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 mb-10",children:[t.detectionPerformance.accuracyMetrics&&J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Wo,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.detectionPerformance.accuracyMetrics.title})]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-4",children:t.detectionPerformance.accuracyMetrics.metrics.map((e,t)=>J.jsxs("div",{className:"border-b border-outline/20 last:border-0 pb-4 last:pb-0",children:[J.jsxs("div",{className:"flex justify-between items-center mb-1",children:[J.jsx("span",{className:"font-medium text-foreground",children:e.metric}),J.jsx("span",{className:"text-xl font-bold text-primary",children:e.value})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.context})]},t))})})]}),t.detectionPerformance.alertTuning&&J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(XC,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.detectionPerformance.alertTuning.title})]})}),J.jsxs(oU,{children:[J.jsx("ul",{className:"space-y-3 mb-4",children:t.detectionPerformance.alertTuning.results.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))}),t.detectionPerformance.alertTuning.methodology&&J.jsxs("p",{className:"text-xs text-muted-foreground italic border-t border-outline/20 pt-3",children:[J.jsx("strong",{children:"Methodology:"})," ",t.detectionPerformance.alertTuning.methodology]})]})]})]}),t.detectionPerformance.validation&&J.jsx("div",{className:"bg-slate-100 dark:bg-slate-800/30 rounded-lg p-6 mb-6",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center",children:J.jsx(Xk,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:t.detectionPerformance.validation.title}),J.jsx("ul",{className:"grid sm:grid-cols-2 gap-2",children:t.detectionPerformance.validation.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})]})]})}),t.detectionPerformance.appendixKCompliance&&J.jsx("div",{className:"bg-emerald-50 dark:bg-emerald-950/30 border border-emerald-200 dark:border-emerald-800/50 rounded-lg p-6 mb-6",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 bg-emerald-100 dark:bg-emerald-900/50 rounded-lg flex items-center justify-center",children:J.jsx(Gk,{className:"w-5 h-5 text-emerald-600 dark:text-emerald-400"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"font-semibold text-emerald-900 dark:text-emerald-200 mb-3",children:t.detectionPerformance.appendixKCompliance.title}),J.jsx("ul",{className:"grid sm:grid-cols-2 gap-2",children:t.detectionPerformance.appendixKCompliance.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-emerald-600 dark:text-emerald-400 mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-emerald-800 dark:text-emerald-300",children:e})]},t))})]})]})}),t.detectionPerformance.validationNote&&J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-4 border-primary/30 pl-4 py-2 bg-muted/30 rounded-r",children:t.detectionPerformance.validationNote})]})})}),t.flareMonitoring&&J.jsx("section",{className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"grid lg:grid-cols-[1fr_45%] gap-10 mb-10",children:[J.jsx("div",{children:J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"flex-shrink-0 w-14 h-14 bg-orange-100 dark:bg-orange-900/40 rounded-xl flex items-center justify-center border-2 border-orange-500 dark:border-orange-600",children:J.jsx(Wx,{className:"w-7 h-7 text-orange-600 dark:text-orange-400"})}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2",children:t.flareMonitoring.title}),t.flareMonitoring.intro&&J.jsx("p",{className:"text-lg text-muted-foreground",children:t.flareMonitoring.intro})]})]})}),t.flareMonitoring.image&&J.jsx("div",{className:"rounded-xl overflow-hidden border border-outline/30 shadow-lg",children:J.jsx("img",{src:t.flareMonitoring.image,alt:`${t.flareMonitoring.title} - Pilot flame monitoring interface`,className:"w-full h-auto object-cover",loading:"lazy",width:640,height:400})})]}),J.jsx("div",{className:"grid lg:grid-cols-2 gap-8 mb-10",children:t.flareMonitoring.sections.map((e,t)=>{const s=QP[e.icon]||Wx;return J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-orange-100 dark:bg-orange-900/40 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-orange-600 dark:text-orange-400"})}),J.jsx(iU,{className:"text-lg",children:e.heading})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-3",children:e.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-orange-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]},t)})}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 mb-8",children:[t.flareMonitoring.monitoringParameters&&J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Ns,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.flareMonitoring.monitoringParameters.title})]})}),J.jsx(oU,{children:J.jsx("dl",{className:"space-y-4",children:t.flareMonitoring.monitoringParameters.parameters.map((e,t)=>J.jsxs("div",{className:"border-b border-outline/20 last:border-0 pb-3 last:pb-0",children:[J.jsx("dt",{className:"font-medium text-foreground mb-1",children:e.name}),J.jsx("dd",{className:"text-sm text-muted-foreground",children:e.description})]},t))})})]}),t.flareMonitoring.complianceSupport&&J.jsxs(aU,{className:"border-2 border-emerald-200 dark:border-emerald-800/50 bg-emerald-50/50 dark:bg-emerald-950/20",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-emerald-100 dark:bg-emerald-900/50 flex items-center justify-center",children:J.jsx(Gk,{className:"w-5 h-5 text-emerald-600 dark:text-emerald-400"})}),J.jsx(iU,{className:"text-lg",children:t.flareMonitoring.complianceSupport.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-3",children:t.flareMonitoring.complianceSupport.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Tl,{className:"w-4 h-4 text-emerald-600 dark:text-emerald-400 mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-emerald-800 dark:text-emerald-300",children:e})]},t))})})]})]}),t.flareMonitoring.integrationNote&&J.jsx("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800/50 rounded-lg p-5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Wg,{className:"w-5 h-5 text-amber-600 dark:text-amber-400 mt-0.5 flex-shrink-0"}),J.jsx("p",{className:"text-sm text-amber-800 dark:text-amber-300 leading-relaxed",children:t.flareMonitoring.integrationNote})]})})]})})}),t.sensorCompatibility&&J.jsx("section",{className:"py-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"grid lg:grid-cols-[1fr_45%] gap-10 mb-10 items-start",children:[J.jsxs("div",{children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-3",children:t.sensorCompatibility.title}),t.sensorCompatibility.intro&&J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:t.sensorCompatibility.intro})]}),t.sensorCompatibility.image&&J.jsx("div",{className:"rounded-xl overflow-hidden border border-outline/30 shadow-lg",children:J.jsx("img",{src:t.sensorCompatibility.image,alt:`${t.sensorCompatibility.title} - OGI camera interface showing thermal detection`,className:"w-full h-auto object-cover",loading:"lazy",width:640,height:400})})]}),J.jsx("div",{className:"grid md:grid-cols-3 gap-6 mb-10",children:t.sensorCompatibility.categories.map((e,t)=>{const s=QP[e.icon]||co;return J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:e.heading})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-3",children:e.sensors.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.supported?J.jsx(Tl,{className:"w-5 h-5 text-emerald-500"}):J.jsx(Ld,{className:"w-5 h-5 text-muted-foreground"})}),J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground",children:e.name}),e.description&&J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},t))})})]},t)})}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[t.sensorCompatibility.dataRequirements&&J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(ux,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.sensorCompatibility.dataRequirements.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.sensorCompatibility.dataRequirements.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]}),t.sensorCompatibility.comingSoon&&J.jsxs(aU,{className:"border border-dashed border-primary/40 bg-primary/5 dark:bg-primary/10",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/20 flex items-center justify-center",children:J.jsx(WM,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.sensorCompatibility.comingSoon.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.sensorCompatibility.comingSoon.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Ld,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]})]})]})})}),t.quantificationCapability&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-3",children:t.quantificationCapability.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.quantificationCapability.intro}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6 mb-10",children:t.quantificationCapability.supportedMethods.map((e,t)=>{const s=QP[e.icon]||Yu;return J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg font-semibold",children:e.name})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})})]},t)})}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Wo,{className:"w-4 h-4 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.quantificationCapability.outputMetrics.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.quantificationCapability.outputMetrics.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]}),J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(XC,{className:"w-4 h-4 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.quantificationCapability.useCases.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.quantificationCapability.useCases.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]})]}),t.quantificationCapability.fallbackNote&&J.jsx("p",{className:"mt-8 text-sm text-muted-foreground italic border-l-2 border-primary/50 pl-4",children:t.quantificationCapability.fallbackNote})]})})}),t.targetMarket&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-3",children:t.targetMarket.title}),t.targetMarket.intro&&J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.targetMarket.intro}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:t.targetMarket.segments.map((e,t)=>{const s=QP[e.icon]||Rn;return J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50 hover:shadow-lg transition-shadow",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg font-semibold",children:e.name})]})}),J.jsxs(oU,{className:"space-y-3",children:[J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description}),e.highlight&&J.jsxs("p",{className:"text-sm font-medium text-primary flex items-start gap-2",children:[J.jsx($P,{className:"w-4 h-4 mt-0.5 flex-shrink-0"}),e.highlight]})]})]},t)})})]})})}),t.cmmsIntegration&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-3",children:t.cmmsIntegration.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.cmmsIntegration.intro}),J.jsxs("div",{className:"grid lg:grid-cols-3 gap-8",children:[J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(VP,{className:"w-5 h-5 text-primary"}),"Supported Platforms"]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-2",children:t.cmmsIntegration.platforms.map((e,t)=>{const s=QP[e.icon]||qk;return J.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-border/30 last:border-0",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(s,{className:"w-4 h-4 text-muted-foreground"}),J.jsx("span",{className:"text-sm font-medium",children:e.name})]}),J.jsx(hU,{variant:"outline",className:"text-xs font-mono bg-muted/50 whitespace-nowrap",children:e.integrationType})]},t)})})})]}),J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(zm,{className:"w-5 h-5 text-primary"}),"Export Formats"]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-4",children:t.cmmsIntegration.exportFormats.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{variant:"outline",className:"bg-primary/10 text-primary border-primary/30 font-mono mt-0.5",children:e.format}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e.description})]},t))})})]}),J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(ux,{className:"w-5 h-5 text-primary"}),t.cmmsIntegration.workOrderContents.title]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.cmmsIntegration.workOrderContents.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]})]})]})})}),t.securityCompliance&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-3",children:t.securityCompliance.title}),t.securityCompliance.intro&&J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.securityCompliance.intro}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-6",children:[J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(hy,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.securityCompliance.dataSecurity.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.securityCompliance.dataSecurity.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]}),J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(GI,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.securityCompliance.userRoles.title})]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-3",children:t.securityCompliance.userRoles.roles.map((e,t)=>{const s=QP[e.icon]||GI;return J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"w-8 h-8 rounded bg-muted/50 flex items-center justify-center flex-shrink-0",children:J.jsx(s,{className:"w-4 h-4 text-muted-foreground"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:e.name}),J.jsx("p",{className:"text-xs text-muted-foreground",children:e.description})]})]},t)})})})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(ux,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.securityCompliance.auditCompliance.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.securityCompliance.auditCompliance.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]}),J.jsxs(aU,{className:"border border-outline/30 bg-white dark:bg-slate-800/50",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(qk,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:t.securityCompliance.integrationSecurity.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.securityCompliance.integrationSecurity.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]})]})]})})}),t.scopeClarification&&J.jsx("section",{className:"py-8",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl mx-auto bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800/50 rounded-lg p-6",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 bg-amber-100 dark:bg-amber-900/50 rounded-full flex items-center justify-center",children:J.jsx(Wg,{className:"w-5 h-5 text-amber-700 dark:text-amber-400"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-amber-900 dark:text-amber-200 mb-2",children:t.scopeClarification.title}),J.jsx("p",{className:"text-amber-800 dark:text-amber-300 mb-3 leading-relaxed",children:t.scopeClarification.text}),J.jsx("p",{className:"text-sm text-amber-700 dark:text-amber-400 italic",children:t.scopeClarification.note})]})]})})})}),t.workflowContext&&J.jsx("section",{className:"py-16 border-b border-outline/10",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-6",children:t.workflowContext.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-6 leading-relaxed",children:t.workflowContext.intro}),J.jsx("ul",{className:"space-y-3",children:t.workflowContext.bullets.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Tl,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-foreground",children:e})]},t))})]})})}),t.defectTaxonomy&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-10",children:t.defectTaxonomy.title}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:t.defectTaxonomy.categories.map((e,t)=>{const s=QP[e.icon]||vf;return J.jsxs(aU,{className:"border border-outline/20 hover:border-primary/30 transition-colors",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:e.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:e.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]},t)})}),t.defectTaxonomy.note&&J.jsxs("p",{className:"mt-8 text-sm text-muted-foreground italic text-center max-w-3xl mx-auto",children:["Note: ",t.defectTaxonomy.note]})]})}),t.thermalDefectTaxonomy&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-10",children:t.thermalDefectTaxonomy.title}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:t.thermalDefectTaxonomy.categories.map((e,t)=>{const s=QP[e.icon]||uC;return J.jsxs(aU,{className:"border border-outline/20 hover:border-primary/30 transition-colors",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:e.title})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:e.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]},t)})}),J.jsxs("div",{className:"max-w-3xl",children:[J.jsx("h3",{className:"text-xl font-semibold mb-6",children:"Severity Classification"}),J.jsx("div",{className:"grid sm:grid-cols-3 gap-4",children:t.thermalDefectTaxonomy.severityLevels.map((e,t)=>{const s={yellow:"bg-yellow-50 dark:bg-yellow-950/30 border-yellow-200 dark:border-yellow-800/50",orange:"bg-orange-50 dark:bg-orange-950/30 border-orange-200 dark:border-orange-800/50",red:"bg-red-50 dark:bg-red-950/30 border-red-200 dark:border-red-800/50"},a={yellow:"text-yellow-800 dark:text-yellow-300",orange:"text-orange-800 dark:text-orange-300",red:"text-red-800 dark:text-red-300"},r={yellow:"bg-yellow-500",orange:"bg-orange-500",red:"bg-red-500"};return J.jsxs("div",{className:`p-4 rounded-lg border ${s[e.color]||s.yellow}`,children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx("span",{className:`w-3 h-3 rounded-full ${r[e.color]||r.yellow}`}),J.jsx("span",{className:`font-semibold ${a[e.color]||a.yellow}`,children:e.level})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]},t)})})]})]})}),t.pvDefectTaxonomy&&J.jsx("section",{className:"py-16 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 mb-12",children:[J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:t.pvDefectTaxonomy.title}),t.pvDefectTaxonomy.intro&&J.jsx("p",{className:"text-lg text-muted-foreground mb-6",children:t.pvDefectTaxonomy.intro}),t.pvDefectTaxonomy.thermalImage&&J.jsxs("div",{className:"rounded-xl overflow-hidden border border-border/50 shadow-lg",children:[J.jsx("img",{src:t.pvDefectTaxonomy.thermalImage,alt:"RGB and thermal split view showing hotspot detection",className:"w-full h-auto",loading:"lazy"}),J.jsx("div",{className:"bg-muted/50 px-4 py-2 border-t border-border/30",children:J.jsx("p",{className:"text-xs text-muted-foreground",children:"RGB/Thermal split view with hotspot detection and production loss estimation"})})]})]}),t.pvDefectTaxonomy.arrayImage&&J.jsx("div",{children:J.jsxs("div",{className:"rounded-xl overflow-hidden border border-border/50 shadow-lg",children:[J.jsx("img",{src:t.pvDefectTaxonomy.arrayImage,alt:"Array-level monitoring showing string outage and PID detection",className:"w-full h-auto",loading:"lazy"}),J.jsx("div",{className:"bg-muted/50 px-4 py-2 border-t border-border/30",children:J.jsx("p",{className:"text-xs text-muted-foreground",children:"Array-level monitoring with string outage detection and anomaly summary"})})]})})]}),J.jsx("div",{className:"space-y-8 mb-12",children:t.pvDefectTaxonomy.categories.map((e,t)=>{const s=QP[e.icon]||vf;return J.jsxs(aU,{className:"border border-outline/20 overflow-hidden",children:[J.jsx(rU,{className:"bg-surface pb-4",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-xl",children:e.title})]})}),J.jsx(oU,{className:"p-0",children:J.jsx("div",{className:"overflow-x-auto",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/50",children:[J.jsx(GK,{className:"font-semibold text-foreground min-w-[140px]",children:"Defect"}),J.jsx(GK,{className:"font-semibold text-foreground min-w-[200px]",children:"Thermal Signature"}),J.jsx(GK,{className:"font-semibold text-foreground min-w-[100px]",children:"ΔT Range"}),J.jsx(GK,{className:"font-semibold text-foreground min-w-[80px]",children:"Severity"}),J.jsx(GK,{className:"font-semibold text-foreground min-w-[200px]",children:"Recommended Action"})]})}),J.jsx(VK,{children:e.defects.map((e,t)=>J.jsxs(BK,{className:t%2==0?"bg-background":"bg-muted/20",children:[J.jsx(UK,{className:"font-medium text-foreground",children:e.name}),J.jsx(UK,{className:"text-muted-foreground text-sm",children:e.thermalSignature}),J.jsx(UK,{className:"font-mono text-sm",children:e.deltaT}),J.jsx(UK,{children:J.jsx(hU,{variant:"outline",className:`${{Minor:"bg-yellow-100 dark:bg-yellow-900/30 text-yellow-800 dark:text-yellow-300 border-yellow-300 dark:border-yellow-700",Serious:"bg-orange-100 dark:bg-orange-900/30 text-orange-800 dark:text-orange-300 border-orange-300 dark:border-orange-700",Critical:"bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-300 border-red-300 dark:border-red-700"}[e.severity]} text-xs font-medium`,children:e.severity})}),J.jsx(UK,{className:"text-sm text-muted-foreground",children:e.action})]},t))})]})})})]},t)})}),J.jsxs("div",{className:"bg-surface rounded-lg border border-outline/20 overflow-hidden",children:[J.jsxs("div",{className:"bg-muted/50 px-6 py-4 border-b border-outline/20",children:[J.jsx("h3",{className:"text-xl font-semibold",children:"ΔT Classification System"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Per IEC 62446-3 thermal inspection guidelines"})]}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/30",children:[J.jsx(GK,{className:"font-semibold text-foreground",children:"Severity"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Temperature Delta (ΔT)"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Action"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Timeframe"})]})}),J.jsx(VK,{children:t.pvDefectTaxonomy.severityLegend.map((e,t)=>{const s={green:"bg-emerald-500",yellow:"bg-yellow-500",orange:"bg-orange-500",red:"bg-red-500"},a={green:"bg-emerald-100 dark:bg-emerald-900/30 text-emerald-800 dark:text-emerald-300 border-emerald-300 dark:border-emerald-700",yellow:"bg-yellow-100 dark:bg-yellow-900/30 text-yellow-800 dark:text-yellow-300 border-yellow-300 dark:border-yellow-700",orange:"bg-orange-100 dark:bg-orange-900/30 text-orange-800 dark:text-orange-300 border-orange-300 dark:border-orange-700",red:"bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-300 border-red-300 dark:border-red-700"};return J.jsxs(BK,{className:t%2==0?"bg-background":"bg-muted/20",children:[J.jsx(UK,{children:J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:`w-3 h-3 rounded-full flex-shrink-0 ${s[e.color]||s.yellow}`}),J.jsx(hU,{variant:"outline",className:`${a[e.color]||a.yellow} font-medium`,children:e.level})]})}),J.jsx(UK,{className:"font-mono text-sm font-medium",children:e.deltaT}),J.jsx(UK,{className:"font-medium",children:e.action}),J.jsx(UK,{className:"text-muted-foreground",children:e.timeframe})]},t)})})]})})]}),t.pvDefectTaxonomy.note&&J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-4 border-primary/30 pl-4 mt-8 max-w-4xl bg-muted/30 py-3 pr-4 rounded-r",children:t.pvDefectTaxonomy.note}),t.pvDefectTaxonomy.accuracyMethodology&&J.jsxs("div",{className:"mt-16 pt-12 border-t border-border/50",children:[J.jsx("h3",{className:"text-2xl font-bold mb-2",children:t.pvDefectTaxonomy.accuracyMethodology.title}),J.jsx("p",{className:"text-muted-foreground mb-8",children:t.pvDefectTaxonomy.accuracyMethodology.validationSummary}),J.jsxs("div",{className:"grid lg:grid-cols-3 gap-8",children:[J.jsxs("div",{className:"lg:col-span-2",children:[J.jsx("div",{className:"rounded-xl border border-border/50 overflow-hidden",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/50",children:[J.jsx(GK,{className:"font-semibold",children:"Defect Type"}),J.jsx(GK,{className:"font-semibold text-center",children:"Precision"}),J.jsx(GK,{className:"font-semibold text-center",children:"Recall"}),J.jsx(GK,{className:"font-semibold text-center",children:"F1 Score"})]})}),J.jsx(VK,{children:t.pvDefectTaxonomy.accuracyMethodology.performanceTable.map((e,t)=>J.jsxs(BK,{className:"hover:bg-muted/30",children:[J.jsx(UK,{className:"font-medium",children:e.defectType}),J.jsx(UK,{className:"text-center font-mono text-sm",children:e.precision}),J.jsx(UK,{className:"text-center font-mono text-sm",children:e.recall}),J.jsx(UK,{className:"text-center",children:J.jsx(hU,{variant:"outline",className:"bg-primary/10 text-primary border-primary/30 font-mono",children:e.f1Score})})]},t))})]})}),J.jsxs("div",{className:"mt-6 flex items-center gap-4 p-4 bg-green-500/10 border border-green-500/30 rounded-lg",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-green-500/20 flex items-center justify-center flex-shrink-0",children:J.jsx(el,{className:"w-6 h-6 text-green-600"})}),J.jsxs("div",{children:[J.jsxs("p",{className:"font-semibold text-foreground",children:["False Positive Rate: ",J.jsx("span",{className:"text-green-600 font-mono",children:t.pvDefectTaxonomy.accuracyMethodology.falsePositiveRate})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:t.pvDefectTaxonomy.accuracyMethodology.falsePositiveNote})]})]})]}),J.jsxs("div",{className:"lg:col-span-1",children:[J.jsxs(aU,{className:"border border-border/50",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(zk,{className:"w-5 h-5 text-primary"}),t.pvDefectTaxonomy.accuracyMethodology.testConditions.title]})}),J.jsx(oU,{className:"space-y-3",children:t.pvDefectTaxonomy.accuracyMethodology.testConditions.conditions.map((e,t)=>J.jsxs("div",{className:"flex justify-between items-center py-2 border-b border-border/30 last:border-0",children:[J.jsx("span",{className:"text-sm text-muted-foreground",children:e.parameter}),J.jsx("span",{className:"font-mono text-sm font-medium",children:e.value})]},t))})]}),J.jsxs("div",{className:"mt-4 p-4 bg-muted/30 rounded-lg border border-border/30",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:"Validation Method"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.pvDefectTaxonomy.accuracyMethodology.validationMethod})]})]})]})]})]})})}),t.pvDefectTaxonomy?.monitoringIntegration&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-3",children:t.pvDefectTaxonomy.monitoringIntegration.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.pvDefectTaxonomy.monitoringIntegration.intro}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[J.jsxs(aU,{className:"border border-border/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-xl flex items-center gap-2",children:[J.jsx(vf,{className:"w-5 h-5 text-primary"}),"Supported Platforms"]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-3",children:t.pvDefectTaxonomy.monitoringIntegration.platforms.map((e,t)=>{const s=QP[e.icon]||$P;return J.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-border/30 last:border-0",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(s,{className:"w-4 h-4 text-primary"}),J.jsx("span",{className:"font-medium",children:e.name})]}),J.jsx(hU,{variant:"outline",className:"text-xs font-mono bg-muted/50",children:e.protocol})]},t)})})})]}),J.jsxs(aU,{className:"border border-border/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-xl flex items-center gap-2",children:[J.jsx(bw,{className:"w-5 h-5 text-primary"}),t.pvDefectTaxonomy.monitoringIntegration.dataSync.title]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-3",children:t.pvDefectTaxonomy.monitoringIntegration.dataSync.capabilities.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(el,{className:"w-4 h-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]})]}),J.jsxs("div",{className:"mt-8",children:[J.jsxs("h3",{className:"text-xl font-semibold mb-6 flex items-center gap-2",children:[J.jsx(Lf,{className:"w-5 h-5 text-primary"}),t.pvDefectTaxonomy.monitoringIntegration.integrationMethods.title]}),J.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4",children:t.pvDefectTaxonomy.monitoringIntegration.integrationMethods.methods.map((e,t)=>J.jsxs("div",{className:"p-4 bg-background rounded-lg border border-border/50 hover:border-primary/30 transition-colors",children:[J.jsx("p",{className:"font-semibold text-primary mb-2",children:e.method}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]},t))})]})]})})}),t.pvDefectTaxonomy?.cmmsIntegration&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-3",children:t.pvDefectTaxonomy.cmmsIntegration.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.pvDefectTaxonomy.cmmsIntegration.intro}),J.jsxs("div",{className:"grid lg:grid-cols-3 gap-8",children:[J.jsxs(aU,{className:"border border-border/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(VP,{className:"w-5 h-5 text-primary"}),"Supported Platforms"]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-2",children:t.pvDefectTaxonomy.cmmsIntegration.platforms.map((e,t)=>{const s=QP[e.icon]||qk;return J.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-border/30 last:border-0",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(s,{className:"w-4 h-4 text-muted-foreground"}),J.jsx("span",{className:"text-sm font-medium",children:e.name})]}),J.jsx(hU,{variant:"outline",className:"text-xs font-mono bg-muted/50 whitespace-nowrap",children:e.integrationType})]},t)})})})]}),J.jsxs(aU,{className:"border border-border/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(zm,{className:"w-5 h-5 text-primary"}),"Export Formats"]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-4",children:t.pvDefectTaxonomy.cmmsIntegration.exportFormats.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{variant:"outline",className:"bg-primary/10 text-primary border-primary/30 font-mono mt-0.5",children:e.format}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e.description})]},t))})})]}),J.jsxs(aU,{className:"border border-border/50",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(ux,{className:"w-5 h-5 text-primary"}),t.pvDefectTaxonomy.cmmsIntegration.workOrderContents.title]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.pvDefectTaxonomy.cmmsIntegration.workOrderContents.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))})})]})]})]})})}),t.pvDefectTaxonomy?.cameraSupport&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-3",children:t.pvDefectTaxonomy.cameraSupport.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.pvDefectTaxonomy.cameraSupport.intro}),J.jsxs("div",{className:"grid lg:grid-cols-3 gap-8",children:[J.jsx("div",{className:"lg:col-span-2",children:J.jsx("div",{className:"grid sm:grid-cols-2 md:grid-cols-3 gap-4",children:t.pvDefectTaxonomy.cameraSupport.platforms.map((e,t)=>J.jsxs(aU,{className:"border "+(e.isNdaaCompliant?"border-green-500/50 bg-green-500/5":"border-border/50"),children:[J.jsx(rU,{className:"pb-2",children:J.jsxs(iU,{className:"text-base flex items-center gap-2",children:[J.jsx(co,{className:"w-4 h-4 text-primary"}),e.manufacturer,e.isNdaaCompliant&&J.jsx(hU,{className:"bg-green-600 text-white text-xs ml-auto",children:"NDAA"})]})}),J.jsx(oU,{className:"pt-0",children:J.jsx("ul",{className:"space-y-1.5",children:e.models.map((e,t)=>J.jsxs("li",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[J.jsx(el,{className:"w-3.5 h-3.5 text-green-600 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]},t))})}),J.jsx("div",{className:"lg:col-span-1",children:J.jsxs(aU,{className:"border border-border/50 h-full",children:[J.jsx(rU,{children:J.jsxs(iU,{className:"text-lg flex items-center gap-2",children:[J.jsx(zk,{className:"w-5 h-5 text-primary"}),t.pvDefectTaxonomy.cameraSupport.minimumRequirements.title]})}),J.jsx(oU,{children:J.jsx("div",{className:"space-y-4",children:t.pvDefectTaxonomy.cameraSupport.minimumRequirements.specs.map((e,t)=>J.jsxs("div",{className:"border-b border-border/30 pb-3 last:border-0 last:pb-0",children:[J.jsxs("div",{className:"flex justify-between items-center mb-1",children:[J.jsx("span",{className:"text-sm font-medium",children:e.parameter}),J.jsx(hU,{variant:"outline",className:"font-mono text-xs bg-primary/10 text-primary border-primary/30",children:e.value})]}),e.note&&J.jsx("p",{className:"text-xs text-muted-foreground",children:e.note})]},t))})})]})})]})]})})}),t.pvDefectTaxonomy?.targetMarkets&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-3",children:t.pvDefectTaxonomy.targetMarkets.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.pvDefectTaxonomy.targetMarkets.intro}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:t.pvDefectTaxonomy.targetMarkets.segments.map((e,t)=>{const s=QP[e.icon]||GI;return J.jsxs(aU,{className:"border border-border/50 hover:border-primary/30 transition-all hover:shadow-lg group",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center group-hover:bg-primary/20 transition-colors",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(hU,{variant:"outline",className:"text-xs font-mono bg-muted/50",children:e.sizeRange})]}),J.jsx(iU,{className:"text-lg",children:e.name})]}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description}),J.jsx("ul",{className:"space-y-2",children:e.keyFeatures.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-3.5 h-3.5 text-green-600 mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:e})]},t))})]})]},t)})})]})})}),t.pvDefectTaxonomy?.competitiveDifferentiation&&J.jsx("section",{className:"py-20 bg-gradient-to-b from-primary/5 to-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:t.pvDefectTaxonomy.competitiveDifferentiation.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.pvDefectTaxonomy.competitiveDifferentiation.positioning}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:t.pvDefectTaxonomy.competitiveDifferentiation.differentiators.map((e,t)=>{const s=QP[e.icon]||$P;return J.jsxs(aU,{className:"border-0 bg-background shadow-lg hover:shadow-xl transition-shadow",children:[J.jsxs(rU,{className:"pb-2",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center mb-3",children:J.jsx(s,{className:"w-6 h-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:e.title}),J.jsx("p",{className:"text-sm font-medium text-primary",children:e.description})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:e.detail})})]},t)})})]})})}),t.signalCapabilities&&J.jsx("section",{className:"py-16 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:t.signalCapabilities.title}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10",children:t.signalCapabilities.intro}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6 mb-10",children:t.signalCapabilities.sections.map((e,t)=>{const s=QP[e.icon]||vf;return J.jsxs(aU,{className:"border border-outline/20 hover:border-primary/30 transition-colors",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:e.heading})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:e.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]},t)})}),t.signalCapabilities.methodology&&J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 mb-6 border border-outline/20",children:[J.jsxs("h3",{className:"font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(Uc,{className:"w-5 h-5 text-primary"}),t.signalCapabilities.methodology.title]}),J.jsx("p",{className:"text-muted-foreground",children:t.signalCapabilities.methodology.text})]}),t.signalCapabilities.primaryValue&&J.jsxs("div",{className:"bg-emerald-50 dark:bg-emerald-950/30 rounded-lg p-6 border border-emerald-200 dark:border-emerald-800/50",children:[J.jsxs("h3",{className:"font-semibold text-emerald-800 dark:text-emerald-300 mb-2 flex items-center gap-2",children:[J.jsx($P,{className:"w-5 h-5"}),"Primary Value"]}),J.jsx("p",{className:"text-emerald-700 dark:text-emerald-400",children:t.signalCapabilities.primaryValue})]})]})})}),t.complianceSupport&&J.jsx("section",{className:"py-16",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:t.complianceSupport.title}),t.complianceSupport.intro&&J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.complianceSupport.intro}),J.jsx("div",{className:"grid md:grid-cols-2 gap-8 mb-8",children:t.complianceSupport.sections.map((e,t)=>{const s=QP[e.icon]||Xk;return J.jsxs("div",{className:"bg-background border border-outline/20 rounded-lg p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-xl font-semibold",children:e.heading})]}),J.jsx("ul",{className:"space-y-3",children:e.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-1 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})]},t)})}),t.complianceSupport.limitations&&J.jsx("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800/50 rounded-lg p-6 max-w-3xl",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(eI,{className:"w-5 h-5 text-amber-600 dark:text-amber-400 mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-amber-900 dark:text-amber-200 mb-2",children:t.complianceSupport.limitations.heading}),J.jsx("p",{className:"text-amber-800 dark:text-amber-300 text-sm",children:t.complianceSupport.limitations.text})]})]})}),t.complianceSupport.footer&&J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-2 border-primary pl-4 mt-8 max-w-3xl",children:t.complianceSupport.footer})]})}),t.humanInTheLoop&&J.jsx("section",{className:"py-16 bg-surface/50",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:t.humanInTheLoop.title}),t.humanInTheLoop.intro&&J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl",children:t.humanInTheLoop.intro}),J.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-8",children:t.humanInTheLoop.items.map((e,t)=>{const s=QP[e.icon]||Tl;return J.jsxs("div",{className:"bg-background border border-outline/20 rounded-lg p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"font-semibold",children:e.title})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]},t)})}),t.humanInTheLoop.footer&&J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-2 border-primary pl-4 max-w-3xl",children:t.humanInTheLoop.footer})]})}),J.jsx("section",{className:"pt-20 pb-16",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"Outcomes"}),J.jsxs("div",{className:"grid md:grid-cols-[1.5fr_1fr] gap-6",children:[J.jsx(aU,{className:"border-l-4 border-primary md:row-span-2 flex items-center",children:J.jsx(oU,{className:"pt-6 md:py-10",children:J.jsx("div",{className:"text-2xl md:text-4xl font-bold text-primary leading-tight",children:t.outcomes[0]})})}),t.outcomes.slice(1).map((e,t)=>J.jsx(aU,{className:"border-l-4 border-primary/70",children:J.jsx(oU,{className:"pt-6",children:J.jsx("div",{className:"text-xl font-bold text-primary/90",children:e})})},t))]})]})}),t.features&&t.features.length>0&&(()=>{const e=t.features.find(e=>e.isPrimary)||t.features[0],s=t.features.filter(t=>t!==e&&!t.isFullWidth),a=t.features.find(e=>e.isFullWidth)||t.features[t.features.length-1],r=t.features.some(e=>e.isFullWidth);return J.jsx("section",{className:"pt-16 pb-20 bg-surface/50",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-10",children:"Key Features"}),J.jsxs("div",{className:"grid md:grid-cols-[3fr_2fr] gap-6 mb-6",children:[J.jsx(aU,{className:"border-l-4 border-primary md:row-span-2 flex flex-col justify-center",children:J.jsxs(oU,{className:"pt-8 pb-8",children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4",children:e.title}),J.jsx("p",{className:"text-muted-foreground leading-relaxed text-lg",children:e.description})]})}),J.jsx("div",{className:"space-y-6",children:s.slice(0,2).map((e,t)=>J.jsx(aU,{className:"border-l-4 border-primary/70",children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-3",children:e.title}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:e.description})]})},t))})]}),r&&a&&J.jsx(aU,{className:"border-l-4 border-primary",children:J.jsx(oU,{className:"pt-6 md:flex md:items-center md:gap-8",children:J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-3",children:a.title}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:a.description})]})})})]})})})(),t.comparison&&J.jsx("section",{className:"pt-20 pb-16 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-10",children:t.comparison.title}),J.jsx("div",{className:"overflow-x-auto rounded-lg border border-outline/20",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"border-outline/20",children:[J.jsx(GK,{className:"font-semibold text-muted-foreground",children:"Capability"}),t.comparison.columns.map((e,t)=>J.jsx(GK,{className:"font-semibold "+(0===t?"bg-primary/10 text-primary":"text-muted-foreground"),children:e},t))]})}),J.jsx(VK,{children:t.comparison.rows.map((e,t)=>J.jsxs(BK,{className:"border-outline/10 "+(t%2==0?"bg-background":"bg-surface/50"),children:[J.jsx(UK,{className:"font-medium",children:e.capability}),e.values.map((e,t)=>J.jsx(UK,{className:0===t?"bg-primary/10 font-semibold":"",children:"✓"===e?J.jsx(el,{className:"w-5 h-5 text-green-600","aria-label":"Yes"}):"✗"===e?J.jsx(BP,{className:"w-5 h-5 text-muted-foreground/50","aria-label":"No"}):e},t))]},t))})]})}),t.comparison.note&&J.jsx("p",{className:"mt-6 text-muted-foreground italic",children:t.comparison.note})]})}),t.techSpecs&&J.jsx("section",{className:"pt-16 pb-20",children:J.jsxs("div",{className:"container mx-auto px-6 max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:t.techSpecs.title}),J.jsx(R$,{type:"single",collapsible:!0,className:"border border-outline/20 rounded-lg overflow-hidden",children:t.techSpecs.panels.map((e,t)=>J.jsxs(O$,{value:`spec-${t}`,className:"border-b border-outline/20 last:border-b-0",children:[J.jsx(D$,{className:"px-6 py-4 font-medium text-foreground hover:no-underline hover:bg-surface/50",children:e.header}),J.jsx(q$,{className:"px-6 pb-4",children:e.table?J.jsx("div",{className:"overflow-x-auto",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsx(BK,{className:"bg-muted/30",children:e.table.headers.map((e,t)=>J.jsx(GK,{className:"font-semibold text-foreground text-sm",children:e},t))})}),J.jsx(VK,{children:e.table.rows.map((e,t)=>J.jsx(BK,{className:t%2==0?"bg-background":"bg-muted/10",children:e.cells.map((e,t)=>J.jsx(UK,{className:0===t?"font-medium text-foreground":"text-muted-foreground",children:e},t))},t))})]})}):e.items?J.jsx("ul",{className:"space-y-2",children:e.items.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary flex-shrink-0"}),e]},t))}):null})]},t))})]})}),t.implementationTimeline&&J.jsx("section",{className:"py-16 bg-surface/30 border-t border-b border-outline/10",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-10 text-left",children:t.implementationTimeline.title}),J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"hidden md:block",children:J.jsxs("div",{className:"grid grid-cols-3 gap-0 relative",children:[J.jsx("div",{className:"absolute top-8 left-[16.67%] right-[16.67%] h-1 bg-gradient-to-r from-primary via-primary to-primary/50 z-0"}),t.implementationTimeline.phases.map((e,t)=>J.jsxs("div",{className:"relative flex flex-col items-center text-center",children:[J.jsx("div",{className:"w-16 h-16 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-2xl font-bold z-10 shadow-lg",children:t+1}),J.jsxs("div",{className:"mt-6 px-4",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-1",children:e.name}),J.jsx(hU,{variant:"secondary",className:"mb-4",children:e.duration}),J.jsx("ul",{className:"text-sm text-muted-foreground space-y-2 text-left mt-4",children:e.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})]})]},t))]})}),J.jsx("div",{className:"md:hidden space-y-8",children:t.implementationTimeline.phases.map((e,s)=>J.jsxs("div",{className:"relative flex gap-4",children:[s<t.implementationTimeline.phases.length-1&&J.jsx("div",{className:"absolute left-5 top-12 bottom-0 w-0.5 bg-primary/30"}),J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-lg font-bold flex-shrink-0 z-10",children:s+1}),J.jsxs("div",{className:"flex-1 pb-4",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-1",children:e.name}),J.jsx(hU,{variant:"secondary",className:"mb-3",children:e.duration}),J.jsx("ul",{className:"text-sm text-muted-foreground space-y-2 mt-3",children:e.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})]})]},s))})]})]})}),t.competitivePositioning&&J.jsx("section",{className:"py-16 border-b border-outline/10",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2",children:t.competitivePositioning.title}),J.jsx("p",{className:"text-xl md:text-2xl font-semibold text-primary mb-6",children:t.competitivePositioning.headline}),J.jsx("p",{className:"text-lg text-muted-foreground mb-8 leading-relaxed",children:t.competitivePositioning.intro}),J.jsx("div",{className:"grid sm:grid-cols-2 gap-6 mb-8",children:t.competitivePositioning.benefits.map((e,t)=>{const s={Camera:co,Cpu:Uc,ScanSearch:mk,Bell:hi,Scan:xk,CheckCircle:Tl,RefreshCw:bw,TrendingUp:XC,Settings:zk,Layers:vf,Wind:zP,Shield:Xk,Zap:$P,Truck:rI,MapPin:Fy,Clock:Ld,Upload:AI,ShieldCheck:Gk,AlertTriangle:eI,Pencil:Hj,Download:zm,Server:qk,Lock:hy}[e.icon]||Tl;return J.jsxs("div",{className:"flex items-start gap-4 p-4 bg-surface/50 rounded-lg border border-outline/20",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-1",children:e.title}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},t)})}),t.competitivePositioning.footer&&J.jsx("p",{className:"text-sm text-muted-foreground italic border-l-2 border-primary pl-4",children:t.competitivePositioning.footer})]})})}),J.jsx("section",{className:"pt-16 pb-16 bg-surface/50",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"What it does"}),J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsx("ul",{className:"space-y-3",children:t.capabilities.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Tl,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})})})]})}),J.jsx("section",{className:"pt-20 pb-16",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"How it works"}),t.howItWorksSteps&&t.howItWorksSteps.length>0?J.jsxs(J.Fragment,{children:[J.jsx("div",{className:"hidden md:block",children:J.jsx("div",{className:"grid gap-4 items-stretch "+(t.howItWorksSteps.length<=4?"grid-cols-[1fr_auto_1fr_auto_1fr_auto_1fr]":t.howItWorksSteps.length<=6?"grid-cols-3":"grid-cols-4"),children:t.howItWorksSteps.length<=4?t.howItWorksSteps.map((e,s)=>{const a={Camera:co,Cpu:Uc,ScanSearch:mk,Bell:hi,Scan:xk,CheckCircle:Tl,RefreshCw:bw,TrendingUp:XC,Settings:zk,Layers:vf,Wind:zP,Shield:Xk,Zap:$P,Truck:rI,MapPin:Fy,Clock:Ld,Upload:AI,ShieldCheck:Gk,AlertTriangle:eI,Pencil:Hj,Download:zm,ScanLine:dk,Map:Hy,BarChart3:Wo}[e.icon]||co,r=s===t.howItWorksSteps.length-1;return J.jsxs(Ze.Fragment,{children:[J.jsxs("div",{className:"relative flex flex-col items-start text-left p-6 bg-surface rounded-lg border border-outline/20 transition-all duration-300 ease-out hover:shadow-lg hover:-translate-y-1 hover:border-primary/30 group animate-fade-in",style:{animationDelay:150*s+"ms",animationFillMode:"both"},children:[J.jsx("span",{className:"w-10 h-10 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-lg font-bold mb-4",children:s+1}),J.jsx(a,{className:"w-10 h-10 text-primary mb-4 transition-transform duration-300 group-hover:scale-110"}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:e.title}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed transition-opacity duration-300 opacity-80 group-hover:opacity-100",children:e.description})]}),!r&&J.jsx("div",{className:"flex items-center justify-center px-2",children:J.jsxs("div",{className:"relative",children:[J.jsx(ol,{className:"w-6 h-6 text-primary/40 animate-pulse",style:{animationDuration:"2s"}}),J.jsx(ol,{className:"w-6 h-6 text-primary/20 absolute top-0 left-2 animate-pulse",style:{animationDuration:"2s",animationDelay:"0.3s"}})]})})]},s)}):t.howItWorksSteps.map((e,t)=>{const s={Camera:co,Cpu:Uc,ScanSearch:mk,Bell:hi,Scan:xk,CheckCircle:Tl,RefreshCw:bw,TrendingUp:XC,Settings:zk,Layers:vf,Wind:zP,Shield:Xk,Zap:$P,Truck:rI,MapPin:Fy,Clock:Ld,Upload:AI,ShieldCheck:Gk,AlertTriangle:eI,Pencil:Hj,Download:zm,ScanLine:dk,Map:Hy,BarChart3:Wo}[e.icon]||co;return J.jsxs("div",{className:"relative flex flex-col items-start text-left p-6 bg-surface rounded-lg border border-outline/20 transition-all duration-300 ease-out hover:shadow-lg hover:-translate-y-1 hover:border-primary/30 group animate-fade-in",style:{animationDelay:100*t+"ms",animationFillMode:"both"},children:[J.jsx("span",{className:"w-10 h-10 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-lg font-bold mb-4",children:t+1}),J.jsx(s,{className:"w-10 h-10 text-primary mb-4 transition-transform duration-300 group-hover:scale-110"}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:e.title}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed transition-opacity duration-300 opacity-80 group-hover:opacity-100",children:e.description})]},t)})})}),J.jsx("div",{className:"md:hidden space-y-4",children:t.howItWorksSteps.map((e,s)=>{const a={Camera:co,Cpu:Uc,ScanSearch:mk,Bell:hi,Scan:xk,CheckCircle:Tl,RefreshCw:bw,TrendingUp:XC,Settings:zk,Layers:vf,Wind:zP,Shield:Xk,Zap:$P,Truck:rI,MapPin:Fy,Clock:Ld,Upload:AI,ShieldCheck:Gk,AlertTriangle:eI,Pencil:Hj,Download:zm,ScanLine:dk,Map:Hy,BarChart3:Wo}[e.icon]||co,r=s===t.howItWorksSteps.length-1;return J.jsxs("div",{className:"animate-fade-in",style:{animationDelay:100*s+"ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"flex gap-4 p-4 bg-surface rounded-lg border border-outline/20 transition-all duration-300 hover:shadow-md hover:border-primary/30 group",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("span",{className:"w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:s+1}),!r&&J.jsx("div",{className:"w-0.5 h-full bg-primary/20 mt-2"})]}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(a,{className:"w-6 h-6 text-primary transition-transform duration-300 group-hover:scale-110"}),J.jsx("h3",{className:"font-bold text-foreground",children:e.title})]}),J.jsx("p",{className:"text-sm text-muted-foreground transition-opacity duration-300 opacity-80 group-hover:opacity-100",children:e.description})]})]}),!r&&J.jsx("div",{className:"flex justify-center py-2",children:J.jsx(al,{className:"w-5 h-5 text-primary/40 animate-pulse",style:{animationDuration:"2s"}})})]},s)})})]}):J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsx("p",{className:"text-lg text-muted-foreground font-mono",children:t.howItWorks})})})]})}),t.useCases&&J.jsx("section",{className:"pt-20 pb-16 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-10",children:t.useCases.title}),J.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:t.useCases.cards.map((e,t)=>{const s={Settings:zk,Layers:vf,Cpu:Uc,Wind:zP,Warehouse:bP,ShoppingBag:aM,Box:pn,Thermometer:uC,Truck:rI,Factory:ph,ArrowLeftRight:Va,Home:Ng,Building2:Rn,Heart:cg,Shield:Xk}[e.icon]||zk;return J.jsxs("div",{className:"border border-outline/20 rounded-lg p-6 hover:shadow-md transition bg-background",children:[J.jsx(s,{className:"w-10 h-10 text-primary mb-4"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:e.title}),e.challenge&&J.jsxs(J.Fragment,{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground mt-4",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground italic mt-1",children:e.challenge})]}),e.solution&&J.jsxs(J.Fragment,{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-green-600 mt-3",children:"Solution"}),J.jsx("p",{className:"text-sm text-foreground mt-1",children:e.solution})]}),e.examples&&J.jsx("p",{className:"text-sm text-muted-foreground italic mt-2 mb-2",children:e.examples}),e.benefit&&J.jsx("p",{className:"text-sm text-foreground",children:e.benefit})]},t)})})]})}),t.testimonial&&J.jsx("section",{className:"py-24 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("div",{className:"text-6xl text-primary/20 font-serif mb-4",children:'"'}),J.jsx("blockquote",{className:"text-xl md:text-2xl italic text-foreground leading-relaxed mb-8",children:t.testimonial.quote}),J.jsx("div",{className:"text-base font-semibold text-foreground",children:t.testimonial.attribution}),J.jsx("div",{className:"text-sm text-muted-foreground",children:t.testimonial.company})]})})}),J.jsx("section",{className:"pt-16 pb-16 bg-surface/50",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"What you get"}),J.jsxs("div",{className:t.interfaceImage?"grid md:grid-cols-2 gap-8 items-start":"",children:[J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsx("ul",{className:"space-y-3",children:t.whatYouGet.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx($P,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})})}),t.interfaceImage&&J.jsxs("div",{className:"relative",children:[J.jsx("img",{src:t.interfaceImage,alt:`${t.name} interface showing tie-level reporting and condition tracking`,className:"w-full rounded-lg shadow-lg border border-outline/20",loading:"lazy",width:800,height:450}),J.jsxs("p",{className:"text-xs text-muted-foreground mt-3 text-center italic",children:[t.name," interface: Tie-level condition grading with actionable severity indicators"]})]})]})]})}),J.jsx("section",{className:"pt-16 pb-16",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"Deployments & integrations"}),J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsx("ul",{className:"space-y-3",children:t.deployments.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(qk,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})})})]})}),t.platformCompatibility&&J.jsx("section",{className:"pt-20 pb-16",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:t.platformCompatibility.title}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"border-2 border-emerald-200 dark:border-emerald-800/50 bg-emerald-50/50 dark:bg-emerald-950/20",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Xk,{className:"w-5 h-5 text-emerald-600 dark:text-emerald-400"}),J.jsx(iU,{className:"text-lg text-emerald-800 dark:text-emerald-300",children:t.platformCompatibility.ndaaCompliant.heading})]}),J.jsx("p",{className:"text-xs text-emerald-700 dark:text-emerald-400 mt-1",children:t.platformCompatibility.ndaaCompliant.note})]}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.platformCompatibility.ndaaCompliant.platforms.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-emerald-600 dark:text-emerald-400 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]}),J.jsxs(aU,{className:"border border-outline/20",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(co,{className:"w-5 h-5 text-primary"}),J.jsx(iU,{className:"text-lg",children:t.platformCompatibility.additional.heading})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.platformCompatibility.additional.platforms.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]}),J.jsxs(aU,{className:"border border-outline/20",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Lf,{className:"w-5 h-5 text-primary"}),J.jsx(iU,{className:"text-lg",children:t.platformCompatibility.integrationCapabilities.heading})]})}),J.jsx(oU,{children:J.jsx("ul",{className:"space-y-2",children:t.platformCompatibility.integrationCapabilities.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]})]})]})}),t.defectCategories&&J.jsx("section",{className:"pt-20 pb-16 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:t.defectCategories.title}),J.jsx("div",{className:"overflow-x-auto rounded-lg border border-outline/20",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/50",children:[J.jsx(GK,{className:"font-semibold text-foreground w-1/5",children:"Category"}),J.jsx(GK,{className:"font-semibold text-foreground w-3/5",children:"Defects Detected"}),J.jsx(GK,{className:"font-semibold text-foreground w-1/5 text-right",children:"Accuracy (F1)"})]})}),J.jsx(VK,{children:t.defectCategories.categories.map((e,t)=>J.jsxs(BK,{className:t%2==0?"bg-background":"bg-muted/20",children:[J.jsx(UK,{className:"font-semibold text-foreground",children:e.category}),J.jsx(UK,{className:"text-muted-foreground",children:e.defects}),J.jsx(UK,{className:"text-primary font-semibold text-right",children:e.accuracy})]},t))})]})}),J.jsxs("p",{className:"text-sm text-muted-foreground mt-4 italic",children:["*",t.defectCategories.footnote]})]})}),t.detectionAccuracy&&J.jsx("section",{className:"pt-20 pb-16 bg-background",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:t.detectionAccuracy.title}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-4",children:t.detectionAccuracy.performanceMetrics.heading}),J.jsx("div",{className:"overflow-x-auto rounded-lg border border-outline/20",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/50",children:[J.jsx(GK,{className:"font-semibold text-foreground",children:"Metric"}),J.jsx(GK,{className:"font-semibold text-foreground text-center",children:"Value"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Definition"})]})}),J.jsx(VK,{children:t.detectionAccuracy.performanceMetrics.metrics.map((e,t)=>J.jsxs(BK,{className:t%2==0?"bg-background":"bg-muted/20",children:[J.jsx(UK,{className:"font-semibold text-foreground",children:e.metric}),J.jsx(UK,{className:"text-primary font-semibold text-center",children:e.value}),J.jsx(UK,{className:"text-muted-foreground text-sm",children:e.definition})]},t))})]})})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4",children:t.detectionAccuracy.testConditions.heading}),J.jsx("ul",{className:"space-y-2",children:t.detectionAccuracy.testConditions.conditions.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-1.5",children:"•"}),J.jsx("span",{children:e})]},t))})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4",children:t.detectionAccuracy.validation.heading}),J.jsx("ul",{className:"space-y-2",children:t.detectionAccuracy.validation.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-green-600 mt-1 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})]})})]})]})]})}),t.eamIntegration&&J.jsx("section",{className:"py-16 bg-muted/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-left",children:t.eamIntegration.title}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-4",children:t.eamIntegration.supportedSystems.heading}),J.jsx("div",{className:"overflow-x-auto rounded-lg border border-outline/20",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/50",children:[J.jsx(GK,{className:"font-semibold text-foreground",children:"System"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Integration Method"}),J.jsx(GK,{className:"font-semibold text-foreground",children:"Features"})]})}),J.jsx(VK,{children:t.eamIntegration.supportedSystems.systems.map((e,t)=>J.jsxs(BK,{className:t%2==0?"bg-background":"bg-muted/20",children:[J.jsx(UK,{className:"font-semibold text-foreground",children:e.system}),J.jsx(UK,{className:"text-muted-foreground text-sm",children:e.integrationMethod}),J.jsx(UK,{className:"text-muted-foreground text-sm",children:e.features})]},t))})]})})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4",children:t.eamIntegration.integrationCapabilities.heading}),J.jsx("ul",{className:"space-y-2",children:t.eamIntegration.integrationCapabilities.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-green-600 mt-1 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4",children:t.eamIntegration.customIntegration.heading}),J.jsx("ul",{className:"space-y-2",children:t.eamIntegration.customIntegration.items.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-1.5",children:"•"}),J.jsx("span",{children:e})]},t))})]})})]})]})]})}),t.sensorSupport&&J.jsx("section",{className:"py-16 bg-background",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-left",children:t.sensorSupport.title}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(co,{className:"w-5 h-5 text-primary"}),J.jsx(iU,{className:"text-lg",children:t.sensorSupport.visualImaging.heading})]})}),J.jsx(oU,{className:"pt-0",children:J.jsx("ul",{className:"space-y-2",children:t.sensorSupport.visualImaging.specs.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-1",children:"•"}),J.jsx("span",{children:e})]},t))})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(uC,{className:"w-5 h-5 text-orange-500"}),J.jsx(iU,{className:"text-lg",children:t.sensorSupport.thermalImaging.heading})]})}),J.jsx(oU,{className:"pt-0",children:J.jsx("ul",{className:"space-y-2",children:t.sensorSupport.thermalImaging.specs.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-orange-500 mt-1",children:"•"}),J.jsx("span",{children:e})]},t))})})]}),J.jsxs(aU,{className:"h-full border-primary/20",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(VN,{className:"w-5 h-5 text-green-600"}),J.jsx(iU,{className:"text-lg",children:t.sensorSupport.lidar.heading})]}),J.jsx("span",{className:"text-xs text-primary bg-primary/10 px-2 py-0.5 rounded-full w-fit",children:t.sensorSupport.lidar.tierNote})]}),J.jsx(oU,{className:"pt-0",children:J.jsx("ul",{className:"space-y-2",children:t.sensorSupport.lidar.capabilities.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-green-600 mt-1",children:"•"}),J.jsx("span",{children:e})]},t))})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(pn,{className:"w-5 h-5 text-primary"}),J.jsx(iU,{className:"text-lg",children:t.sensorSupport.supportedPayloads.heading})]})}),J.jsx(oU,{className:"pt-0",children:J.jsx("ul",{className:"space-y-2",children:t.sensorSupport.supportedPayloads.payloads.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Tl,{className:"w-4 h-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})})]})]})]})}),t.targetMarket&&J.jsx("section",{className:"py-16 bg-muted/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-left",children:t.targetMarket.title}),t.targetMarket.intro&&J.jsx("p",{className:"text-muted-foreground mb-8 max-w-3xl",children:t.targetMarket.intro}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:t.targetMarket.segments.map((e,t)=>{const s=e.icon&&QP[e.icon]||Rn;return J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(s,{className:"w-5 h-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:e.name})]})}),J.jsx(oU,{className:"pt-0",children:J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})})]},t)})}),t.targetMarket.note&&J.jsx("p",{className:"text-sm text-muted-foreground mt-6 italic",children:t.targetMarket.note})]})}),t.detailedUseCases&&J.jsx("section",{className:"py-16 bg-background",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-left",children:t.detailedUseCases.title}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:t.detailedUseCases.cases.map((e,t)=>J.jsxs(aU,{className:"h-full border-l-4 border-l-primary/50",children:[J.jsx(rU,{className:"pb-2",children:J.jsx(iU,{className:"text-lg",children:e.name})}),J.jsx(oU,{className:"pt-0",children:J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})})]},t))})]})}),t.competitiveDifferentiation&&J.jsx("section",{className:"py-16 bg-muted/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-left",children:t.competitiveDifferentiation.title}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:t.competitiveDifferentiation.differentiators.map((e,t)=>J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{className:"pb-2",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"p-1.5 rounded-full bg-green-100 mt-0.5",children:J.jsx(Tl,{className:"w-4 h-4 text-green-600"})}),J.jsx(iU,{className:"text-lg",children:e.name})]})}),J.jsx(oU,{className:"pt-0 pl-12",children:J.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})})]},t))})]})}),J.jsx("section",{className:"pt-20 pb-16 bg-surface/50",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"Security & governance"}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("ul",{className:"space-y-3",children:t.security.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(hy,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))}),t.securityNote&&J.jsx("div",{className:"mt-6 pt-6 border-t border-outline/20",children:J.jsxs("p",{className:"text-sm text-muted-foreground italic",children:[J.jsx("strong",{children:"Note:"})," ",t.securityNote]})})]})})]})}),t.relatedSolutions&&J.jsx("section",{className:"py-12 border-t border-outline/10",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:t.relatedSolutions.title}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:t.relatedSolutions.intro}),J.jsx("div",{className:"space-y-3 mb-4",children:t.relatedSolutions.items.map((e,t)=>J.jsxs(tt,{to:`/solutions/${e.slug}`,className:"flex items-start gap-3 p-3 rounded-lg border border-outline/20 hover:border-primary/30 hover:bg-surface/50 transition-colors group",children:[J.jsx(Ka,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0 group-hover:translate-x-1 transition-transform"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground group-hover:text-primary transition-colors",children:e.name}),J.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:e.description})]})]},t))}),t.relatedSolutions.note&&J.jsxs("div",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg border border-outline/10",children:[J.jsx(Wg,{className:"w-4 h-4 text-muted-foreground mt-0.5 flex-shrink-0"}),J.jsx("p",{className:"text-sm text-muted-foreground italic",children:t.relatedSolutions.note})]})]})})}),J.jsx("section",{className:"pt-24 pb-16",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"Related"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[J.jsxs("div",{children:[J.jsxs("h3",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[J.jsx(Lf,{className:"w-5 h-5 text-primary"}),"Products"]}),J.jsx("div",{className:"flex flex-wrap gap-2",children:t.related.products.map((e,t)=>J.jsx(hU,{variant:"outline",children:e},t))})]}),J.jsxs("div",{children:[J.jsxs("h3",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[J.jsx(Lf,{className:"w-5 h-5 text-primary"}),"Services"]}),J.jsx("div",{className:"flex flex-wrap gap-2",children:t.related.services.map((e,t)=>J.jsx(hU,{variant:"outline",children:e},t))})]}),J.jsxs("div",{children:[J.jsxs("h3",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[J.jsx(Lf,{className:"w-5 h-5 text-primary"}),"Industries"]}),J.jsx("div",{className:"flex flex-wrap gap-2",children:t.related.industries.map((e,t)=>J.jsx(hU,{variant:"outline",children:e},t))})]})]})]})}),J.jsx("section",{className:"pt-16 pb-16 bg-surface/50",children:J.jsxs("div",{className:"container mx-auto px-6 max-w-3xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"Frequently Asked Questions"}),J.jsx(R$,{type:"single",collapsible:!0,children:t.faqs.map((t,s)=>{const a=t.question.toLowerCase().replace(/[^a-z0-9]+/g,"-");return J.jsxs(O$,{value:`item-${s}`,children:[J.jsx(D$,{className:"text-left",onClick:()=>((t,s)=>{const a=window.gtag;a&&a("event","solution_faq_open",{label:`${e}|${t}|${s}`})})(a,s),children:t.question}),J.jsx(q$,{className:"text-muted-foreground",children:t.answer})]},s)})})]})}),t.roiPreview&&J.jsx("section",{className:"pt-20 pb-16 bg-gradient-to-b from-background to-muted/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsxs("div",{className:"mb-10",children:[J.jsx("h2",{className:"text-2xl font-semibold text-muted-foreground mb-2",children:"Calculate Your Savings"}),J.jsx("p",{className:"text-3xl font-bold text-foreground max-w-[680px]",children:t.roiPreview.headline})]}),J.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 max-w-4xl mx-auto mb-8",children:t.roiPreview.cards.map((e,t)=>J.jsxs("div",{className:"bg-background border border-outline/20 rounded-lg p-6 text-center",children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground mb-2",children:e.label}),J.jsx("p",{className:"text-4xl font-bold text-primary",children:e.stat}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:e.text})]},t))}),J.jsx("div",{children:J.jsx(tt,{to:t.roiPreview.ctaLink,className:"text-primary font-medium hover:underline inline-flex items-center gap-1",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","roi_preview_click",{solution:t.slug,event_category:"conversion"})},children:t.roiPreview.ctaText})})]})}),J.jsx(FU,{ctaConfig:t.ctaConfig?.final})]}),J.jsx(KU,{}),J.jsx(BG,{open:s,onOpenChange:a,defaultIntent:"demo",context:{serviceContext:t.name}}),J.jsx(FK,{open:r,onOpenChange:i,solutionName:t.name,solutionSlug:t.slug,datasheetUrl:t.ctaConfig?.hero?.secondaryHref})]})}const YK=kF({name:vF().min(2,"Name must be at least 2 characters").max(100),email:vF().email("Please enter a valid email address").max(255),company:vF().min(2,"Company name must be at least 2 characters").max(200),role:vF().min(2,"Role must be at least 2 characters").max(100),terms:NF().refine(e=>!0===e,{message:"You must accept the terms to download the guide"})});function KK({open:e,onOpenChange:t}){const[s,a]=Qe.useState(!1),[r,i]=Qe.useState(!1),{register:n,handleSubmit:o,formState:{errors:l},reset:d,setValue:c,watch:m}=D_({resolver:V_(YK),defaultValues:{name:"",email:"",company:"",role:"",terms:!1}}),h=m("terms"),x=e=>{e||(d(),i(!1)),t(e)};return J.jsx(IF,{open:e,onOpenChange:x,children:J.jsx(OF,{className:"sm:max-w-lg",children:r?J.jsxs("div",{className:"text-center py-8",children:[J.jsx("div",{className:"w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-4",children:J.jsx(Tl,{className:"w-8 h-8 text-green-600"})}),J.jsxs(DF,{children:[J.jsx(qF,{className:"text-2xl mb-2",children:"Check Your Inbox!"}),J.jsx(EF,{className:"text-base",children:"We've sent the AI Production Readiness Guide to your email. It includes actionable frameworks and checklists used by our production AI teams."})]}),J.jsxs("div",{className:"mt-6 p-4 bg-muted rounded-lg text-left",children:[J.jsx("h4",{className:"font-semibold text-sm mb-2",children:"What's Inside:"}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsx("li",{children:"• 15-point production readiness checklist"}),J.jsx("li",{children:"• Data infrastructure assessment framework"}),J.jsx("li",{children:"• Team composition recommendations"}),J.jsx("li",{children:"• Deployment architecture patterns"}),J.jsx("li",{children:"• KPI tracking templates"})]})]}),J.jsx(oz,{className:"mt-6 w-full",onClick:()=>x(!1),children:"Close"})]}):J.jsxs(J.Fragment,{children:[J.jsxs(DF,{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center",children:J.jsx(ux,{className:"w-5 h-5 text-primary"})}),J.jsx(qF,{className:"text-xl",children:"Download AI Readiness Guide"})]}),J.jsx(EF,{className:"text-base",children:"Get our comprehensive guide to evaluating whether your AI project is ready for production deployment."})]}),J.jsxs("form",{onSubmit:o(async e=>{a(!0);try{const{error:t}=await qG.from("demo_requests").insert({name:e.name.trim(),email:e.email.trim().toLowerCase(),company:e.company.trim(),intent:"readiness-guide",message:`Role: ${e.role.trim()}`,source_page:"/services",source_button:"ai_readiness_guide_download",ip_address:null,user_agent:navigator.userAgent});if(t)throw t;"undefined"!=typeof window&&window.gtag&&window.gtag("event","lead_magnet_download",{event_category:"Lead Generation",event_label:"AI Readiness Guide",lead_type:"readiness-guide"}),i(!0),wt({title:"Success!",description:"Your AI Readiness Guide is on its way to your inbox."})}catch(t){wt({title:"Something went wrong",description:"Please try again or contact us directly.",variant:"destructive"})}finally{a(!1)}}),className:"space-y-4 mt-4",children:[J.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"name",children:"Full Name *"}),J.jsx(zF,{id:"name",placeholder:"Jane Smith",...n("name"),className:l.name?"border-destructive":""}),l.name&&J.jsx("p",{className:"text-xs text-destructive",children:l.name.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"email",children:"Work Email *"}),J.jsx(zF,{id:"email",type:"email",placeholder:"jane@company.com",...n("email"),className:l.email?"border-destructive":""}),l.email&&J.jsx("p",{className:"text-xs text-destructive",children:l.email.message})]})]}),J.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"company",children:"Company *"}),J.jsx(zF,{id:"company",placeholder:"Acme Corp",...n("company"),className:l.company?"border-destructive":""}),l.company&&J.jsx("p",{className:"text-xs text-destructive",children:l.company.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"role",children:"Your Role *"}),J.jsx(zF,{id:"role",placeholder:"VP of Engineering",...n("role"),className:l.role?"border-destructive":""}),l.role&&J.jsx("p",{className:"text-xs text-destructive",children:l.role.message})]})]}),J.jsxs("div",{className:"flex items-start space-x-3 pt-2",children:[J.jsx(rK,{id:"terms",checked:h,onCheckedChange:e=>c("terms",!0===e),className:l.terms?"border-destructive":""}),J.jsxs("div",{className:"grid gap-1.5 leading-none",children:[J.jsx(HF,{htmlFor:"terms",className:"text-sm font-normal text-muted-foreground cursor-pointer",children:"I agree to receive the guide and occasional insights about AI production. You can unsubscribe anytime."}),l.terms&&J.jsx("p",{className:"text-xs text-destructive",children:l.terms.message})]})]}),J.jsx(oz,{type:"submit",className:"w-full bg-gradient-to-r from-data-teal to-primary hover:opacity-90",disabled:s,children:s?J.jsxs(J.Fragment,{children:[J.jsx(ay,{className:"mr-2 h-4 w-4 animate-spin"}),"Sending..."]}):J.jsxs(J.Fragment,{children:[J.jsx(zm,{className:"mr-2 h-4 w-4"}),"Get the Guide"]})}),J.jsxs("p",{className:"text-xs text-center text-muted-foreground",children:["We respect your privacy. Read our"," ",J.jsx("a",{href:"/legal/privacy-policy",className:"text-primary hover:underline",children:"Privacy Policy"}),"."]})]})]})})})}const QK=()=>{const[e,t]=Qe.useState("all"),[s,a]=Qe.useState("all"),[r,i]=Qe.useState(!1),[n,o]=Qe.useState(!1),l="https://www.allerin.com/services",d="AI Services That Ship to Production | AI Consulting | Allerin",c="80% of AI projects fail. Ours don't. Allerin's 84-person engineering team builds production-grade AI—agentic systems, computer vision, analytics, MLOps. Get architecture review.",m=AK("services"),h=gU.slice(0,6).map(e=>({"@context":"https://schema.org","@type":"Service",name:e.name,description:e.promise,provider:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"},serviceType:"AI Engineering",areaServed:{"@type":"Country",name:"United States"},url:`https://www.allerin.com/services/${e.key}`})),x=(e,t)=>{a(t)},u=()=>{i(!0)},p=gU.filter(t=>{if("all"!==e){const s={speed:["genai-accelerator","computer-vision-fasttrack","mlops-model-ops","product-pods","rapid-prototyping"],cost:["platform-modernization","mlops-model-ops","rails-upgrades","integration-fasttrack","ai-orchestration"],performance:["platform-modernization","rails-upgrades","data-analytics-platform","ai-orchestration"],compliance:["security-compliance","agentic-ai","mlops-model-ops","integration-fasttrack","ai-orchestration"]};if(!s[e]?.includes(t.key))return!1}if("all"!==s){const e={agentic:["agentic-ai","ai-orchestration"],genai:["genai-accelerator","agentic-ai","ai-orchestration"],cv:["computer-vision-fasttrack"],analytics:["data-analytics-platform"],platform:["platform-modernization","mlops-model-ops","rails-upgrades","integration-fasttrack","ai-orchestration"],security:["security-compliance","ai-orchestration"]};if(!e[s]?.includes(t.key))return!1}return!0});return J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsxs(iz,{children:[J.jsx("title",{children:d}),J.jsx("meta",{name:"description",content:c}),J.jsx("link",{rel:"canonical",href:l}),J.jsx("meta",{property:"og:title",content:d}),J.jsx("meta",{property:"og:description",content:c}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:l}),J.jsx("meta",{property:"og:image",content:m}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:d}),J.jsx("meta",{name:"twitter:description",content:c}),J.jsx("meta",{name:"twitter:image",content:m}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://www.allerin.com"},{"@type":"ListItem",position:2,name:"Services",item:"https://www.allerin.com/services"}]})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Organization",name:"Allerin",url:"https://www.allerin.com",logo:"https://www.allerin.com/allerin-logo.png",description:"Enterprise AI engineering team delivering production-grade agentic AI, computer vision, analytics, and MLOps solutions.",address:{"@type":"PostalAddress",addressLocality:"Austin",addressRegion:"TX",addressCountry:"US"},contactPoint:{"@type":"ContactPoint",telephone:"+1-512-200-2416",contactType:"sales",email:"contact@allerin.com"},numberOfEmployees:{"@type":"QuantitativeValue",value:84}})}),h.map((e,t)=>J.jsx("script",{type:"application/ld+json",children:JSON.stringify(e)},t)),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How long does a typical project take?",acceptedAnswer:{"@type":"Answer",text:"Timelines vary by scope, but we're designed for speed. Simple AI features can reach production in 8-10 weeks. Complex platform initiatives typically run 3-6 months. We structure projects for early wins—you'll see tangible progress within the first 30 days."}},{"@type":"Question",name:"Do you work with startups or only enterprises?",acceptedAnswer:{"@type":"Answer",text:"Both. Our team includes engineers experienced with early-stage velocity and enterprise complexity. We scale our approach to match your stage—scrappy and fast for startups, structured and governed for enterprise."}},{"@type":"Question",name:"Can you work with our existing team?",acceptedAnswer:{"@type":"Answer",text:"Absolutely. Our Product Pods model is designed for seamless integration with your existing engineering organization. We augment your capabilities rather than working in isolation."}},{"@type":"Question",name:"What industries do you specialize in?",acceptedAnswer:{"@type":"Answer",text:"We've delivered production AI across financial services, healthcare, manufacturing, retail, and technology. Our engineering fundamentals apply across industries, and we bring domain-specific expertise where it matters most."}},{"@type":"Question",name:"How do you handle data security and compliance?",acceptedAnswer:{"@type":"Answer",text:"Security is built into our process, not bolted on. We work with SOC 2, ISO 27001, HIPAA, and GDPR requirements regularly. For sensitive applications, we can deploy entirely within your infrastructure."}},{"@type":"Question",name:"What if our AI project has already failed once?",acceptedAnswer:{"@type":"Answer",text:"We've rescued many stalled initiatives. Our discovery phase includes a frank assessment of what went wrong and what needs to change. Sometimes the original approach was sound but execution failed. Sometimes we need to start fresh."}},{"@type":"Question",name:"Do you provide ongoing support after deployment?",acceptedAnswer:{"@type":"Answer",text:"Yes. Production AI requires ongoing attention—monitoring, retraining, optimization. We offer support retainers or can train your team to handle operations independently."}},{"@type":"Question",name:"How do you price your services?",acceptedAnswer:{"@type":"Answer",text:"We offer flexible engagement models: fixed-price projects for well-defined scopes, time-and-materials for evolving initiatives, and dedicated team arrangements for ongoing work. We'll recommend the right model during our initial conversation."}}]})})]}),J.jsx(UG,{}),J.jsxs("main",{children:[J.jsxs("section",{className:"relative min-h-[90vh] flex items-center justify-center overflow-hidden bg-gradient-to-br from-[hsl(213,50%,8%)] via-[hsl(213,45%,12%)] to-[hsl(220,40%,18%)]",children:[J.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none","aria-hidden":"true",children:[J.jsx("div",{className:"absolute top-1/4 left-1/4 w-2 h-2 bg-data-teal/30 rounded-full animate-pulse"}),J.jsx("div",{className:"absolute top-1/3 right-1/3 w-1.5 h-1.5 bg-data-orange/20 rounded-full animate-pulse",style:{animationDelay:"0.5s"}}),J.jsx("div",{className:"absolute bottom-1/3 left-1/2 w-2 h-2 bg-data-blue/25 rounded-full animate-pulse",style:{animationDelay:"1s"}}),J.jsx("div",{className:"absolute top-1/2 right-1/4 w-1 h-1 bg-data-teal/40 rounded-full animate-pulse",style:{animationDelay:"1.5s"}}),J.jsx("div",{className:"absolute bottom-1/4 right-1/2 w-1.5 h-1.5 bg-secondary/20 rounded-full animate-pulse",style:{animationDelay:"2s"}}),J.jsx("div",{className:"absolute top-2/3 left-1/3 w-1 h-1 bg-data-orange/30 rounded-full animate-pulse",style:{animationDelay:"2.5s"}}),J.jsxs("svg",{className:"absolute inset-0 w-full h-full opacity-[0.08]",xmlns:"http://www.w3.org/2000/svg",children:[J.jsx("line",{x1:"25%",y1:"25%",x2:"33%",y2:"33%",stroke:"currentColor",strokeWidth:"0.5",className:"text-data-teal"}),J.jsx("line",{x1:"33%",y1:"33%",x2:"50%",y2:"67%",stroke:"currentColor",strokeWidth:"0.5",className:"text-data-teal"}),J.jsx("line",{x1:"50%",y1:"67%",x2:"75%",y2:"50%",stroke:"currentColor",strokeWidth:"0.5",className:"text-data-teal"}),J.jsx("line",{x1:"75%",y1:"50%",x2:"50%",y2:"75%",stroke:"currentColor",strokeWidth:"0.5",className:"text-data-teal"}),J.jsx("line",{x1:"50%",y1:"25%",x2:"67%",y2:"33%",stroke:"currentColor",strokeWidth:"0.5",className:"text-data-teal"})]})]}),J.jsxs("div",{className:"container relative z-10 py-20 md:py-28",children:[J.jsx(hK,{className:"mb-8 justify-center flex",children:J.jsxs(xK,{className:"text-white/60",children:[J.jsx(uK,{children:J.jsx(pK,{asChild:!0,children:J.jsxs(tt,{to:"/",className:"flex items-center gap-1 hover:text-white transition-colors",children:[J.jsx(Ng,{className:"w-3.5 h-3.5"}),J.jsx("span",{children:"Home"})]})})}),J.jsx(fK,{children:J.jsx(ol,{className:"w-3.5 h-3.5"})}),J.jsx(uK,{children:J.jsx(gK,{className:"text-data-teal font-medium",children:"Services"})})]})}),J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold leading-tight text-white mb-3",children:[J.jsx("span",{className:"text-data-orange text-5xl md:text-6xl lg:text-7xl font-extrabold",children:"80%"})," of AI Projects Fail to Reach Production.",J.jsx("br",{className:"hidden md:block"}),J.jsx("span",{className:"block mt-2",children:"Yours Won't."})]}),J.jsx("p",{className:"text-[11px] text-[hsl(220,10%,50%)] mb-6",children:"Source: RAND Corporation, 2024"}),J.jsx("p",{className:"text-xl md:text-2xl font-semibold text-data-teal mb-6",children:"AI Services Built for Production, Not Just Prototypes"}),J.jsx("p",{className:"text-base md:text-lg text-[hsl(220,15%,70%)] leading-relaxed max-w-3xl mx-auto mb-10",children:"Most AI initiatives die in pilot purgatory—impressive demos that never touch real users. Our 84-person engineering team ships production-grade AI with KPI gates, reversible rollouts, and measurable business outcomes. From agentic systems to computer vision to analytics platforms, we build AI that actually works in the real world."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center items-center mb-12",children:[J.jsx(oz,{onClick:u,size:"lg",className:"h-14 px-8 text-base font-semibold bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue text-white shadow-lg hover:shadow-xl transition-all duration-300",children:"Get Architecture Review →"}),J.jsx(oz,{size:"lg",onClick:()=>{const e=document.getElementById("services-section");e?.scrollIntoView({behavior:"smooth"})},className:"h-14 px-8 text-base font-semibold bg-transparent border-2 border-white/40 text-white hover:bg-white/10 hover:border-white/60 transition-all duration-300",children:"See Our Services ↓"})]}),J.jsxs("div",{className:"pt-8 border-t border-white/10",children:[J.jsx("p",{className:"text-sm text-[hsl(220,10%,55%)] mb-6",children:"Trusted by startups and enterprises building production AI"}),J.jsxs("div",{className:"flex flex-wrap justify-center items-center gap-8 md:gap-12",children:[J.jsx("img",{src:"/images/clients/amex-logo.png",alt:"American Express",className:"h-8 md:h-10 w-auto opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300",width:80,height:40,loading:"lazy"}),J.jsx("img",{src:"/images/clients/bmc-logo.png",alt:"BMC Software",className:"h-8 md:h-10 w-auto opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300",width:80,height:40,loading:"lazy"}),J.jsx("img",{src:"/images/clients/ge-logo.png",alt:"General Electric",className:"h-8 md:h-10 w-auto opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300",width:80,height:40,loading:"lazy"}),J.jsx("img",{src:"/images/clients/novell-logo.png",alt:"Novell",className:"h-8 md:h-10 w-auto opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300",width:80,height:40,loading:"lazy"})]})]})]})]})]}),J.jsx("section",{className:"py-20 md:py-28 bg-[hsl(210,30%,98%)]",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"max-w-4xl mx-auto text-center mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The AI Industry's Dirty Secret"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"The gap between AI ambition and AI reality has never been wider. Companies invest millions in AI initiatives, hire data science teams, and build promising prototypes—only to watch them stall before reaching production."})]}),J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-16",children:[J.jsx(aU,{className:"bg-white shadow-md hover:shadow-lg transition-shadow duration-300 border-0",children:J.jsxs(oU,{className:"pt-8 pb-6 text-center",children:[J.jsx("div",{className:"inline-flex p-3 rounded-full bg-red-100 mb-4",children:J.jsx(eI,{className:"w-6 h-6 text-red-600"})}),J.jsx("div",{className:"text-5xl md:text-6xl font-bold text-foreground mb-2",children:"80%+"}),J.jsx("p",{className:"text-base font-medium text-foreground mb-2",children:"of AI projects fail to reach production"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"More than double the failure rate of traditional IT projects"}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/70",children:"Source: RAND Corporation, 2024"})]})}),J.jsx(aU,{className:"bg-white shadow-md hover:shadow-lg transition-shadow duration-300 border-0",children:J.jsxs(oU,{className:"pt-8 pb-6 text-center",children:[J.jsx("div",{className:"inline-flex p-3 rounded-full bg-amber-100 mb-4",children:J.jsx(BC,{className:"w-6 h-6 text-amber-600"})}),J.jsx("div",{className:"text-5xl md:text-6xl font-bold text-foreground mb-2",children:"42%"}),J.jsx("p",{className:"text-base font-medium text-foreground mb-2",children:"of companies abandoned most AI initiatives in 2025"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Up from just 17% in 2024—failure is accelerating"}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/70",children:"Source: S&P Global Market Intelligence, 2025"})]})}),J.jsx(aU,{className:"bg-white shadow-md hover:shadow-lg transition-shadow duration-300 border-0",children:J.jsxs(oU,{className:"pt-8 pb-6 text-center",children:[J.jsx("div",{className:"inline-flex p-3 rounded-full bg-purple-100 mb-4",children:J.jsx(Pu,{className:"w-6 h-6 text-purple-600"})}),J.jsx("div",{className:"text-5xl md:text-6xl font-bold text-foreground mb-2",children:"46%"}),J.jsx("p",{className:"text-base font-medium text-foreground mb-2",children:"of AI POCs scrapped before production"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Nearly half of all experiments never see real users"}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/70",children:"Source: S&P Global Market Intelligence, 2025"})]})}),J.jsx(aU,{className:"bg-white shadow-md hover:shadow-lg transition-shadow duration-300 border-0",children:J.jsxs(oU,{className:"pt-8 pb-6 text-center",children:[J.jsx("div",{className:"inline-flex p-3 rounded-full bg-blue-100 mb-4",children:J.jsx(Ld,{className:"w-6 h-6 text-blue-600"})}),J.jsx("div",{className:"text-5xl md:text-6xl font-bold text-foreground mb-2",children:"8 months"}),J.jsx("p",{className:"text-base font-medium text-foreground mb-2",children:"average time from prototype to production"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"For the projects that actually make it"}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/70",children:"Source: Gartner, 2024"})]})})]}),J.jsx("div",{className:"max-w-3xl mx-auto",children:J.jsxs("div",{className:"bg-white rounded-xl p-8 shadow-sm border border-border/30",children:[J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Why do so many AI projects fail? RAND Corporation's research identified five root causes: misaligned expectations, inadequate data infrastructure, technology-first thinking, lack of production planning, and attempting problems too difficult for current AI."}),J.jsx("p",{className:"text-foreground font-semibold mb-4",children:"Notice what's not on that list: the AI technology itself."}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"The models work. The algorithms are proven. What fails is the execution—the messy, unglamorous work of integrating AI into production systems, handling edge cases, ensuring reliability, and actually deploying."})]})})]})}),J.jsx("section",{className:"py-20 md:py-28 bg-[hsl(210,25%,96%)]",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"max-w-4xl mx-auto text-center mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Engineering-First AI That Ships"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl mx-auto",children:"We're not a strategy firm that hands you a deck and wishes you luck. We're an 84-person engineering team that builds, deploys, and supports production AI systems."})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:[J.jsxs("div",{className:"bg-white rounded-xl p-8 shadow-sm border border-border/20 hover:shadow-md transition-shadow duration-300",children:[J.jsx("div",{className:"inline-flex p-4 rounded-xl bg-primary/10 mb-6",children:J.jsx(zj,{className:"w-10 h-10 text-primary"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-4",children:"Built for Production from Day One"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Every project starts with production in mind. We design for scale, reliability, and maintainability—not just impressive demos. KPI gates ensure we're solving real problems. Reversible rollouts mean we can iterate safely."})]}),J.jsxs("div",{className:"bg-white rounded-xl p-8 shadow-sm border border-border/20 hover:shadow-md transition-shadow duration-300",children:[J.jsx("div",{className:"inline-flex p-4 rounded-xl bg-data-teal/10 mb-6",children:J.jsx(Wo,{className:"w-10 h-10 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-4",children:"Outcomes You Can Measure"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We don't celebrate model accuracy in isolation. We measure business impact: revenue influenced, costs reduced, time saved, decisions improved. If it doesn't move metrics that matter to your business, we keep iterating until it does."})]}),J.jsxs("div",{className:"bg-white rounded-xl p-8 shadow-sm border border-border/20 hover:shadow-md transition-shadow duration-300",children:[J.jsx("div",{className:"inline-flex p-4 rounded-xl bg-data-orange/10 mb-6",children:J.jsx(fw,{className:"w-10 h-10 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-4",children:"From Architecture to Operations"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We own the complete AI lifecycle: architecture design, data pipeline development, model training, deployment, monitoring, and ongoing optimization. No handoffs to other teams. No gaps in accountability."})]})]})]})}),J.jsx("section",{id:"services-section",className:"py-20 md:py-28 bg-background",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"max-w-3xl mx-auto text-center mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Our Services"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"We offer a complete range of AI and engineering services, each designed to take you from concept to production with measurable results."})]}),J.jsxs("div",{className:"flex flex-wrap justify-center gap-2 mb-12",children:[J.jsx(oz,{variant:"all"===s?"default":"outline",size:"sm",onClick:()=>x(0,"all"),className:"min-h-[40px] px-5",children:"All Services"}),J.jsx(oz,{variant:"agentic"===s||"genai"===s?"default":"outline",size:"sm",onClick:()=>x(0,"agentic"),className:"min-h-[40px] px-5",children:"AI Development"}),J.jsx(oz,{variant:"platform"===s?"default":"outline",size:"sm",onClick:()=>x(0,"platform"),className:"min-h-[40px] px-5",children:"AI Operations"}),J.jsx(oz,{variant:"analytics"===s?"default":"outline",size:"sm",onClick:()=>x(0,"analytics"),className:"min-h-[40px] px-5",children:"Data & Analytics"}),J.jsx(oz,{variant:"security"===s||"cv"===s?"default":"outline",size:"sm",onClick:()=>x(0,"security"),className:"min-h-[40px] px-5",children:"Specialized"})]}),("all"===s||"agentic"===s||"genai"===s||"cv"===s)&&J.jsxs("div",{className:"mb-20",children:[J.jsxs("div",{className:"mb-10",children:[J.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2",children:"Build AI That Works in the Real World"}),J.jsx("p",{className:"text-muted-foreground",children:"Production-grade AI development with the guardrails and infrastructure enterprise deployments require."})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsx(tt,{to:"/services/agentic-ai",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-data-orange/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-data-orange to-data-amber mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(un,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-data-orange transition-colors",children:"Agentic AI Systems"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"Autonomous AI agents with guardrails, evals, and human-in-the-loop"})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Build AI agents that take action, not just generate text. Multi-step reasoning, tool use, and the safety controls enterprise deployments require."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Multi-step reasoning and planning"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Guardrails and safety boundaries"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Production monitoring and observability"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-data-orange group-hover:underline",children:["Explore Agentic AI Development ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})}),J.jsx(tt,{to:"/services/computer-vision-fasttrack",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-data-teal/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-data-teal to-data-blue mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(xh,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-data-teal transition-colors",children:"Computer Vision"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"Edge-ready CV with MLOps workflows"})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Deploy computer vision that works in challenging real-world conditions. Quality inspection, inventory tracking, and analytics at scale."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Object detection and classification"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Edge deployment optimization"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Real-time video analytics"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-data-teal group-hover:underline",children:["Explore Computer Vision Services ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})}),J.jsx(tt,{to:"/services/genai-accelerator",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-purple-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-purple-500 to-pink-500 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(WM,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-purple-600 transition-colors",children:"GenAI Applications"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"Production-ready generative AI beyond the chatbot demo"})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Move beyond generic ChatGPT wrappers to GenAI customized for your use cases, data, and workflows."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"RAG systems and knowledge bases"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Custom model fine-tuning"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Enterprise integrations"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-purple-600 group-hover:underline",children:["Explore GenAI Implementation ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})})]})]}),("all"===s||"platform"===s)&&J.jsxs("div",{className:"mb-20",children:[J.jsxs("div",{className:"mb-10",children:[J.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2",children:"The Foundation for AI at Scale"}),J.jsx("p",{className:"text-muted-foreground",children:"Infrastructure, pipelines, and governance that turn experiments into reliable production systems."})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsx(tt,{to:"/services/mlops-model-ops",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-blue-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-blue-500 to-indigo-600 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(FP,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-blue-600 transition-colors",children:"MLOps & ModelOps"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"Only 32% of ML projects reach production. Change that."})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsxs("div",{className:"bg-blue-50 rounded-lg p-4 mb-4 text-center",children:[J.jsx("div",{className:"text-4xl font-bold text-blue-600 mb-1",children:"32%"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"of ML projects reach production"}),J.jsx("p",{className:"text-[10px] italic text-muted-foreground/70 mt-1",children:"Source: Rexer Analytics, 2023"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Bridge the gap between data science experiments and production systems. Pipelines, automation, and governance that turn promising models into reliable services."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"CI/CD pipelines for ML"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Automated retraining"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Drift detection and monitoring"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-blue-600 group-hover:underline",children:["Explore MLOps Consulting ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})}),J.jsx(tt,{to:"/services/ai-orchestration",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-emerald-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-emerald-500 to-teal-600 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(Pv,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-emerald-600 transition-colors",children:"AI Orchestration"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"Route every task to the right model—automatically"})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsxs("div",{className:"bg-emerald-50 rounded-lg p-4 mb-4 text-center",children:[J.jsx("div",{className:"text-4xl font-bold text-emerald-600 mb-1",children:"30-50%"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"reduction in AI costs"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Stop overpaying for AI. Intelligent routing to optimal models based on complexity, cost, and latency."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Multi-provider management"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Real-time cost controls"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Complete observability"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-emerald-600 group-hover:underline",children:["Explore Platform Modernization ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})}),J.jsx(tt,{to:"/services/platform-modernization",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-sky-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-sky-500 to-cyan-600 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(sc,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-sky-600 transition-colors",children:"Platform Modernization"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"AI-ready architecture without the multi-year transformation"})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Modernize infrastructure for AI workloads. Cloud migration, microservices, data infrastructure—the foundation for successful AI deployment."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Cloud migration and optimization"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Microservices architecture"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data lake and warehouse design"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-sky-600 group-hover:underline",children:["Explore Rails Upgrades ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})})]})]}),("all"===s||"analytics"===s)&&J.jsxs("div",{className:"mb-20",children:[J.jsxs("div",{className:"mb-10",children:[J.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2",children:"Turn Data into Decisions"}),J.jsx("p",{className:"text-muted-foreground",children:"Analytics infrastructure and dashboards that drive data-informed business decisions."})]}),J.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:J.jsx(tt,{to:"/services/data-analytics-platform",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-violet-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-violet-500 to-purple-600 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(jf,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-violet-600 transition-colors",children:"Data Analytics Platforms"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"BI dashboards with governance that scales"})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Build the analytics foundation for data-driven decisions. From data pipelines to executive dashboards."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data pipeline architecture"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"BI dashboard development"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data governance frameworks"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-violet-600 group-hover:underline",children:["Explore Data Analytics Platform ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})})})]}),("all"===s||"security"===s||"cv"===s)&&J.jsxs("div",{className:"mb-20",children:[J.jsxs("div",{className:"mb-10",children:[J.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2",children:"Expertise for Critical Challenges"}),J.jsx("p",{className:"text-muted-foreground",children:"Specialized capabilities for security, integration, and team augmentation."})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsx(tt,{to:"/services/security-compliance",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-red-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-red-500 to-rose-600 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(Xk,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-red-600 transition-colors",children:"AI Security & Compliance"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"97% of organizations experienced a Gen AI security incident last year."})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsxs("div",{className:"bg-red-50 rounded-lg p-4 mb-4 text-center",children:[J.jsx("div",{className:"text-4xl font-bold text-red-600 mb-1",children:"97%"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"experienced GenAI security incidents"}),J.jsx("p",{className:"text-[10px] italic text-muted-foreground/70 mt-1",children:"Source: Capgemini, 2024"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Secure AI systems against prompt injection, model theft, and emerging threats. SOC 2, HIPAA, GDPR, and AI-specific frameworks."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"AI threat modeling"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"LLM guardrails"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"NIST AI RMF / ISO 42001"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-red-600 group-hover:underline",children:["Explore AI Security Consulting ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})}),J.jsx(tt,{to:"/services/integration-fasttrack",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-amber-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-amber-500 to-orange-500 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(jN,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-amber-600 transition-colors",children:"Integration FastTrack"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"897 apps. 29% connected. Fix that in weeks."})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsxs("div",{className:"bg-amber-50 rounded-lg p-4 mb-4",children:[J.jsxs("div",{className:"flex justify-center gap-6 text-center",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-3xl font-bold text-amber-600",children:"897"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"apps"})]}),J.jsx("div",{className:"border-l border-amber-200"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-3xl font-bold text-amber-600",children:"29%"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"connected"})]})]}),J.jsx("p",{className:"text-[10px] italic text-muted-foreground/70 mt-2 text-center",children:"Source: MuleSoft, 2025"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Build the integration layer that connects your systems, enabling data flows AI applications require."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"API development"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"System integration"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Legacy connectivity"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-amber-600 group-hover:underline",children:["Explore Integration Services ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})}),J.jsx(tt,{to:"/services/product-pods",className:"group",children:J.jsxs(aU,{className:"h-full bg-white border border-border/40 hover:border-indigo-500/40 hover:shadow-xl transition-all duration-300 group-hover:-translate-y-1",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-indigo-500 to-blue-600 mb-4 w-fit group-hover:scale-105 transition-transform duration-300",children:J.jsx(GI,{className:"w-8 h-8 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground group-hover:text-indigo-600 transition-colors",children:"Product Pods"}),J.jsx("p",{className:"text-sm italic text-muted-foreground mt-1",children:"Embedded engineering teams, not staff augmentation"})]}),J.jsxs(oU,{className:"pt-0",children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Senior engineers, ML specialists, and architects who ship production code, not just fill seats."}),J.jsxs("ul",{className:"space-y-2 mb-6",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Full-stack engineering"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"ML/AI specialists"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Seamless team integration"})]})]}),J.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-indigo-600 group-hover:underline",children:["Explore AI Orchestration ",J.jsx(Ka,{className:"ml-1 w-4 h-4"})]})]})]})})]})]}),!1,0===p.length&&J.jsxs("div",{className:"text-center py-16",children:[J.jsx("p",{className:"text-muted-foreground text-lg",children:"No services match the selected filters."}),J.jsx(oz,{variant:"outline",className:"mt-4",onClick:()=>x(0,"all"),children:"Show all services"})]})]})}),J.jsx("section",{className:"py-20 md:py-28 bg-[hsl(210,25%,96%)]",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"max-w-3xl mx-auto text-center mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Built for Builders"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"We work with organizations that are serious about shipping AI—not just experimenting with it. Whether you're a startup racing to product-market fit or an enterprise scaling AI across the organization, we bring the engineering depth to make it happen."})]}),J.jsxs("div",{className:"mb-16",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-8 text-center",children:"By Company Stage"}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"bg-white border border-border/30 hover:shadow-lg transition-shadow duration-300",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-emerald-500 to-teal-500 mb-4 w-fit",children:J.jsx(Rw,{className:"w-6 h-6 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground",children:"Startups & Scale-ups"})]}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Move fast without breaking things. Build AI-powered products with production-quality infrastructure from day one."}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-emerald-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"MVP development with scalable architecture"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-emerald-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"AI feature development for core product"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-emerald-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Infrastructure that grows with you"})]})]})]})]}),J.jsxs(aU,{className:"bg-white border border-border/30 hover:shadow-lg transition-shadow duration-300",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-blue-500 to-indigo-500 mb-4 w-fit",children:J.jsx(XC,{className:"w-6 h-6 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground",children:"Growth Companies"})]}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Scale AI capabilities without scaling headcount proportionally. Augment your team with specialized expertise."}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-blue-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Strategic AI initiatives"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-blue-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Platform modernization"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-blue-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Team capability building"})]})]})]})]}),J.jsxs(aU,{className:"bg-white border border-border/30 hover:shadow-lg transition-shadow duration-300",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"inline-flex p-3 rounded-xl bg-gradient-to-br from-purple-500 to-violet-600 mb-4 w-fit",children:J.jsx(Rn,{className:"w-6 h-6 text-white"})}),J.jsx(iU,{className:"text-xl font-bold text-foreground",children:"Enterprise"})]}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"Navigate the complexity of enterprise AI at scale. Move from pilot purgatory to production deployment."}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Enterprise-wide AI strategy execution"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Complex integration projects"})]}),J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Governance and compliance frameworks"})]})]})]})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-8 text-center",children:"By Industry"}),J.jsx("div",{className:"flex flex-wrap justify-center gap-4",children:[{icon:cf,name:"Financial Services & FinTech",desc:"AI for fintech: fraud detection services, risk modeling, automated underwriting"},{icon:cg,name:"Healthcare & Life Sciences",desc:"Healthcare AI consulting: clinical decision support, HIPAA-compliant AI, patient analytics"},{icon:Uc,name:"Technology, SaaS & AI Integration",desc:"AI features for SaaS: ML feature development, intelligent automation, AI integration services"},{icon:ph,name:"Manufacturing & Industrial",desc:"AI for manufacturing: computer vision, predictive maintenance, supply chain optimization"},{icon:iM,name:"Retail & E-commerce",desc:"Retail AI solutions: recommendation engines, inventory optimization, demand forecasting"}].map(e=>J.jsx("div",{className:"group bg-white rounded-xl px-5 py-4 border border-border/30 hover:border-primary/30 hover:shadow-md transition-all duration-300 flex-1 min-w-[280px] max-w-[320px]",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10 group-hover:bg-primary/20 transition-colors",children:J.jsx(e.icon,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm mb-1",children:e.name}),J.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:e.desc})]})]})},e.name))})]})]})}),J.jsx("section",{className:"py-section-y bg-gradient-to-b from-background to-surface/20",children:J.jsxs("div",{className:"container",children:[J.jsx("div",{className:"text-center mb-xl",children:J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-lg",children:"Why Teams Choose Allerin"})}),J.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:[{icon:oc,heading:"Engineering-First, Not Consulting-First",description:"We're builders, not advisors. Our 84-person team writes code, deploys systems, and operates production AI. You get working software, not strategy decks."},{icon:Rw,heading:"Production Focus",description:"Every project is designed for production from day one. We don't build impressive demos that can't scale. We build systems that work in the real world with real data."},{icon:ZS,heading:"Measurable Outcomes",description:"We agree on success metrics upfront and hold ourselves accountable. KPI gates at every milestone ensure we're solving problems that matter to your business."},{icon:vf,heading:"Full-Stack Capability",description:"From infrastructure to models to applications, we handle the complete AI stack. No gaps, no handoffs, no finger-pointing between vendors."},{icon:$P,heading:"Speed to Value",description:"Our structured approach and reusable accelerators mean faster time to production. 90-day quick wins demonstrate value while we build for the long term."}].map((e,t)=>J.jsx("div",{className:"bg-white rounded-xl p-6 border border-border/30 hover:border-primary/30 hover:shadow-lg transition-all duration-300 "+(4===t?"md:col-span-2 lg:col-span-1 md:max-w-md md:mx-auto lg:max-w-none":""),children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"p-3 rounded-xl bg-gradient-to-br from-primary/10 to-data-teal/10 flex-shrink-0",children:J.jsx(e.icon,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground text-lg mb-2",children:e.heading}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})]})]})},e.heading))})]})}),J.jsx("section",{className:"py-section-y bg-surface/30",children:J.jsxs("div",{className:"container",children:[J.jsxs("div",{className:"text-center mb-xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-lg",children:"From First Call to Production"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto",children:"We follow a structured approach designed to maximize the probability of production success while minimizing wasted investment."})]}),J.jsx("div",{className:"hidden lg:block",children:J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute top-12 left-0 right-0 h-0.5 bg-gradient-to-r from-primary via-data-teal to-primary/50"}),J.jsx("div",{className:"grid grid-cols-5 gap-4",children:[{phase:1,label:"Discovery & Assessment",timeline:"Week 1-2",activities:["Understand business objectives","Assess data and infrastructure readiness","Identify high-impact opportunities"],deliverable:"AI Opportunity Assessment"},{phase:2,label:"Architecture & Design",timeline:"Week 2-4",activities:["Design production-ready architecture","Define data requirements","Plan integrations"],deliverable:"Technical Architecture Plan"},{phase:3,label:"Development & Iteration",timeline:"Week 4-12",activities:["Agile development","KPI gate validation","Continuous testing"],deliverable:"Working System"},{phase:4,label:"Production Deployment",timeline:"Week 10-14",activities:["Staged rollout","Monitoring setup","Team training"],deliverable:"Production System"},{phase:5,label:"Continuous Improvement",timeline:"Ongoing",activities:["Performance optimization","Model retraining","Capability transfer"],deliverable:"Improving System"}].map(e=>J.jsxs("div",{className:"relative flex flex-col items-center",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-gradient-to-br from-primary to-data-teal text-white flex items-center justify-center font-bold text-lg mb-6 relative z-10 shadow-lg",children:e.phase}),J.jsxs("div",{className:"bg-white rounded-xl p-5 border border-border/30 w-full h-full flex flex-col",children:[J.jsx("div",{className:"text-xs font-medium text-data-teal mb-2",children:e.timeline}),J.jsx("h3",{className:"font-semibold text-foreground text-sm mb-3",children:e.label}),J.jsx("ul",{className:"space-y-1.5 mb-4 flex-grow",children:e.activities.map((e,t)=>J.jsxs("li",{className:"text-xs text-muted-foreground flex items-start gap-1.5",children:[J.jsx(el,{className:"w-3 h-3 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))}),J.jsx("div",{className:"pt-3 border-t border-border/20",children:J.jsxs("p",{className:"text-xs font-medium text-foreground",children:[J.jsx("span",{className:"text-muted-foreground",children:"Deliverable: "}),e.deliverable]})})]})]},e.phase))})]})}),J.jsx("div",{className:"lg:hidden",children:J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute top-0 bottom-0 left-5 w-0.5 bg-gradient-to-b from-primary via-data-teal to-primary/50"}),J.jsx("div",{className:"space-y-6",children:[{phase:1,label:"Discovery & Assessment",timeline:"Week 1-2",activities:["Understand business objectives","Assess data and infrastructure readiness","Identify high-impact opportunities"],deliverable:"AI Opportunity Assessment"},{phase:2,label:"Architecture & Design",timeline:"Week 2-4",activities:["Design production-ready architecture","Define data requirements","Plan integrations"],deliverable:"Technical Architecture Plan"},{phase:3,label:"Development & Iteration",timeline:"Week 4-12",activities:["Agile development","KPI gate validation","Continuous testing"],deliverable:"Working System"},{phase:4,label:"Production Deployment",timeline:"Week 10-14",activities:["Staged rollout","Monitoring setup","Team training"],deliverable:"Production System"},{phase:5,label:"Continuous Improvement",timeline:"Ongoing",activities:["Performance optimization","Model retraining","Capability transfer"],deliverable:"Improving System"}].map(e=>J.jsxs("div",{className:"relative flex gap-4 pl-2",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-gradient-to-br from-primary to-data-teal text-white flex items-center justify-center font-bold text-sm flex-shrink-0 relative z-10 shadow-lg",children:e.phase}),J.jsxs("div",{className:"bg-white rounded-xl p-5 border border-border/30 flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("h3",{className:"font-semibold text-foreground",children:e.label}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:e.timeline})]}),J.jsx("ul",{className:"space-y-1.5 mb-4",children:e.activities.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))}),J.jsx("div",{className:"pt-3 border-t border-border/20",children:J.jsxs("p",{className:"text-sm font-medium text-foreground",children:[J.jsx("span",{className:"text-muted-foreground",children:"Deliverable: "}),e.deliverable]})})]})]},e.phase))})]})})]})}),J.jsx("section",{className:"py-section-y bg-background",children:J.jsxs("div",{className:"container",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-xl text-center",children:"Service Comparison"}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs("table",{className:"w-full border-collapse",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b border-outline/20",children:[J.jsx("th",{className:"text-left py-4 px-4 text-sm font-semibold text-foreground",children:"Service"}),J.jsx("th",{className:"text-center py-4 px-4 text-sm font-semibold text-foreground",children:"Timeline"}),J.jsx("th",{className:"text-center py-4 px-4 text-sm font-semibold text-foreground",children:"Team Size"}),J.jsx("th",{className:"text-center py-4 px-4 text-sm font-semibold text-foreground",children:"ROI Calculator"}),J.jsx("th",{className:"text-center py-4 px-4 text-sm font-semibold text-foreground",children:"Best For"})]})}),J.jsx("tbody",{children:gU.map((e,t)=>J.jsxs("tr",{className:t%2==0?"bg-background":"bg-surface/20",children:[J.jsx("td",{className:"py-4 px-4",children:J.jsx(tt,{to:`/services/${e.slug}`,className:"font-medium text-data-teal hover:text-data-orange transition-colors",children:e.name})}),J.jsx("td",{className:"py-4 px-4 text-center text-sm text-muted-foreground",children:e.timeline}),J.jsx("td",{className:"py-4 px-4 text-center text-sm text-muted-foreground",children:e.team}),J.jsx("td",{className:"py-4 px-4 text-center",children:["agentic-ai","computer-vision-fasttrack","platform-modernization","rapid-prototyping","integration-fasttrack","ai-orchestration"].includes(e.key)?J.jsx(tt,{to:`/roi-calculator?calc=${e.key}`,children:J.jsx(hU,{variant:"default",className:"cursor-pointer",children:"Available"})}):J.jsx("span",{className:"text-muted-foreground text-sm",children:"Contact"})}),J.jsx("td",{className:"py-4 px-4 text-sm text-muted-foreground",children:e.personas.slice(0,2).join(", ")})]},e.key))})]})})]})}),J.jsxs("section",{className:"py-section-y bg-surface/30",children:[J.jsxs("div",{className:"container",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-xl text-left",children:"Common Questions"}),J.jsx(R$,{type:"single",collapsible:!0,className:"max-w-4xl",children:[{question:"How long does a typical project take?",answer:"Timelines vary by scope, but we're designed for speed. Simple AI features can reach production in 8-10 weeks. Complex platform initiatives typically run 3-6 months. We structure projects for early wins—you'll see tangible progress within the first 30 days."},{question:"Do you work with startups or only enterprises?",answer:"Both. Our team includes engineers experienced with early-stage velocity and enterprise complexity. We scale our approach to match your stage—scrappy and fast for startups, structured and governed for enterprise."},{question:"Can you work with our existing team?",answer:"Absolutely. Our Product Pods model is designed for seamless integration with your existing engineering organization. We augment your capabilities rather than working in isolation."},{question:"What industries do you specialize in?",answer:"We've delivered production AI across financial services, healthcare, manufacturing, retail, and technology. Our engineering fundamentals apply across industries, and we bring domain-specific expertise where it matters most."},{question:"How do you handle data security and compliance?",answer:"Security is built into our process, not bolted on. We work with SOC 2, ISO 27001, HIPAA, and GDPR requirements regularly. For sensitive applications, we can deploy entirely within your infrastructure."},{question:"What if our AI project has already failed once?",answer:"We've rescued many stalled initiatives. Our discovery phase includes a frank assessment of what went wrong and what needs to change. Sometimes the original approach was sound but execution failed. Sometimes we need to start fresh."},{question:"Do you provide ongoing support after deployment?",answer:"Yes. Production AI requires ongoing attention—monitoring, retraining, optimization. We offer support retainers or can train your team to handle operations independently."},{question:"How do you price your services?",answer:"We offer flexible engagement models: fixed-price projects for well-defined scopes, time-and-materials for evolving initiatives, and dedicated team arrangements for ongoing work. We'll recommend the right model during our initial conversation."}].map((e,t)=>J.jsxs(O$,{value:`faq-${t}`,className:"border-b border-border/30",children:[J.jsx(D$,{className:"text-left text-foreground hover:no-underline py-5",children:J.jsx("span",{className:"font-medium text-base",children:e.question})}),J.jsx(q$,{className:"text-muted-foreground pb-5 text-base leading-relaxed",children:e.answer})]},t))})]}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How long does a typical project take?",acceptedAnswer:{"@type":"Answer",text:"Timelines vary by scope, but we're designed for speed. Simple AI features can reach production in 8-10 weeks. Complex platform initiatives typically run 3-6 months. We structure projects for early wins—you'll see tangible progress within the first 30 days."}},{"@type":"Question",name:"Do you work with startups or only enterprises?",acceptedAnswer:{"@type":"Answer",text:"Both. Our team includes engineers experienced with early-stage velocity and enterprise complexity. We scale our approach to match your stage—scrappy and fast for startups, structured and governed for enterprise."}},{"@type":"Question",name:"Can you work with our existing team?",acceptedAnswer:{"@type":"Answer",text:"Absolutely. Our Product Pods model is designed for seamless integration with your existing engineering organization. We augment your capabilities rather than working in isolation."}},{"@type":"Question",name:"What industries do you specialize in?",acceptedAnswer:{"@type":"Answer",text:"We've delivered production AI across financial services, healthcare, manufacturing, retail, and technology. Our engineering fundamentals apply across industries, and we bring domain-specific expertise where it matters most."}},{"@type":"Question",name:"How do you handle data security and compliance?",acceptedAnswer:{"@type":"Answer",text:"Security is built into our process, not bolted on. We work with SOC 2, ISO 27001, HIPAA, and GDPR requirements regularly. For sensitive applications, we can deploy entirely within your infrastructure."}},{"@type":"Question",name:"What if our AI project has already failed once?",acceptedAnswer:{"@type":"Answer",text:"We've rescued many stalled initiatives. Our discovery phase includes a frank assessment of what went wrong and what needs to change. Sometimes the original approach was sound but execution failed. Sometimes we need to start fresh."}},{"@type":"Question",name:"Do you provide ongoing support after deployment?",acceptedAnswer:{"@type":"Answer",text:"Yes. Production AI requires ongoing attention—monitoring, retraining, optimization. We offer support retainers or can train your team to handle operations independently."}},{"@type":"Question",name:"How do you price your services?",acceptedAnswer:{"@type":"Answer",text:"We offer flexible engagement models: fixed-price projects for well-defined scopes, time-and-materials for evolving initiatives, and dedicated team arrangements for ongoing work. We'll recommend the right model during our initial conversation."}}]})}})]}),J.jsx("section",{className:"py-section-y bg-muted/30 border-t border-border/50",children:J.jsxs("div",{className:"container",children:[J.jsx("h2",{className:"text-2xl font-bold text-foreground mb-lg text-center",children:"Explore More"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-lg",children:[J.jsxs("div",{className:"bg-background rounded-xl p-lg border border-border/50",children:[J.jsxs("h3",{className:"text-lg font-semibold text-foreground mb-md flex items-center gap-2",children:[J.jsx(Rn,{className:"w-5 h-5 text-data-teal"}),"Industries We Serve"]}),J.jsxs("ul",{className:"space-y-2 text-sm",children:[J.jsx("li",{children:J.jsx(tt,{to:"/industries/manufacturing",className:"text-muted-foreground hover:text-data-teal transition-colors",children:"Manufacturing & Industrial →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/industries/transportation-rail",className:"text-muted-foreground hover:text-data-teal transition-colors",children:"Transportation & Rail →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/industries/energy-utilities",className:"text-muted-foreground hover:text-data-teal transition-colors",children:"Energy & Utilities →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/industries/insurance-government",className:"text-muted-foreground hover:text-data-teal transition-colors",children:"Insurance & Government →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/industries",className:"text-data-teal font-medium hover:text-data-orange transition-colors",children:"View All Industries →"})})]})]}),J.jsxs("div",{className:"bg-background rounded-xl p-lg border border-border/50",children:[J.jsxs("h3",{className:"text-lg font-semibold text-foreground mb-md flex items-center gap-2",children:[J.jsx(vf,{className:"w-5 h-5 text-data-orange"}),"AI Products"]}),J.jsxs("ul",{className:"space-y-2 text-sm",children:[J.jsx("li",{children:J.jsx(tt,{to:"/products/neurosight",className:"text-muted-foreground hover:text-data-orange transition-colors",children:"NeuroSight — Edge AI Platform →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/products/sentra",className:"text-muted-foreground hover:text-data-orange transition-colors",children:"Sentra — Intelligent Automation →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/products/vista",className:"text-muted-foreground hover:text-data-orange transition-colors",children:"Vista — Analytics Dashboard →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/products/ipam",className:"text-muted-foreground hover:text-data-orange transition-colors",children:"iPAM — Smart Parking Platform →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/products",className:"text-data-orange font-medium hover:text-data-teal transition-colors",children:"View All Products →"})})]})]}),J.jsxs("div",{className:"bg-background rounded-xl p-lg border border-border/50",children:[J.jsxs("h3",{className:"text-lg font-semibold text-foreground mb-md flex items-center gap-2",children:[J.jsx(XC,{className:"w-5 h-5 text-primary"}),"Customer Success"]}),J.jsxs("ul",{className:"space-y-2 text-sm",children:[J.jsx("li",{children:J.jsx(tt,{to:"/customers/enterprise-saas-performance",className:"text-muted-foreground hover:text-primary transition-colors",children:"Enterprise SaaS: 40% Performance Gain →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/customers/municipal-cv-cost",className:"text-muted-foreground hover:text-primary transition-colors",children:"Municipal CV: 60% Cost Reduction →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/customers/redaction-compliance",className:"text-muted-foreground hover:text-primary transition-colors",children:"Redaction: 99.7% Compliance Rate →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/solutions",className:"text-muted-foreground hover:text-primary transition-colors",children:"Explore AI Solutions →"})}),J.jsx("li",{children:J.jsx(tt,{to:"/customers",className:"text-primary font-medium hover:text-data-teal transition-colors",children:"View All Case Studies →"})})]})]})]}),J.jsxs("div",{className:"mt-xl pt-lg border-t border-border/30",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-md text-center",children:"Resources & Guides"}),J.jsxs("div",{className:"flex flex-wrap justify-center gap-md",children:[J.jsx(tt,{to:"/resources/agentic-ai-guardrails-evals-hitl",className:"text-sm text-muted-foreground hover:text-data-teal transition-colors px-4 py-2 bg-background rounded-lg border border-border/50",children:"Agentic AI Guardrails Guide"}),J.jsx(tt,{to:"/resources/edge-computer-vision-production-blueprint",className:"text-sm text-muted-foreground hover:text-data-teal transition-colors px-4 py-2 bg-background rounded-lg border border-border/50",children:"Edge CV Production Blueprint"}),J.jsx(tt,{to:"/resources/alpr-redaction-policy-guide",className:"text-sm text-muted-foreground hover:text-data-teal transition-colors px-4 py-2 bg-background rounded-lg border border-border/50",children:"ALPR Redaction Policy Guide"}),J.jsx(tt,{to:"/trust",className:"text-sm text-muted-foreground hover:text-data-teal transition-colors px-4 py-2 bg-background rounded-lg border border-border/50",children:"Trust & Security Center"}),J.jsx(tt,{to:"/company",className:"text-sm text-muted-foreground hover:text-data-teal transition-colors px-4 py-2 bg-background rounded-lg border border-border/50",children:"About Allerin"})]})]})]})}),J.jsx("section",{className:"py-section-y bg-foreground",children:J.jsxs("div",{className:"container text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-background mb-lg",children:"Ready to Ship AI That Works?"}),J.jsx("p",{className:"text-xl text-background/80 mb-xl max-w-3xl mx-auto leading-relaxed",children:"Let's discuss your AI initiative. Whether you're starting fresh, rescuing a stalled project, or scaling what's working, we'll give you an honest assessment of what it takes to succeed."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-xl",children:[J.jsxs(oz,{size:"lg",className:"bg-gradient-to-r from-data-teal to-primary text-white hover:opacity-90 min-h-[48px] px-8",onClick:u,children:["Schedule Architecture Review ",J.jsx(Ka,{className:"ml-2 w-4 h-4"})]}),J.jsx(oz,{size:"lg",variant:"outline",className:"border-background/30 text-background hover:bg-background/10 min-h-[48px] px-8",onClick:()=>o(!0),children:"Download AI Readiness Guide"})]}),J.jsxs("div",{className:"text-background/60 text-sm space-y-1",children:[J.jsx("p",{className:"font-medium text-background/70 mb-2",children:"Prefer to reach out directly?"}),J.jsxs("p",{children:["Email: ",J.jsx("a",{href:"mailto:contact@allerin.com",className:"text-data-teal hover:text-data-orange transition-colors",children:"contact@allerin.com"})]}),J.jsxs("p",{children:["Phone: ",J.jsx("a",{href:"tel:+15122002416",className:"text-data-teal hover:text-data-orange transition-colors",children:"+1-512-200-2416"})]}),J.jsx("p",{children:"Austin, TX"})]})]})})]}),J.jsx(KU,{}),J.jsx(BG,{open:r,onOpenChange:i,defaultIntent:"architect",context:{sourcePage:"/services",sourceButton:"services_hero_cta"}}),J.jsx(KK,{open:n,onOpenChange:o})]})};var ZK="Tabs",[JK,XK]=Q(ZK,[He]),eQ=He(),[tQ,sQ]=JK(ZK),aQ=Qe.forwardRef((e,t)=>{const{__scopeTabs:s,value:a,onValueChange:r,defaultValue:i,orientation:n="horizontal",dir:o,activationMode:l="automatic",...d}=e,c=Ve(o),[m,h]=se({prop:a,onChange:r,defaultProp:i??"",caller:ZK});return J.jsx(tQ,{scope:s,baseId:fe(),value:m,onValueChange:h,orientation:n,dir:c,activationMode:l,children:J.jsx(ee.div,{dir:c,"data-orientation":n,...d,ref:t})})});aQ.displayName=ZK;var rQ="TabsList",iQ=Qe.forwardRef((e,t)=>{const{__scopeTabs:s,loop:a=!0,...r}=e,i=sQ(rQ,s),n=eQ(s);return J.jsx(Be,{asChild:!0,...n,orientation:i.orientation,dir:i.dir,loop:a,children:J.jsx(ee.div,{role:"tablist","aria-orientation":i.orientation,...r,ref:t})})});iQ.displayName=rQ;var nQ="TabsTrigger",oQ=Qe.forwardRef((e,t)=>{const{__scopeTabs:s,value:a,disabled:r=!1,...i}=e,n=sQ(nQ,s),o=eQ(s),l=cQ(n.baseId,a),d=mQ(n.baseId,a),c=a===n.value;return J.jsx(Ge,{asChild:!0,...o,focusable:!r,active:c,children:J.jsx(ee.button,{type:"button",role:"tab","aria-selected":c,"aria-controls":d,"data-state":c?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:l,...i,ref:t,onMouseDown:ie(e.onMouseDown,e=>{r||0!==e.button||!1!==e.ctrlKey?e.preventDefault():n.onValueChange(a)}),onKeyDown:ie(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&n.onValueChange(a)}),onFocus:ie(e.onFocus,()=>{const e="manual"!==n.activationMode;c||r||!e||n.onValueChange(a)})})})});oQ.displayName=nQ;var lQ="TabsContent",dQ=Qe.forwardRef((e,t)=>{const{__scopeTabs:s,value:a,forceMount:r,children:i,...n}=e,o=sQ(lQ,s),l=cQ(o.baseId,a),d=mQ(o.baseId,a),c=a===o.value,m=Qe.useRef(c);return Qe.useEffect(()=>{const e=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(e)},[]),J.jsx(ae,{present:r||c,children:({present:s})=>J.jsx(ee.div,{"data-state":c?"active":"inactive","data-orientation":o.orientation,role:"tabpanel","aria-labelledby":l,hidden:!s,id:d,tabIndex:0,...n,ref:t,style:{...e.style,animationDuration:m.current?"0s":void 0},children:s&&i})})});function cQ(e,t){return`${e}-trigger-${t}`}function mQ(e,t){return`${e}-content-${t}`}dQ.displayName=lQ;var hQ=iQ,xQ=oQ,uQ=dQ;const pQ=aQ,gQ=Qe.forwardRef(({className:e,...t},s)=>J.jsx(hQ,{ref:s,className:VT("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));gQ.displayName=hQ.displayName;const fQ=Qe.forwardRef(({className:e,...t},s)=>J.jsx(xQ,{ref:s,className:VT("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",e),...t}));fQ.displayName=xQ.displayName;const yQ=Qe.forwardRef(({className:e,...t},s)=>J.jsx(uQ,{ref:s,className:VT("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));function bQ(e){return function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e)||Array.isArray(e)}function vQ(e,t){const s=Object.keys(e),a=Object.keys(t);if(s.length!==a.length)return!1;return JSON.stringify(Object.keys(e.breakpoints||{}))===JSON.stringify(Object.keys(t.breakpoints||{}))&&s.every(s=>{const a=e[s],r=t[s];return"function"==typeof a?`${a}`==`${r}`:bQ(a)&&bQ(r)?vQ(a,r):a===r})}function jQ(e){return e.concat().sort((e,t)=>e.name>t.name?1:-1).map(e=>e.options)}function NQ(e){return"number"==typeof e}function wQ(e){return"string"==typeof e}function kQ(e){return"boolean"==typeof e}function MQ(e){return"[object Object]"===Object.prototype.toString.call(e)}function AQ(e){return Math.abs(e)}function SQ(e){return Math.sign(e)}function CQ(e,t){return AQ(e-t)}function IQ(e){return DQ(e).map(Number)}function PQ(e){return e[TQ(e)]}function TQ(e){return Math.max(0,e.length-1)}function RQ(e,t){return t===TQ(e)}function OQ(e,t=0){return Array.from(Array(e),(e,s)=>t+s)}function DQ(e){return Object.keys(e)}function qQ(e,t){return[e,t].reduce((e,t)=>(DQ(t).forEach(s=>{const a=e[s],r=t[s],i=MQ(a)&&MQ(r);e[s]=i?qQ(a,r):r}),e),{})}function EQ(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function zQ(){let e=[];const t={add:function(s,a,r,i={passive:!0}){let n;if("addEventListener"in s)s.addEventListener(a,r,i),n=()=>s.removeEventListener(a,r,i);else{const e=s;e.addListener(r),n=()=>e.removeListener(r)}return e.push(n),t},clear:function(){e=e.filter(e=>e())}};return t}function _Q(e,t,s,a){const r=zQ(),i=1e3/60;let n=null,o=0,l=0;function d(e){if(!l)return;n||(n=e,s(),s());const r=e-n;for(n=e,o+=r;o>=i;)s(),o-=i;a(o/i),l&&(l=t.requestAnimationFrame(d))}function c(){t.cancelAnimationFrame(l),n=null,o=0,l=0}return{init:function(){r.add(e,"visibilitychange",()=>{e.hidden&&(n=null,o=0)})},destroy:function(){c(),r.clear()},start:function(){l||(l=t.requestAnimationFrame(d))},stop:c,update:s,render:a}}function LQ(e=0,t=0){const s=AQ(e-t);function a(t){return t<e}function r(e){return e>t}function i(e){return a(e)||r(e)}return{length:s,max:t,min:e,constrain:function(s){return i(s)?a(s)?e:t:s},reachedAny:i,reachedMax:r,reachedMin:a,removeOffset:function(e){return s?e-s*Math.ceil((e-t)/s):e}}}function FQ(e,t,s){const{constrain:a}=LQ(0,e),r=e+1;let i=n(t);function n(e){return s?AQ((r+e)%r):a(e)}function o(){return i}function l(){return FQ(e,o(),s)}const d={get:o,set:function(e){return i=n(e),d},add:function(e){return l().set(o()+e)},clone:l};return d}function WQ(e,t,s,a,r,i,n,o,l,d,c,m,h,x,u,p,g,f,y){const{cross:b,direction:v}=e,j=["INPUT","SELECT","TEXTAREA"],N={passive:!1},w=zQ(),k=zQ(),M=LQ(50,225).constrain(x.measure(20)),A={mouse:300,touch:400},S={mouse:500,touch:600},C=u?43:25;let I=!1,P=0,T=0,R=!1,O=!1,D=!1,q=!1;function E(e){if(!EQ(e,a)&&e.touches.length>=2)return z(e);const t=i.readPoint(e),s=i.readPoint(e,b),n=CQ(t,P),l=CQ(s,T);if(!O&&!q){if(!e.cancelable)return z(e);if(O=n>l,!O)return z(e)}const c=i.pointerMove(e);n>p&&(D=!0),d.useFriction(.3).useDuration(.75),o.start(),r.add(v(c)),e.preventDefault()}function z(e){const t=c.byDistance(0,!1).index!==m.get(),s=i.pointerUp(e)*(u?S:A)[q?"mouse":"touch"],a=function(e,t){const s=m.add(-1*SQ(e)),a=c.byDistance(e,!u).distance;return u||AQ(e)<M?a:g&&t?.5*a:c.byIndex(s.get(),0).distance}(v(s),t),r=function(e,t){if(0===e||0===t)return 0;if(AQ(e)<=AQ(t))return 0;const s=CQ(AQ(e),AQ(t));return AQ(s/e)}(s,a),n=C-10*r,o=f+r/50;O=!1,R=!1,k.clear(),d.useDuration(n).useFriction(o),l.distance(a,!u),q=!1,h.emit("pointerUp")}function _(e){D&&(e.stopPropagation(),e.preventDefault(),D=!1)}return{init:function(e){if(!y)return;function o(o){(kQ(y)||y(e,o))&&function(e){const o=EQ(e,a);if(q=o,D=u&&o&&!e.buttons&&I,I=CQ(r.get(),n.get())>=2,o&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return j.includes(t)}(e.target))return;R=!0,i.pointerDown(e),d.useFriction(0).useDuration(0),r.set(n),function(){const e=q?s:t;k.add(e,"touchmove",E,N).add(e,"touchend",z).add(e,"mousemove",E,N).add(e,"mouseup",z)}(),P=i.readPoint(e),T=i.readPoint(e,b),h.emit("pointerDown")}(o)}const l=t;w.add(l,"dragstart",e=>e.preventDefault(),N).add(l,"touchmove",()=>{},N).add(l,"touchend",()=>{}).add(l,"touchstart",o).add(l,"mousedown",o).add(l,"touchcancel",z).add(l,"contextmenu",z).add(l,"click",_,!0)},destroy:function(){w.clear(),k.clear()},pointerDown:function(){return R}}}function HQ(e,t){let s,a;function r(e){return e.timeStamp}function i(s,a){const r="client"+("x"===(a||e.scroll)?"X":"Y");return(EQ(s,t)?s:s.touches[0])[r]}return{pointerDown:function(e){return s=e,a=e,i(e)},pointerMove:function(e){const t=i(e)-i(a),n=r(e)-r(s)>170;return a=e,n&&(s=e),t},pointerUp:function(e){if(!s||!a)return 0;const t=i(a)-i(s),n=r(e)-r(s),o=r(e)-r(a)>170,l=t/n;return n&&!o&&AQ(l)>.1?l:0},readPoint:i}}function VQ(e,t,s,a,r,i,n){const o=[e].concat(a);let l,d,c=[],m=!1;function h(e){return r.measureSize(n.measure(e))}return{init:function(r){i&&(d=h(e),c=a.map(h),l=new ResizeObserver(s=>{(kQ(i)||i(r,s))&&function(s){for(const i of s){if(m)return;const s=i.target===e,n=a.indexOf(i.target),o=s?d:c[n];if(AQ(h(s?e:a[n])-o)>=.5){r.reInit(),t.emit("resize");break}}}(s)}),s.requestAnimationFrame(()=>{o.forEach(e=>l.observe(e))}))},destroy:function(){m=!0,l&&l.disconnect()}}}function BQ(e,t,s,a,r){const i=r.measure(10),n=r.measure(50),o=LQ(.1,.99);let l=!1;function d(){return!l&&(!!e.reachedAny(s.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:d,constrain:function(r){if(!d())return;const l=e.reachedMin(t.get())?"min":"max",c=AQ(e[l]-t.get()),m=s.get()-t.get(),h=o.constrain(c/n);s.subtract(m*h),!r&&AQ(m)<i&&(s.set(e.constrain(s.get())),a.useDuration(25).useBaseFriction())},toggleActive:function(e){l=!e}}}function GQ(e,t,s,a){const r=t.min+.1,i=t.max+.1,{reachedMin:n,reachedMax:o}=LQ(r,i);return{loop:function(t){if(!function(e){return 1===e?o(s.get()):-1===e&&n(s.get())}(t))return;const r=e*(-1*t);a.forEach(e=>e.add(r))}}}function UQ(e,t,s,a,r){const{reachedAny:i,removeOffset:n,constrain:o}=a;function l(e){return e.concat().sort((e,t)=>AQ(e)-AQ(t))[0]}function d(t,a){const r=[t,t+s,t-s];if(!e)return t;if(!a)return l(r);const i=r.filter(e=>SQ(e)===a);return i.length?l(i):PQ(r)-s}return{byDistance:function(s,a){const l=r.get()+s,{index:c,distance:m}=function(s){const a=e?n(s):o(s),r=t.map((e,t)=>({diff:d(e-a,0),index:t})).sort((e,t)=>AQ(e.diff)-AQ(t.diff)),{index:i}=r[0];return{index:i,distance:a}}(l),h=!e&&i(l);return!a||h?{index:c,distance:s}:{index:c,distance:s+d(t[c]-m,0)}},byIndex:function(e,s){return{index:e,distance:d(t[e]-r.get(),s)}},shortcut:d}}function $Q(e,t,s,a,r,i,n,o){const l={passive:!0,capture:!0};let d=0;function c(e){"Tab"===e.code&&(d=(new Date).getTime())}return{init:function(m){o&&(i.add(document,"keydown",c,!1),t.forEach((t,c)=>{i.add(t,"focus",t=>{(kQ(o)||o(m,t))&&function(t){if((new Date).getTime()-d>10)return;n.emit("slideFocusStart"),e.scrollLeft=0;const i=s.findIndex(e=>e.includes(t));NQ(i)&&(r.useDuration(0),a.index(i,0),n.emit("slideFocus"))}(c)},l)}))}}}function YQ(e){let t=e;function s(e){return NQ(e)?e:e.get()}return{get:function(){return t},set:function(e){t=s(e)},add:function(e){t+=s(e)},subtract:function(e){t-=s(e)}}}function KQ(e,t){const s="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},a=t.style;let r=null,i=!1;return{clear:function(){i||(a.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){if(i)return;const n=(o=e.direction(t),Math.round(100*o)/100);var o;n!==r&&(a.transform=s(n),r=n)},toggleActive:function(e){i=!e}}}function QQ(e,t,s,a,r,i,n,o,l){const d=IQ(r),c=IQ(r).reverse(),m=function(){const e=n[0];return u(x(c,e),s,!1)}().concat(function(){const e=t-n[0]-1;return u(x(d,e),-s,!0)}());function h(e,t){return e.reduce((e,t)=>e-r[t],t)}function x(e,t){return e.reduce((e,s)=>h(e,t)>0?e.concat([s]):e,[])}function u(r,n,d){const c=function(e){return i.map((s,r)=>({start:s-a[r]+.5+e,end:s+t-.5+e}))}(n);return r.map(t=>{const a=d?0:-s,r=d?s:0,i=d?"end":"start",n=c[t][i];return{index:t,loopPoint:n,slideLocation:YQ(-1),translate:KQ(e,l[t]),target:()=>o.get()>n?a:r}})}return{canLoop:function(){return m.every(({index:e})=>h(d.filter(t=>t!==e),t)<=.1)},clear:function(){m.forEach(e=>e.translate.clear())},loop:function(){m.forEach(e=>{const{target:t,translate:s,slideLocation:a}=e,r=t();r!==a.get()&&(s.to(r),a.set(r))})},loopPoints:m}}function ZQ(e,t,s){let a,r=!1;return{init:function(i){s&&(a=new MutationObserver(e=>{r||(kQ(s)||s(i,e))&&function(e){for(const s of e)if("childList"===s.type){i.reInit(),t.emit("slidesChanged");break}}(e)}),a.observe(e,{childList:!0}))},destroy:function(){a&&a.disconnect(),r=!0}}}function JQ(e,t,s,a){const r={};let i,n=null,o=null,l=!1;return{init:function(){i=new IntersectionObserver(e=>{l||(e.forEach(e=>{const s=t.indexOf(e.target);r[s]=e}),n=null,o=null,s.emit("slidesInView"))},{root:e.parentElement,threshold:a}),t.forEach(e=>i.observe(e))},destroy:function(){i&&i.disconnect(),l=!0},get:function(e=!0){if(e&&n)return n;if(!e&&o)return o;const t=function(e){return DQ(r).reduce((t,s)=>{const a=parseInt(s),{isIntersecting:i}=r[a];return(e&&i||!e&&!i)&&t.push(a),t},[])}(e);return e&&(n=t),e||(o=t),t}}}function XQ(e,t,s,a,r,i,n,o,l){const{startEdge:d,endEdge:c,direction:m}=e,h=NQ(s);return{groupSlides:function(e){return h?function(e,t){return IQ(e).filter(e=>e%t===0).map(s=>e.slice(s,s+t))}(e,s):function(e){return e.length?IQ(e).reduce((s,h,x)=>{const u=PQ(s)||0,p=0===u,g=h===TQ(e),f=r[d]-i[u][d],y=r[d]-i[h][c],b=!a&&p?m(n):0,v=AQ(y-(!a&&g?m(o):0)-(f+b));return x&&v>t+l&&s.push(h),g&&s.push(e.length),s},[]).map((t,s,a)=>{const r=Math.max(a[s-1]||0);return e.slice(r,t)}):[]}(e)}}}function eZ(e,t,s,a,r,i,n){const{align:o,axis:l,direction:d,startIndex:c,loop:m,duration:h,dragFree:x,dragThreshold:u,inViewThreshold:p,slidesToScroll:g,skipSnaps:f,containScroll:y,watchResize:b,watchSlides:v,watchDrag:j,watchFocus:N}=i,w={measure:function(e){const{offsetTop:t,offsetLeft:s,offsetWidth:a,offsetHeight:r}=e;return{top:t,right:s+a,bottom:t+r,left:s,width:a,height:r}}},k=w.measure(t),M=s.map(w.measure),A=function(e,t){const s="rtl"===t,a="y"===e,r=!a&&s?-1:1;return{scroll:a?"y":"x",cross:a?"x":"y",startEdge:a?"top":s?"right":"left",endEdge:a?"bottom":s?"left":"right",measureSize:function(e){const{height:t,width:s}=e;return a?t:s},direction:function(e){return e*r}}}(l,d),S=A.measureSize(k),C=function(e){return{measure:function(t){return e*(t/100)}}}(S),I=function(e,t){const s={start:function(){return 0},center:function(e){return a(e)/2},end:a};function a(e){return t-e}return{measure:function(a,r){return wQ(e)?s[e](a):e(t,a,r)}}}(o,S),P=!m&&!!y,T=m||!!y,{slideSizes:R,slideSizesWithGaps:O,startGap:D,endGap:q}=function(e,t,s,a,r,i){const{measureSize:n,startEdge:o,endEdge:l}=e,d=s[0]&&r,c=function(){if(!d)return 0;const e=s[0];return AQ(t[o]-e[o])}(),m=function(){if(!d)return 0;const e=i.getComputedStyle(PQ(a));return parseFloat(e.getPropertyValue(`margin-${l}`))}(),h=s.map(n),x=s.map((e,t,s)=>{const a=!t,r=RQ(s,t);return a?h[t]+c:r?h[t]+m:s[t+1][o]-e[o]}).map(AQ);return{slideSizes:h,slideSizesWithGaps:x,startGap:c,endGap:m}}(A,k,M,s,T,r),E=XQ(A,S,g,m,k,M,D,q,2),{snaps:z,snapsAligned:_}=function(e,t,s,a,r){const{startEdge:i,endEdge:n}=e,{groupSlides:o}=r,l=o(a).map(e=>PQ(e)[n]-e[0][i]).map(AQ).map(t.measure),d=a.map(e=>s[i]-e[i]).map(e=>-AQ(e)),c=o(d).map(e=>e[0]).map((e,t)=>e+l[t]);return{snaps:d,snapsAligned:c}}(A,I,k,M,E),L=-PQ(z)+PQ(O),{snapsContained:F,scrollContainLimit:W}=function(e,t,s,a,r){const i=LQ(-t+e,0),n=s.map((e,t)=>{const{min:a,max:r}=i,n=i.constrain(e),o=!t,d=RQ(s,t);return o?r:d||l(a,n)?a:l(r,n)?r:n}).map(e=>parseFloat(e.toFixed(3))),o=function(){const e=n[0],t=PQ(n);return LQ(n.lastIndexOf(e),n.indexOf(t)+1)}();function l(e,t){return CQ(e,t)<=1}return{snapsContained:function(){if(t<=e+r)return[i.max];if("keepSnaps"===a)return n;const{min:s,max:l}=o;return n.slice(s,l)}(),scrollContainLimit:o}}(S,L,_,y,2),H=P?F:_,{limit:V}=function(e,t,s){const a=t[0];return{limit:LQ(s?a-e:PQ(t),a)}}(L,H,m),B=FQ(TQ(H),c,m),G=B.clone(),U=IQ(s),$=_Q(a,r,()=>(({dragHandler:e,scrollBody:t,scrollBounds:s,options:{loop:a}})=>{a||s.constrain(e.pointerDown()),t.seek()})(oe),e=>(({scrollBody:e,translate:t,location:s,offsetLocation:a,previousLocation:r,scrollLooper:i,slideLooper:n,dragHandler:o,animation:l,eventHandler:d,scrollBounds:c,options:{loop:m}},h)=>{const x=e.settled(),u=!c.shouldConstrain(),p=m?x:x&&u,g=p&&!o.pointerDown();g&&l.stop();const f=s.get()*h+r.get()*(1-h);a.set(f),m&&(i.loop(e.direction()),n.loop()),t.to(a.get()),g&&d.emit("settle"),p||d.emit("scroll")})(oe,e)),Y=H[B.get()],K=YQ(Y),Q=YQ(Y),Z=YQ(Y),J=YQ(Y),X=function(e,t,s,a,r,i){let n=0,o=0,l=r,d=i,c=e.get(),m=0;function h(e){return l=e,u}function x(e){return d=e,u}const u={direction:function(){return o},duration:function(){return l},velocity:function(){return n},seek:function(){const t=a.get()-e.get();let r=0;return l?(s.set(e),n+=t/l,n*=d,c+=n,e.add(n),r=c-m):(n=0,s.set(a),e.set(a),r=t),o=SQ(r),m=c,u},settled:function(){return AQ(a.get()-t.get())<.001},useBaseFriction:function(){return x(i)},useBaseDuration:function(){return h(r)},useFriction:x,useDuration:h};return u}(K,Z,Q,J,h,.68),ee=UQ(m,H,L,V,J),te=function(e,t,s,a,r,i,n){function o(r){const o=r.distance,l=r.index!==t.get();i.add(o),o&&(a.duration()?e.start():(e.update(),e.render(1),e.update())),l&&(s.set(t.get()),t.set(r.index),n.emit("select"))}return{distance:function(e,t){o(r.byDistance(e,t))},index:function(e,s){const a=t.clone().set(e);o(r.byIndex(a.get(),s))}}}($,B,G,X,ee,J,n),se=function(e){const{max:t,length:s}=e;return{get:function(e){return s?(e-t)/-s:0}}}(V),ae=zQ(),re=JQ(t,s,n,p),{slideRegistry:ie}=function(e,t,s,a,r,i){const{groupSlides:n}=r,{min:o,max:l}=a;return{slideRegistry:function(){const a=n(i),r=!e||"keepSnaps"===t;return 1===s.length?[i]:r?a:a.slice(o,l).map((e,t,s)=>{const a=!t,r=RQ(s,t);return a?OQ(PQ(s[0])+1):r?OQ(TQ(i)-PQ(s)[0]+1,PQ(s)[0]):e})}()}}(P,y,H,W,E,U),ne=$Q(e,s,ie,te,X,ae,n,N),oe={ownerDocument:a,ownerWindow:r,eventHandler:n,containerRect:k,slideRects:M,animation:$,axis:A,dragHandler:WQ(A,e,a,r,J,HQ(A,r),K,$,te,X,ee,B,n,C,x,u,f,.68,j),eventStore:ae,percentOfView:C,index:B,indexPrevious:G,limit:V,location:K,offsetLocation:Z,previousLocation:Q,options:i,resizeHandler:VQ(t,n,r,s,A,b,w),scrollBody:X,scrollBounds:BQ(V,Z,J,X,C),scrollLooper:GQ(L,V,Z,[K,Z,Q,J]),scrollProgress:se,scrollSnapList:H.map(se.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:QQ(A,S,L,R,O,z,H,Z,s),slideFocus:ne,slidesHandler:ZQ(t,n,v),slidesInView:re,slideIndexes:U,slideRegistry:ie,slidesToScroll:E,target:J,translate:KQ(A,t)};return oe}yQ.displayName=uQ.displayName;const tZ={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function sZ(e){function t(e,t){return qQ(e,t||{})}const s={mergeOptions:t,optionsAtMedia:function(s){const a=s.breakpoints||{},r=DQ(a).filter(t=>e.matchMedia(t).matches).map(e=>a[e]).reduce((e,s)=>t(e,s),{});return t(s,r)},optionsMediaQueries:function(t){return t.map(e=>DQ(e.breakpoints||{})).reduce((e,t)=>e.concat(t),[]).map(e.matchMedia)}};return s}function aZ(e,t,s){const a=e.ownerDocument,r=a.defaultView,i=sZ(r),n=function(e){let t=[];const s={init:function(s,a){return t=a.filter(({options:t})=>!1!==e.optionsAtMedia(t).active),t.forEach(t=>t.init(s,e)),a.reduce((e,t)=>Object.assign(e,{[t.name]:t}),{})},destroy:function(){t=t.filter(e=>e.destroy())}};return s}(i),o=zQ(),l=function(){let e,t={};function s(e){return t[e]||[]}const a={init:function(t){e=t},emit:function(t){return s(t).forEach(s=>s(e,t)),a},off:function(e,r){return t[e]=s(e).filter(e=>e!==r),a},on:function(e,r){return t[e]=s(e).concat([r]),a},clear:function(){t={}}};return a}(),{mergeOptions:d,optionsAtMedia:c,optionsMediaQueries:m}=i,{on:h,off:x,emit:u}=l,p=A;let g,f,y,b,v=!1,j=d(tZ,aZ.globalOptions),N=d(j),w=[];function k(t){const s=eZ(e,y,b,a,r,t,l);if(t.loop&&!s.slideLooper.canLoop()){return k(Object.assign({},t,{loop:!1}))}return s}function M(t,s){v||(j=d(j,t),N=c(j),w=s||w,function(){const{container:t,slides:s}=N,a=wQ(t)?e.querySelector(t):t;y=a||e.children[0];const r=wQ(s)?y.querySelectorAll(s):s;b=[].slice.call(r||y.children)}(),g=k(N),m([j,...w.map(({options:e})=>e)]).forEach(e=>o.add(e,"change",A)),N.active&&(g.translate.to(g.location.get()),g.animation.init(),g.slidesInView.init(),g.slideFocus.init(P),g.eventHandler.init(P),g.resizeHandler.init(P),g.slidesHandler.init(P),g.options.loop&&g.slideLooper.loop(),y.offsetParent&&b.length&&g.dragHandler.init(P),f=n.init(P,w)))}function A(e,t){const s=I();S(),M(d({startIndex:s},e),t),l.emit("reInit")}function S(){g.dragHandler.destroy(),g.eventStore.clear(),g.translate.clear(),g.slideLooper.clear(),g.resizeHandler.destroy(),g.slidesHandler.destroy(),g.slidesInView.destroy(),g.animation.destroy(),n.destroy(),o.clear()}function C(e,t,s){N.active&&!v&&(g.scrollBody.useBaseFriction().useDuration(!0===t?0:N.duration),g.scrollTo.index(e,s||0))}function I(){return g.index.get()}const P={canScrollNext:function(){return g.index.add(1).get()!==I()},canScrollPrev:function(){return g.index.add(-1).get()!==I()},containerNode:function(){return y},internalEngine:function(){return g},destroy:function(){v||(v=!0,o.clear(),S(),l.emit("destroy"),l.clear())},off:x,on:h,emit:u,plugins:function(){return f},previousScrollSnap:function(){return g.indexPrevious.get()},reInit:p,rootNode:function(){return e},scrollNext:function(e){C(g.index.add(1).get(),e,-1)},scrollPrev:function(e){C(g.index.add(-1).get(),e,1)},scrollProgress:function(){return g.scrollProgress.get(g.offsetLocation.get())},scrollSnapList:function(){return g.scrollSnapList},scrollTo:C,selectedScrollSnap:I,slideNodes:function(){return b},slidesInView:function(){return g.slidesInView.get()},slidesNotInView:function(){return g.slidesInView.get(!1)}};return M(t,s),setTimeout(()=>l.emit("init"),0),P}function rZ(e={},t=[]){const s=Qe.useRef(e),a=Qe.useRef(t),[r,i]=Qe.useState(),[n,o]=Qe.useState(),l=Qe.useCallback(()=>{r&&r.reInit(s.current,a.current)},[r]);return Qe.useEffect(()=>{vQ(s.current,e)||(s.current=e,l())},[e,l]),Qe.useEffect(()=>{(function(e,t){if(e.length!==t.length)return!1;const s=jQ(e),a=jQ(t);return s.every((e,t)=>vQ(e,a[t]))})(a.current,t)||(a.current=t,l())},[t,l]),Qe.useEffect(()=>{if("undefined"!=typeof window&&window.document&&window.document.createElement&&n){aZ.globalOptions=rZ.globalOptions;const e=aZ(n,s.current,a.current);return i(e),()=>e.destroy()}i(void 0)},[n,i]),[o,r]}aZ.globalOptions=void 0,rZ.globalOptions=void 0;const iZ=Qe.createContext(null);function nZ(){const e=Qe.useContext(iZ);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}const oZ=Qe.forwardRef(({orientation:e="horizontal",opts:t,setApi:s,plugins:a,className:r,children:i,...n},o)=>{const[l,d]=rZ({...t,axis:"horizontal"===e?"x":"y"},a),[c,m]=Qe.useState(!1),[h,x]=Qe.useState(!1),u=Qe.useCallback(e=>{e&&(m(e.canScrollPrev()),x(e.canScrollNext()))},[]),p=Qe.useCallback(()=>{d?.scrollPrev()},[d]),g=Qe.useCallback(()=>{d?.scrollNext()},[d]),f=Qe.useCallback(e=>{"ArrowLeft"===e.key?(e.preventDefault(),p()):"ArrowRight"===e.key&&(e.preventDefault(),g())},[p,g]);return Qe.useEffect(()=>{d&&s&&s(d)},[d,s]),Qe.useEffect(()=>{if(d)return u(d),d.on("reInit",u),d.on("select",u),()=>{d?.off("select",u)}},[d,u]),J.jsx(iZ.Provider,{value:{carouselRef:l,api:d,opts:t,orientation:e||("y"===t?.axis?"vertical":"horizontal"),scrollPrev:p,scrollNext:g,canScrollPrev:c,canScrollNext:h},children:J.jsx("div",{ref:o,onKeyDownCapture:f,className:VT("relative",r),role:"region","aria-roledescription":"carousel",...n,children:i})})});oZ.displayName="Carousel";const lZ=Qe.forwardRef(({className:e,...t},s)=>{const{carouselRef:a,orientation:r}=nZ();return J.jsx("div",{ref:a,className:"overflow-hidden",children:J.jsx("div",{ref:s,className:VT("flex","horizontal"===r?"-ml-4":"-mt-4 flex-col",e),...t})})});lZ.displayName="CarouselContent";const dZ=Qe.forwardRef(({className:e,...t},s)=>{const{orientation:a}=nZ();return J.jsx("div",{ref:s,role:"group","aria-roledescription":"slide",className:VT("min-w-0 shrink-0 grow-0 basis-full","horizontal"===a?"pl-4":"pt-4",e),...t})});dZ.displayName="CarouselItem";const cZ=Qe.forwardRef(({className:e,variant:t="outline",size:s="icon",...a},r)=>{const{orientation:i,scrollPrev:n,canScrollPrev:o}=nZ();return J.jsxs(oz,{ref:r,variant:t,size:s,className:VT("absolute h-8 w-8 rounded-full","horizontal"===i?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!o,onClick:n,...a,children:[J.jsx(Ga,{className:"h-4 w-4"}),J.jsx("span",{className:"sr-only",children:"Previous slide"})]})});cZ.displayName="CarouselPrevious";const mZ=Qe.forwardRef(({className:e,variant:t="outline",size:s="icon",...a},r)=>{const{orientation:i,scrollNext:n,canScrollNext:o}=nZ();return J.jsxs(oz,{ref:r,variant:t,size:s,className:VT("absolute h-8 w-8 rounded-full","horizontal"===i?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!o,onClick:n,...a,children:[J.jsx(Ka,{className:"h-4 w-4"}),J.jsx("span",{className:"sr-only",children:"Next slide"})]})});mZ.displayName="CarouselNext";function hZ({path:e}){const t=MK(e);return J.jsx(iz,{children:J.jsx("link",{rel:"canonical",href:t})})}const xZ=()=>{const e=()=>{const e=document.getElementById("runlog-modal");e&&e.classList.add("hidden")};return J.jsx("div",{id:"runlog-modal",className:"hidden fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4",onClick:e,children:J.jsxs("div",{className:"bg-surface border border-outline rounded-lg p-6 max-w-3xl w-full max-h-[80vh] overflow-y-auto",onClick:e=>e.stopPropagation(),children:[J.jsxs("div",{className:"flex items-center justify-between mb-4",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Sample Run Log (Redacted)"}),J.jsx(oz,{variant:"ghost",size:"sm",onClick:e,children:J.jsx(BP,{className:"h-4 w-4"})})]}),J.jsx("div",{className:"bg-background border border-outline/30 rounded-lg p-4 font-mono text-xs text-muted-foreground overflow-x-auto",children:J.jsx("pre",{children:'{\n  "run_id": "r_a3f8e9d2",\n  "agent_id": "claims_processor_v3",\n  "timestamp": "2025-01-15T14:32:11Z",\n  "input": {\n    "claim_id": "C-20250115-████",\n    "documents": ["policy_doc_████.pdf", "incident_report_████.pdf"]\n  },\n  "steps": [\n    {\n      "step": 1,\n      "action": "extract_policy_terms",\n      "tool": "document_analyzer",\n      "confidence": 0.94,\n      "output": {"coverage_type": "comprehensive", "deductible": ████}\n    },\n    {\n      "step": 2,\n      "action": "validate_claim_eligibility",\n      "policy_check": "PASS",\n      "guardrail_status": "safe",\n      "decision": "eligible"\n    },\n    {\n      "step": 3,\n      "action": "calculate_payout",\n      "model": "gpt-5-mini",\n      "prompt_version": "v2.3",\n      "amount": ████,\n      "confidence": 0.91,\n      "human_review_required": true,\n      "reason": "amount exceeds $50k threshold"\n    }\n  ],\n  "human_review": {\n    "reviewer_id": "user_████",\n    "action": "approved",\n    "notes": "Verified supporting documentation",\n    "timestamp": "2025-01-15T14:45:22Z"\n  },\n  "cost": {\n    "model_tokens": 3421,\n    "cost_usd": 0.0137\n  },\n  "audit_trail": "full trace available for 7 years per retention policy"\n}'})}),J.jsxs("div",{className:"mt-4 text-sm text-muted-foreground",children:[J.jsx("p",{className:"mb-2",children:"This sample demonstrates:"}),J.jsxs("ul",{className:"space-y-1 ml-4",children:[J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Complete traceability"})," - Every step, tool call, and decision logged"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Policy compliance"})," - Guardrail checks and approval workflows"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Human oversight"})," - HITL review for high-risk actions"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Cost tracking"})," - Model usage and transaction costs"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Audit retention"})," - Long-term compliance evidence"]})]})]})]})})},uZ=()=>{const e=()=>{const e=document.getElementById("benchmark-report-modal");e&&e.classList.add("hidden")};return J.jsx("div",{id:"benchmark-report-modal",className:"hidden fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4",onClick:e,children:J.jsxs("div",{className:"bg-surface border border-outline rounded-lg p-6 max-w-4xl w-full max-h-[80vh] overflow-y-auto",onClick:e=>e.stopPropagation(),children:[J.jsxs("div",{className:"flex items-center justify-between mb-4",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Sample Benchmark Report (Production CV)"}),J.jsx(oz,{variant:"ghost",size:"sm",onClick:e,children:J.jsx(BP,{className:"h-4 w-4"})})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"Model Card"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-muted-foreground",children:"Architecture:"}),J.jsx("span",{className:"ml-2 font-medium text-foreground",children:"YOLOv8m (TensorRT INT8)"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-muted-foreground",children:"Input:"}),J.jsx("span",{className:"ml-2 font-medium text-foreground",children:"1920×1080 RGB"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-muted-foreground",children:"Hardware:"}),J.jsx("span",{className:"ml-2 font-medium text-foreground",children:"Jetson Orin Nano 8GB"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-muted-foreground",children:"Classes:"}),J.jsx("span",{className:"ml-2 font-medium text-foreground",children:"5 (defect types)"})]})]})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"Precision/Recall by Class"}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"grid grid-cols-3 gap-4 font-semibold text-muted-foreground border-b border-outline/20 pb-2",children:[J.jsx("span",{children:"Class"}),J.jsx("span",{children:"Precision"}),J.jsx("span",{children:"Recall"})]}),J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsx("span",{className:"text-foreground",children:"Scratch"}),J.jsx("span",{className:"text-data-teal font-bold",children:"97.2%"}),J.jsx("span",{className:"text-data-teal font-bold",children:"95.8%"})]}),J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsx("span",{className:"text-foreground",children:"Dent"}),J.jsx("span",{className:"text-data-teal font-bold",children:"94.1%"}),J.jsx("span",{className:"text-data-teal font-bold",children:"96.3%"})]}),J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsx("span",{className:"text-foreground",children:"Crack"}),J.jsx("span",{className:"text-data-teal font-bold",children:"98.4%"}),J.jsx("span",{className:"text-data-teal font-bold",children:"97.1%"})]}),J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsx("span",{className:"text-foreground",children:"Discoloration"}),J.jsx("span",{className:"text-data-teal font-bold",children:"91.7%"}),J.jsx("span",{className:"text-data-teal font-bold",children:"93.2%"})]}),J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsx("span",{className:"text-foreground",children:"Deformation"}),J.jsx("span",{className:"text-data-teal font-bold",children:"96.8%"}),J.jsx("span",{className:"text-data-teal font-bold",children:"94.9%"})]}),J.jsxs("div",{className:"grid grid-cols-3 gap-4 font-bold border-t border-outline/20 pt-2",children:[J.jsx("span",{className:"text-foreground",children:"Mean Average"}),J.jsx("span",{className:"text-data-teal",children:"95.6%"}),J.jsx("span",{className:"text-data-teal",children:"95.5%"})]})]})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"Latency Benchmarks (30-day avg)"}),J.jsxs("div",{className:"grid grid-cols-3 gap-4 text-sm",children:[J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"text-muted-foreground mb-1",children:"p50"}),J.jsx("div",{className:"text-2xl font-bold text-foreground",children:"87ms"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"text-muted-foreground mb-1",children:"p95"}),J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"118ms"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"text-muted-foreground mb-1",children:"p99"}),J.jsx("div",{className:"text-2xl font-bold text-foreground",children:"152ms"})]})]})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"FPS Stability"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Target FPS:"}),J.jsx("span",{className:"font-bold text-foreground",children:"30 FPS"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Actual FPS (avg):"}),J.jsx("span",{className:"font-bold text-data-teal",children:"31.2 FPS"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Frame drops:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"<0.1%"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Uptime (30 days):"}),J.jsx("span",{className:"font-bold text-data-teal",children:"99.7%"})]})]})]}),J.jsxs("div",{className:"bg-gradient-to-r from-data-teal/5 to-transparent border-l-4 border-data-teal rounded p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"Impact Metrics"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-muted-foreground mb-1",children:"Drift alerts triggered:"}),J.jsx("div",{className:"font-bold text-foreground",children:"2 (both resolved via retrain)"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-muted-foreground mb-1",children:"Manual review time:"}),J.jsx("div",{className:"font-bold text-data-teal",children:"↓ 87% (8hr/day → 1hr/day)"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-muted-foreground mb-1",children:"False positive rate:"}),J.jsx("div",{className:"font-bold text-data-teal",children:"2.3%"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-muted-foreground mb-1",children:"Defects caught:"}),J.jsx("div",{className:"font-bold text-data-teal",children:"+43% vs manual"})]})]})]})]}),J.jsxs("div",{className:"mt-6 text-sm text-muted-foreground",children:[J.jsx("p",{className:"mb-2",children:"This benchmark demonstrates:"}),J.jsxs("ul",{className:"space-y-1 ml-4",children:[J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Production-grade accuracy"})," - 95.6% precision/recall across 5 defect classes"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Edge optimization"})," - 118ms p95 latency with TensorRT INT8 on Jetson Orin"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Stability"})," - 99.7% uptime with <0.1% frame drops over 30 days"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"MLOps readiness"})," - Drift monitoring and automated retraining"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Business impact"})," - 87% reduction in manual review time"]})]})]})]})})},pZ=()=>{const e=()=>{const e=document.getElementById("eval-report-modal");e&&e.classList.add("hidden")};return J.jsx("div",{id:"eval-report-modal",className:"hidden fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4",onClick:e,children:J.jsxs("div",{className:"bg-surface border border-outline rounded-lg p-6 max-w-3xl w-full max-h-[80vh] overflow-y-auto",onClick:e=>e.stopPropagation(),children:[J.jsxs("div",{className:"flex items-center justify-between mb-4",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Sample Eval Report (Production RAG)"}),J.jsx(oz,{variant:"ghost",size:"sm",onClick:e,children:J.jsx(BP,{className:"h-4 w-4"})})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"Accuracy Scorecard"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Exact Match:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"87.3%"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Semantic Similarity:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"91.8%"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Hallucination Rate:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"2.4%"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Toxicity Score:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"0.01%"})]})]})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"Performance (30-day avg)"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Latency p50:"}),J.jsx("span",{className:"font-bold text-foreground",children:"142ms"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Latency p95:"}),J.jsx("span",{className:"font-bold text-foreground",children:"287ms"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Cost per query:"}),J.jsx("span",{className:"font-bold text-foreground",children:"$0.0043"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Retrieval precision:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"89.2%"})]})]})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"User Satisfaction"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"NPS Score:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"+73"})]}),J.jsxs("div",{className:"flex justify-between items-center",children:[J.jsx("span",{className:"text-muted-foreground",children:"Task Completion:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"94.1%"})]})]})]}),J.jsxs("div",{className:"bg-gradient-to-r from-data-teal/5 to-transparent border-l-4 border-data-teal rounded p-4",children:[J.jsx("h4",{className:"font-bold text-foreground mb-3",children:"Baseline → Production Deltas"}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Accuracy improvement:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"+23.8%"})]}),J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Hallucination reduction:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"-9.6%"})]}),J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Cost optimization:"}),J.jsx("span",{className:"font-bold text-data-teal",children:"-41% per query"})]})]})]})]}),J.jsxs("div",{className:"mt-6 text-sm text-muted-foreground",children:[J.jsx("p",{className:"mb-2",children:"This eval report demonstrates:"}),J.jsxs("ul",{className:"space-y-1 ml-4",children:[J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Production accuracy"})," - Real metrics from live deployment"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Safety validation"})," - Hallucination and toxicity gates passing"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Performance SLA"})," - Sub-300ms p95 latency maintained"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"Cost efficiency"})," - Optimized retrieval and model routing"]}),J.jsxs("li",{children:["• ",J.jsx("span",{className:"text-data-teal",children:"User impact"})," - High NPS and task completion rates"]})]})]})]})})};function gZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"Sample Analytics Dashboard"}),J.jsx(EF,{children:"Example KPI dashboard with GIS layer integration"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"On-Time Delivery"}),J.jsx("div",{className:"text-2xl font-bold text-primary",children:"94.2%"}),J.jsxs("div",{className:"text-xs text-green-600 flex items-center gap-1 mt-1",children:[J.jsx("span",{children:"↑"}),J.jsx("span",{children:"+2.1% vs last week"})]})]}),J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Avg Response Time"}),J.jsx("div",{className:"text-2xl font-bold text-primary",children:"1.2h"}),J.jsxs("div",{className:"text-xs text-green-600 flex items-center gap-1 mt-1",children:[J.jsx("span",{children:"↓"}),J.jsx("span",{children:"-18 min vs target"})]})]}),J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Active Assets"}),J.jsx("div",{className:"text-2xl font-bold text-primary",children:"247"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"87% utilization"})]})]}),J.jsxs(aU,{className:"p-6 border-border/50 bg-surface/30",children:[J.jsxs("div",{className:"flex items-center justify-between mb-4",children:[J.jsx("h3",{className:"font-semibold text-foreground",children:"Geographic Distribution"}),J.jsxs("div",{className:"flex gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Heat Map"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Clusters"})]})]}),J.jsx("div",{className:"aspect-video bg-gradient-to-br from-surface to-background border border-border/30 rounded-lg flex items-center justify-center",children:J.jsxs("div",{className:"text-center text-muted-foreground",children:[J.jsx("div",{className:"text-4xl mb-2",children:"🗺️"}),J.jsx("p",{className:"text-sm",children:"Interactive GIS layer with zoom/filter controls"}),J.jsx("p",{className:"text-xs mt-1",children:"Real-time asset locations, service areas, & heat maps"})]})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Data Quality Status"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"✓ Address Geocoding: 99.7%"}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"✓ Timestamp Accuracy: 100%"}),J.jsx(hU,{variant:"secondary",className:"bg-orange-600/10 text-orange-600 border-orange-600/20",children:"⚠ Asset IDs: 94.2% (6 warnings)"})]})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Download sample data structure (CSV)"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","sample_dashboard_download",{service:"data_analytics_platform"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download Sample"]})]})]})]})})}const fZ=[{name:"On-Time Delivery Rate",owner:"Operations VP",definition:"Percentage of deliveries completed within promised window",formula:"(Delivered on time / Total deliveries) × 100",refreshSchedule:"Hourly"},{name:"Inventory Turnover",owner:"Warehouse Manager",definition:"Rate at which inventory is sold and replaced over a period",formula:"Cost of Goods Sold / Average Inventory Value",refreshSchedule:"Daily at 6 AM"},{name:"Asset Utilization",owner:"Fleet Director",definition:"Percentage of time assets are actively generating revenue",formula:"(Active hours / Available hours) × 100",refreshSchedule:"Every 15 minutes"}];function yZ(){return J.jsx(aU,{className:"overflow-hidden border-border/50",children:J.jsx("div",{className:"overflow-x-auto",children:J.jsxs("table",{className:"w-full",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b border-border/50 bg-surface/30",children:[J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"KPI Name"}),J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"Owner"}),J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"Definition"}),J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"Formula"}),J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"Refresh"})]})}),J.jsx("tbody",{children:fZ.map((e,t)=>J.jsxs("tr",{className:"border-b border-border/30 hover:bg-surface/20 transition-colors",children:[J.jsx("td",{className:"p-4 font-medium text-primary",children:e.name}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:e.owner}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:e.definition}),J.jsx("td",{className:"p-4 text-xs font-mono text-muted-foreground bg-surface/20",children:e.formula}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:e.refreshSchedule})]},t))})]})})})}const bZ=[{name:"MLflow",bestFor:"Open source, Python-first teams",pros:["Free and open source","Strong experiment tracking","Good model registry features","Active community support"],cons:["Limited enterprise features","Requires self-hosting infrastructure","Basic UI compared to commercial options"],cost:"Free (hosting costs only)"},{name:"Weights & Biases",bestFor:"Experiment tracking, team collaboration",pros:["Excellent visualization and dashboards","Strong team collaboration features","Easy integration with popular frameworks","Managed cloud service available"],cons:["Can be expensive at scale","Vendor lock-in with managed service","Less control over infrastructure"],cost:"Free tier + usage-based"},{name:"Kubeflow",bestFor:"Kubernetes-native, large scale",pros:["Cloud-agnostic and portable","Tight Kubernetes integration","Full ML pipeline orchestration","Enterprise-grade scalability"],cons:["Steep learning curve","Kubernetes expertise required","Complex setup and maintenance"],cost:"Free (infrastructure costs)"},{name:"Custom Registry",bestFor:"Specific compliance, legacy integration",pros:["Full control and customization","Integrate with existing systems","Meet specific compliance requirements","No vendor dependency"],cons:["Higher development time","Ongoing maintenance burden","Requires in-house expertise"],cost:"Development + hosting"}];function vZ(){return J.jsx("div",{className:"space-y-6",children:bZ.map((e,t)=>J.jsx(aU,{className:"p-6 border-border/50 hover:border-primary/30 transition-colors",children:J.jsxs("div",{className:"grid md:grid-cols-4 gap-6",children:[J.jsxs("div",{className:"md:col-span-1",children:[J.jsx("h3",{className:"text-xl font-bold text-primary mb-2",children:e.name}),J.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:e.bestFor}),J.jsx("div",{className:"text-xs font-semibold text-foreground bg-surface/50 px-3 py-1 rounded inline-block",children:e.cost})]}),J.jsxs("div",{className:"md:col-span-3 grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-semibold text-green-600 mb-2",children:"Pros"}),J.jsx("ul",{className:"space-y-1",children:e.pros.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-green-600 mt-0.5",children:"✓"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-semibold text-orange-600 mb-2",children:"Cons"}),J.jsx("ul",{className:"space-y-1",children:e.cons.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-orange-600 mt-0.5",children:"−"}),J.jsx("span",{children:e})]},t))})]})]})]})},t))})}function jZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"Sample MLOps Monitoring Dashboard"}),J.jsx(EF,{children:"Real-time model performance, drift detection, and deployment tracking"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Model Accuracy"}),J.jsx("div",{className:"text-2xl font-bold text-primary",children:"96.8%"}),J.jsxs("div",{className:"text-xs text-green-600 flex items-center gap-1 mt-1",children:[J.jsx(XC,{className:"h-3 w-3"}),J.jsx("span",{children:"+1.2% vs baseline"})]})]}),J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Inference Latency (p95)"}),J.jsx("div",{className:"text-2xl font-bold text-primary",children:"42ms"}),J.jsx("div",{className:"text-xs text-green-600 flex items-center gap-1 mt-1",children:J.jsx("span",{children:"↓ -8ms vs target"})})]}),J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Active Models"}),J.jsx("div",{className:"text-2xl font-bold text-primary",children:"12"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"3 in staging"})]}),J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Drift Incidents"}),J.jsx("div",{className:"text-2xl font-bold text-primary",children:"0"}),J.jsx("div",{className:"text-xs text-green-600 mt-1",children:"All models healthy"})]})]}),J.jsxs(aU,{className:"p-6 border-border/50 bg-surface/30",children:[J.jsxs("div",{className:"flex items-center justify-between mb-4",children:[J.jsx("h3",{className:"font-semibold text-foreground",children:"Model Accuracy Trend (7 days)"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"fraud-detection-v3"})]}),J.jsx("div",{className:"aspect-[3/1] bg-gradient-to-br from-surface to-background border border-border/30 rounded-lg flex items-center justify-center",children:J.jsxs("div",{className:"text-center text-muted-foreground",children:[J.jsx("div",{className:"text-4xl mb-2",children:"📈"}),J.jsx("p",{className:"text-sm",children:"Time-series chart: Accuracy trending upward"}),J.jsx("p",{className:"text-xs mt-1",children:"96.2% → 96.8% (+0.6% improvement)"})]})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Drift Detection Status"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-3",children:[J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Feature Distribution"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"KL Divergence: 0.023 (threshold: 0.05)"}),J.jsx("div",{className:"text-xs text-green-600 mt-1",children:"✓ No drift detected"})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Prediction Distribution"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"PSI: 0.012 (threshold: 0.1)"}),J.jsx("div",{className:"text-xs text-green-600 mt-1",children:"✓ Stable predictions"})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(eI,{className:"h-5 w-5 text-orange-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Data Quality"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Null rate increased: 2.1% → 3.8%"}),J.jsx("div",{className:"text-xs text-orange-600 mt-1",children:"⚠ Warning threshold reached"})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Performance Decay"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Accuracy: 96.8% (baseline: 96.2%)"}),J.jsx("div",{className:"text-xs text-green-600 mt-1",children:"✓ Above baseline"})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Recent Deployments"}),J.jsx(aU,{className:"p-4 border-border/50",children:J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center justify-between pb-3 border-b border-border/30",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"Deployed"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"fraud-detection-v3.2"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"2 hours ago • Accuracy: 96.8% (+0.6%)"})]})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Deploy time: 2.1 min"})]}),J.jsxs("div",{className:"flex items-center justify-between pb-3 border-b border-border/30",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(hU,{variant:"secondary",className:"bg-orange-600/10 text-orange-600 border-orange-600/20",children:"Rolled Back"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"fraud-detection-v3.1"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"1 day ago • Accuracy dropped to 94.2%"})]})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Rollback time: 45 sec"})]}),J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Stable"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"fraud-detection-v3.0"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"5 days ago • Baseline model"})]})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Uptime: 99.97%"})]})]})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Model Lineage (fraud-detection-v3.2)"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-4 text-xs",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Training Dataset"}),J.jsx("div",{className:"text-muted-foreground",children:"fraud_txns_2024_q1.parquet"}),J.jsx("div",{className:"text-muted-foreground",children:"1.2M samples, 47 features"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Framework & Version"}),J.jsx("div",{className:"text-muted-foreground",children:"XGBoost 2.0.3"}),J.jsx("div",{className:"text-muted-foreground",children:"Python 3.11, scikit-learn 1.4"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Training Metadata"}),J.jsx("div",{className:"text-muted-foreground",children:"Trained by: ml-team@allerin.com"}),J.jsx("div",{className:"text-muted-foreground",children:"Training time: 23 minutes"})]})]})})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Download sample monitoring metrics (CSV)"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","sample_mlops_dashboard_download",{service:"mlops_model_ops"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download Sample"]})]})]})]})})}function NZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"Sample Promotion Checklist"}),J.jsx(EF,{children:"Production promotion governance checklist for fraud-detection-v3.2"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Model"}),J.jsx("div",{className:"text-muted-foreground",children:"fraud-detection-v3.2"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"XGBoost 2.0.3"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Promotion Date"}),J.jsx("div",{className:"text-muted-foreground",children:"2024-01-15 14:23 UTC"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Canary → Production"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Approver"}),J.jsx("div",{className:"text-muted-foreground",children:"ml-lead@allerin.com"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Signed: GPG 4A8B..."})]})]})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Pre-Deployment Checks"}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Model Accuracy Threshold"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Achieved: 96.8% (threshold: ≥95%) • Precision: 97.2% • Recall: 96.4%"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Inference Latency SLA"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"p95: 42ms (threshold: <50ms) • p99: 68ms (threshold: <100ms)"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Fairness Evaluation"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Demographic parity difference: 0.023 (threshold: <0.05) • Equal opportunity: Pass"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Drift Detection Baseline"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Feature drift KL: 0.018 • Prediction PSI: 0.012 • No drift detected"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Model Lineage & Artifacts"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Training data: fraud_txns_2024_q1.parquet (SHA256: a3f2...) • All artifacts signed"})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Canary Deployment (10% traffic, 48 hours)"}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Error Rate"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Canary: 0.08% • Baseline: 0.12% • Within threshold (<0.5%)"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Performance Degradation"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Accuracy delta: +0.6% vs baseline • No degradation detected"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Cost Budget"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Avg cost/prediction: $0.0023 (budget: $0.0030) • 23% under budget"})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Rollback Plan"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs mt-0.5",children:"Auto"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Automatic Rollback Triggers"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Error rate >0.5% for 5 min • Latency p95 >100ms for 10 min • Accuracy drop >2%"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs mt-0.5",children:"Manual"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Manual Rollback Process"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"1. Emergency stop via kill switch • 2. Traffic to v3.0 (last stable) • 3. Incident report • ETA: <45 seconds"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs mt-0.5",children:"Contacts"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Escalation"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Primary: on-call-ml@allerin.com • Secondary: ml-lead@allerin.com • PagerDuty: #P4A8B"})]})]})]})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Approvals"}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"ML Engineering Lead"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Approved 2024-01-15 12:45 UTC"})]})]}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"Approved"})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Platform Engineering"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Approved 2024-01-15 13:12 UTC"})]})]}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"Approved"})]})})]})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Download full promotion checklist template"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"mlops_model_ops",artifact:"promotion_checklist"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download Template"]})]})]})]})})}function wZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-3xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"MLOps & Model Operations Service Brief"}),J.jsx(EF,{children:"Registry, monitoring/drift, and model governance in 3–6 weeks"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs(aU,{className:"p-6 border-border/50 bg-gradient-to-br from-primary/5 to-background",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Service Overview"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Stand up production-grade MLOps infrastructure with model registry, drift monitoring, and governed promotion pipelines. We deliver eval gates, rollback automation, and audit-ready run logs in 3–6 weeks—no long implementation cycles."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Proven Impact"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-4",children:[J.jsx(aU,{className:"p-4 border-border/50",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(ZC,{className:"h-5 w-5 text-primary mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Deployment Time"}),J.jsx("div",{className:"text-lg font-bold text-foreground",children:"3 weeks → 2 hours"}),J.jsx("div",{className:"text-xs text-green-600 mt-1",children:"252x faster"})]})]})}),J.jsx(aU,{className:"p-4 border-border/50",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-5 w-5 text-primary mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Drift Detection"}),J.jsx("div",{className:"text-lg font-bold text-foreground",children:"Manual → Real-time"}),J.jsx("div",{className:"text-xs text-green-600 mt-1",children:"Auto alerts"})]})]})}),J.jsx(aU,{className:"p-4 border-border/50",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-5 w-5 text-primary mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Incident Recovery"}),J.jsx("div",{className:"text-lg font-bold text-foreground",children:"4–8 hrs → 5 min"}),J.jsx("div",{className:"text-xs text-green-600 mt-1",children:"96% faster"})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Deliverables"}),J.jsx("div",{className:"grid gap-2",children:["Model registry with versioning, lineage, and signed artifacts","Drift/accuracy monitoring dashboard with real-time alerts","Governed promotion workflow: staging → canary → production","Eval harness with agreed thresholds and automated CI checks","Rollback automation with manual override and evidence packs","Policy pack: RBAC, retention, audit logs, and compliance exports"].map((e,t)=>J.jsx(aU,{className:"p-3 border-l-4 border-primary/30 bg-surface/20",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:e})]})},t))})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsx(aU,{className:"p-4 border-border/50",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Ld,{className:"h-5 w-5 text-primary mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-sm text-foreground mb-1",children:"Timeline"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"3–6 weeks"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Registry + monitors + promotion path"})]})]})}),J.jsx(aU,{className:"p-4 border-border/50",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(GI,{className:"h-5 w-5 text-primary mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-sm text-foreground mb-1",children:"Team"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"4-person pod"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"ML Engineer, Platform Engineer, DevOps, QA"})]})]})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Technology"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"space-y-3 text-xs",children:[J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Registry: "}),J.jsx("span",{className:"text-muted-foreground",children:"MLflow, Weights & Biases, or custom registry with signed artifacts"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"CI/CD: "}),J.jsx("span",{className:"text-muted-foreground",children:"GitHub Actions/GitLab CI with policy checks and environment promotions"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Monitoring: "}),J.jsx("span",{className:"text-muted-foreground",children:"Prometheus/Grafana, drift detection (PSI/KS), data quality checks"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Security: "}),J.jsx("span",{className:"text-muted-foreground",children:"SSO (OIDC/SAML), RBAC, audit logs, SBOM, secrets in KMS"})]})]})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Evidence We Show"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:["Model lineage graph","Drift dashboard with slices","Deployment time chart","Auto-rollback proof","Promotion checklist","Cost per prediction trend"].map((e,t)=>J.jsx(hU,{variant:"secondary",className:"text-xs",children:e},t))})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Export this brief for offline review"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","service_download_brief",{service:"mlops_model_ops"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Export Brief"]})]})]})]})})}const kZ=[{name:"Modular Monolith",bestFor:"Teams <50, Rails/Django apps, gradual modernization",pros:["Faster initial migration (4-6 weeks)","Simpler deployment and testing","Lower operational complexity","Preserves existing team structure"],cons:["Shared database can be bottleneck","Requires discipline for module boundaries","Limited independent scaling"],timeline:"4-6 weeks"},{name:"Microservices",bestFor:"Large teams (50+), polyglot needs, independent scaling",pros:["Independent deployment and scaling","Technology flexibility per service","Team autonomy and ownership","Fault isolation"],cons:["Higher operational complexity","Distributed system challenges","Network latency overhead","Requires DevOps maturity"],timeline:"8-16 weeks"},{name:"Strangler Fig Pattern",bestFor:"Legacy systems, risk-averse orgs, phased approach",pros:["Lowest migration risk","Continuous delivery during migration","No big-bang cutover","Learn and adjust incrementally"],cons:["Longer total timeline","Dual system maintenance period","Proxy layer complexity","Incremental value realization"],timeline:"12-24 weeks"},{name:"Hybrid (Modular + Services)",bestFor:"Mid-size teams, balance of governance and flexibility",pros:["Best of both worlds","Extract only truly independent services","Reduce microservices sprawl","Pragmatic approach"],cons:["Requires architectural judgment","Service boundary decisions critical","Can drift to one extreme"],timeline:"6-12 weeks"}];function MZ(){return J.jsx("div",{className:"space-y-6",children:kZ.map((e,t)=>J.jsxs(aU,{className:"p-6 border-border/50 hover:border-primary/30 transition-colors",children:[J.jsxs("div",{className:"flex items-start justify-between mb-4",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:e.name}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.bestFor})]}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:e.timeline})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-green-600 mb-2",children:"✓ Pros"}),J.jsx("ul",{className:"space-y-1",children:e.pros.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-green-600 mt-0.5",children:"•"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-orange-600 mb-2",children:"⚠ Tradeoffs"}),J.jsx("ul",{className:"space-y-1",children:e.cons.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-orange-600 mt-0.5",children:"•"}),J.jsx("span",{children:e})]},t))})]})]})]},t))})}function AZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"Sample Migration Blueprint"}),J.jsx(EF,{children:"Production migration plan for legacy e-commerce platform → modular architecture"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"grid md:grid-cols-4 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Project"}),J.jsx("div",{className:"text-muted-foreground",children:"E-commerce Platform v2"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Ruby on Rails → Modular Rails"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Timeline"}),J.jsx("div",{className:"text-muted-foreground",children:"6 weeks"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Phase 1 of 2"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Strategy"}),J.jsx("div",{className:"text-muted-foreground",children:"Modular Monolith"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Dual-run validation"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Risk Level"}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"Low"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Zero-downtime cutover"})]})]})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Current State Assessment"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-3",children:[J.jsx(aU,{className:"p-4 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(eI,{className:"h-5 w-5 text-orange-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Performance Issues"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"p95 latency: 2.8s (target: <500ms) • DB queries: 247 per request"})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(eI,{className:"h-5 w-5 text-orange-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Infrastructure Cost"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"$89k/month • 24x c5.4xlarge instances • 70% average CPU idle"})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(eI,{className:"h-5 w-5 text-orange-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Deployment Risk"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Releases: 1x/month • Rollback rate: 23% • Avg rollback time: 4.2 hours"})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(eI,{className:"h-5 w-5 text-orange-600 mt-0.5 flex-shrink-0"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Observability Gaps"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"No distributed tracing • Limited error context • Manual log aggregation"})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Target Architecture"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsx("div",{className:"space-y-3 text-sm",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-2",children:"Core Modules"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"• Catalog (products, inventory)"}),J.jsx("li",{children:"• Orders (checkout, fulfillment)"}),J.jsx("li",{children:"• Payments (gateway, refunds)"}),J.jsx("li",{children:"• Users (auth, profiles, prefs)"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-2",children:"Shared Services"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"• API Gateway (Kong)"}),J.jsx("li",{children:"• Cache Layer (Redis Cluster)"}),J.jsx("li",{children:"• Event Bus (Redis Streams)"}),J.jsx("li",{children:"• Background Jobs (Sidekiq)"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-2",children:"Observability"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"• Datadog APM (tracing)"}),J.jsx("li",{children:"• CloudWatch (metrics, logs)"}),J.jsx("li",{children:"• PagerDuty (alerting)"}),J.jsx("li",{children:"• Error budget dashboard"})]})]})]})})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Migration Phases (6 Weeks)"}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(aU,{className:"p-3 border-l-4 border-primary/50 bg-primary/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Ld,{className:"h-4 w-4 text-primary mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center justify-between mb-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Week 1-2: Foundation & Observability"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"In Progress"})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Module boundaries defined • Datadog APM deployed • Baseline metrics captured • CI/CD pipeline setup"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-muted-foreground/30",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Ld,{className:"h-4 w-4 text-muted-foreground mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center justify-between mb-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Week 3-4: Module Extraction"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Planned"})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Extract Catalog + Orders modules • API contracts defined • Dual-run mode enabled • Integration tests passing"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-muted-foreground/30",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Ld,{className:"h-4 w-4 text-muted-foreground mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center justify-between mb-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Week 5: Canary Deployment"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Planned"})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"10% traffic to new architecture • Shadow traffic validation • Performance regression checks • Error rate monitoring"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-muted-foreground/30",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Ld,{className:"h-4 w-4 text-muted-foreground mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center justify-between mb-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Week 6: Full Cutover"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Planned"})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"100% traffic migration • Legacy decommission plan • Runbook handoff • Success metrics validated"})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Success Criteria"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-3",children:[J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Performance"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"p95 latency <500ms • Error rate <0.1% • No regression vs baseline"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Cost"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"≥50% infra cost reduction • Auto-scaling enabled • Reserved instance optimization"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Deployment"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Zero-downtime cutover • Rollback <5 min • CI/CD pipeline <10 min"})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Rollback Plan"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs mt-0.5",children:"Auto"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Automatic Rollback Triggers"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Error rate >0.5% for 5 min • p95 latency >800ms for 10 min • Manual kill switch"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs mt-0.5",children:"Manual"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Manual Rollback Process"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"1. Traffic back to legacy via load balancer • 2. Incident report • 3. Root cause analysis • ETA: <5 minutes"})]})]})]})})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Download full migration blueprint template"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"platform_modernization",artifact:"migration_blueprint"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download Template"]})]})]})]})})}function SZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"Sample Performance Report"}),J.jsx(EF,{children:"Before/After metrics for e-commerce platform modernization"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs(aU,{className:"p-6 border-border/50 bg-gradient-to-br from-primary/5 to-background",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Executive Summary"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"6-week platform modernization achieved 82% latency reduction, 64% cost savings, and 360x deployment frequency improvement with zero customer-facing downtime."}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-primary",children:"82%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Latency Reduction"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-primary",children:"64%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Cost Savings"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-primary",children:"360x"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Faster Deployments"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-primary",children:"0"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Minutes Downtime"})]})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Performance Metrics"}),J.jsxs("div",{className:"space-y-3",children:[J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start justify-between",children:[J.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[J.jsx(ZC,{className:"h-5 w-5 text-green-600 mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"p95 Latency"}),J.jsxs("div",{className:"flex items-center gap-4 mt-2",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Before"}),J.jsx("div",{className:"text-xl font-bold text-muted-foreground",children:"2,800ms"})]}),J.jsx("div",{className:"text-data-orange text-xl",children:"→"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"After"}),J.jsx("div",{className:"text-xl font-bold text-green-600",children:"495ms"})]})]})]})]}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"-82%"})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start justify-between",children:[J.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[J.jsx(XC,{className:"h-5 w-5 text-green-600 mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Throughput (Requests/sec)"}),J.jsxs("div",{className:"flex items-center gap-4 mt-2",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Before"}),J.jsx("div",{className:"text-xl font-bold text-muted-foreground",children:"1,240"})]}),J.jsx("div",{className:"text-data-orange text-xl",children:"→"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"After"}),J.jsx("div",{className:"text-xl font-bold text-green-600",children:"4,180"})]})]})]})]}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"+237%"})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start justify-between",children:[J.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[J.jsx(ZC,{className:"h-5 w-5 text-green-600 mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Database Queries per Request"}),J.jsxs("div",{className:"flex items-center gap-4 mt-2",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Before"}),J.jsx("div",{className:"text-xl font-bold text-muted-foreground",children:"247"})]}),J.jsx("div",{className:"text-data-orange text-xl",children:"→"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"After"}),J.jsx("div",{className:"text-xl font-bold text-green-600",children:"18"})]})]})]})]}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"-93%"})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start justify-between",children:[J.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[J.jsx(ZC,{className:"h-5 w-5 text-green-600 mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Error Rate"}),J.jsxs("div",{className:"flex items-center gap-4 mt-2",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Before"}),J.jsx("div",{className:"text-xl font-bold text-muted-foreground",children:"1.2%"})]}),J.jsx("div",{className:"text-data-orange text-xl",children:"→"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"After"}),J.jsx("div",{className:"text-xl font-bold text-green-600",children:"0.04%"})]})]})]})]}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"-97%"})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Cost Analysis"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-sm font-semibold text-foreground mb-3",children:"Infrastructure Cost"}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Compute (EC2)"}),J.jsx("span",{className:"font-medium text-foreground",children:"$89k → $31k/mo (-65%)"})]}),J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Database (RDS)"}),J.jsx("span",{className:"font-medium text-foreground",children:"$12k → $8k/mo (-33%)"})]}),J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Data Transfer"}),J.jsx("span",{className:"font-medium text-foreground",children:"$4k → $2k/mo (-50%)"})]}),J.jsxs("div",{className:"flex justify-between pt-2 border-t border-border/30",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Total Monthly"}),J.jsx("span",{className:"font-bold text-green-600",children:"$105k → $41k (-61%)"})]})]})]}),J.jsxs(aU,{className:"p-4 border-border/50",children:[J.jsx("div",{className:"text-sm font-semibold text-foreground mb-3",children:"Annual Savings"}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Infrastructure"}),J.jsx("span",{className:"font-medium text-foreground",children:"$768k/year"})]}),J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Reduced incidents"}),J.jsx("span",{className:"font-medium text-foreground",children:"~$120k/year"})]}),J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{className:"text-muted-foreground",children:"Faster feature delivery"}),J.jsx("span",{className:"font-medium text-foreground",children:"~$240k/year"})]}),J.jsxs("div",{className:"flex justify-between pt-2 border-t border-border/30",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Total Annual Value"}),J.jsx("span",{className:"font-bold text-green-600",children:"~$1.1M"})]})]})]})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Deployment & Release Velocity"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-4",children:[J.jsxs(aU,{className:"p-4 border-l-4 border-primary/50 bg-primary/5",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Deployment Frequency"}),J.jsx("div",{className:"text-2xl font-bold text-foreground mb-1",children:"1x/mo → 12x/day"}),J.jsx("div",{className:"text-xs text-green-600",children:"360x improvement"})]}),J.jsxs(aU,{className:"p-4 border-l-4 border-primary/50 bg-primary/5",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Rollback Rate"}),J.jsx("div",{className:"text-2xl font-bold text-foreground mb-1",children:"23% → 0.8%"}),J.jsx("div",{className:"text-xs text-green-600",children:"96% reduction"})]}),J.jsxs(aU,{className:"p-4 border-l-4 border-primary/50 bg-primary/5",children:[J.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Mean Time to Recovery"}),J.jsx("div",{className:"text-2xl font-bold text-foreground mb-1",children:"4.2h → 8min"}),J.jsx("div",{className:"text-xs text-green-600",children:"97% faster"})]})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Observability Stack"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-3",children:[J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Distributed Tracing"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Datadog APM deployed • End-to-end request visibility • Latency breakdown per service"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Error Budget Dashboard"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"99.9% SLO defined • Real-time burn rate • Automated alerting with PagerDuty"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Structured Logging"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"CloudWatch Logs Insights • Trace ID correlation • Query response time: 2.3s avg"})]})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-600 mt-0.5"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-foreground",children:"Custom Metrics"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Business KPIs tracked • Revenue per minute • Checkout funnel monitoring"})]})]})})]})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Download full performance report (PDF)"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"platform_modernization",artifact:"performance_report"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download Report"]})]})]})]})})}const CZ=[{name:"OWASP Top 10",icon:Xk,focus:"Web application security vulnerabilities",coverage:["Injection attacks (SQL, XSS, LDAP)","Broken authentication & session management","Sensitive data exposure","XML external entities (XXE)","Broken access control","Security misconfiguration"],bestFor:"Web apps, APIs, SaaS platforms",deliverables:"Vulnerability scan report, remediation PRs, penetration test results"},{name:"NIST Cybersecurity Framework",icon:zk,focus:"Enterprise governance and risk management",coverage:["Asset inventory & data classification","Risk assessment & threat modeling","Access control policies & RBAC","Incident response procedures","Security awareness training","Continuous monitoring & logging"],bestFor:"Enterprise IT, regulated industries, federal contractors",deliverables:"Policy documentation, control matrix, audit evidence"},{name:"CIS Controls",icon:Dh,focus:"Configuration hardening and benchmarks",coverage:["Inventory of authorized devices & software","Continuous vulnerability management","Controlled use of admin privileges","Secure configuration for hardware/software","Maintenance & monitoring of audit logs","Email & web browser protections"],bestFor:"Infrastructure teams, cloud deployments, DevOps",deliverables:"Configuration baselines, hardening scripts, compliance scorecard"},{name:"FedRAMP",icon:hy,focus:"Government cloud authorization",coverage:["FIPS 140-2 encryption standards","Continuous monitoring & ConMon","Incident response & breach notification","System security plans (SSP)","Boundary protection & network segmentation","Multi-factor authentication (MFA)"],bestFor:"Government contractors, federal cloud services, ATO requirements",deliverables:"SSP documentation, POA&M tracker, ConMon integration, ATO package"}];function IZ(){return J.jsx("div",{className:"space-y-6",children:CZ.map((e,t)=>{const s=e.icon;return J.jsx(aU,{className:"p-6 border-border/50 hover:border-primary/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(s,{className:"h-6 w-6 text-primary"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-start justify-between mb-2",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:e.name}),J.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:e.focus})]}),J.jsx(hU,{variant:"secondary",className:"text-xs ml-4",children:e.bestFor.split(",")[0]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mt-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-primary mb-2",children:"Coverage Areas"}),J.jsx("ul",{className:"space-y-1",children:e.coverage.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:e.bestFor}),J.jsx("div",{className:"text-xs font-semibold text-data-orange mb-2",children:"Deliverables"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.deliverables})]})]})]})]})},t)})})}const PZ=[{regulation:"HIPAA",industry:"Healthcare",keyRequirements:["PHI encryption at rest & in transit (AES-256)","Audit logging of all PHI access","Business Associate Agreements (BAA)","Breach notification procedures (60-day)","Access controls & minimum necessary standard","Regular risk assessments & remediation"],artifacts:["Technical safeguards documentation","BAA templates & signed agreements","Audit trail reports & access logs","Encryption implementation evidence","Breach response plan & notification templates"],timeline:"3-4 weeks"},{regulation:"SOC 2 Type II",industry:"SaaS / Cloud Services",keyRequirements:["Security policies & procedures documented","Change management & version control","Incident response & monitoring","Logical access controls & MFA","Encryption for data in transit & at rest","Vendor management & third-party risk"],artifacts:["Control descriptions & narratives","Evidence of control operation (6-12 months)","Penetration test & vulnerability scan reports","Access review logs & privilege management","Incident response playbooks & tickets"],timeline:"4-6 weeks (for evidence prep)"},{regulation:"PCI-DSS",industry:"Payment Processing",keyRequirements:["Cardholder data encryption (tokenization)","Network segmentation & firewall rules","No storage of sensitive authentication data","Vulnerability scanning & patch management","Strong access control & unique IDs","Quarterly ASV scans & annual penetration tests"],artifacts:["Network diagrams & data flow maps","ASV scan reports (quarterly)","Penetration test reports (annual)","Encryption key management procedures","Access control policies & MFA evidence","Self-Assessment Questionnaire (SAQ)"],timeline:"4-8 weeks"},{regulation:"GDPR",industry:"EU Data Processing",keyRequirements:["Lawful basis for processing (consent, contract, etc.)","Data subject rights (access, erasure, portability)","Data Protection Impact Assessments (DPIA)","Breach notification within 72 hours","Data Processing Agreements (DPA) with processors","Privacy by design & default"],artifacts:["Privacy policy & consent forms","Data inventory & processing records (Article 30)","DPIA templates & completed assessments","DPA templates & signed agreements","Data subject request workflows & logs","Breach notification procedures & templates"],timeline:"3-5 weeks"}];function TZ(){return J.jsx("div",{className:"space-y-6",children:PZ.map((e,t)=>J.jsxs(aU,{className:"p-6 border-border/50 hover:border-primary/30 transition-colors",children:[J.jsx("div",{className:"flex items-start justify-between mb-4",children:J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:e.regulation}),J.jsx(hU,{variant:"outline",className:"text-xs",children:e.industry})]}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:e.timeline})]})}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-primary mb-3",children:"Key Requirements"}),J.jsx("ul",{className:"space-y-2",children:e.keyRequirements.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-3",children:"Audit-Ready Artifacts We Deliver"}),J.jsx("ul",{className:"space-y-2",children:e.artifacts.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:e})]},t))})]})]})]},t))})}const RZ=[{control:"Access Control (ASVS 4.0)",implementation:"SSO (OIDC/SAML) + SCIM provisioning, MFA enforcement, least-privilege RBAC roles",evidence:"IdP config export, role matrix, MFA enrollment logs, access review reports"},{control:"Authentication (ASVS 2.0)",implementation:"Password policy (12+ chars, complexity), session timeout, secure credential storage (bcrypt/Argon2)",evidence:"Auth flow diagrams, bcrypt implementation, session config, password rotation logs"},{control:"Data Protection (SOC 2 CC6)",implementation:"AES-256 encryption at rest, TLS 1.3 in transit, field-level encryption for PII/PHI",evidence:"Encryption key management docs, TLS cert validation, data classification matrix"},{control:"Vulnerability Management (ASVS 14.0)",implementation:"SAST/DAST/SCA in CI with auto-fail thresholds, quarterly pen tests, CVE patching SLA <7 days",evidence:"CI pipeline logs, scan reports, pen test results, CVE remediation tracker"},{control:"Logging & Monitoring (SOC 2 CC7)",implementation:"Immutable audit logs (SIEM feed), retention 1+ year, tamper detection, real-time alerting",evidence:"Log retention policy, SIEM integration config, alert runbooks, access logs"},{control:"Secure SDLC (ASVS 1.0)",implementation:"Threat modeling, security requirements in design, code review gates, SBOM generation",evidence:"Threat model docs, design review checklists, PR approval logs, SBOM artifacts"},{control:"Incident Response (SOC 2 CC7.4)",implementation:"IR playbook with escalation matrix, breach notification <72h, post-incident reviews",evidence:"IR plan documentation, escalation contacts, breach notification templates, RCA reports"},{control:"Secrets Management (ASVS 6.0)",implementation:"No hardcoded secrets, KMS for key storage, auto-rotation, secret scanning in CI",evidence:"KMS config, rotation logs, secret scanning reports, environment variable manifests"},{control:"API Security (ASVS 13.0)",implementation:"Rate limiting, API gateway with authentication, input validation, CORS policies",evidence:"API gateway config, rate limit rules, input validation tests, CORS policy docs"},{control:"Configuration Management (ASVS 14.0)",implementation:"IaC version control, immutable infrastructure, CIS benchmark compliance, drift detection",evidence:"IaC repo history, CIS compliance scorecard, drift detection logs, config baselines"}];function OZ(){return J.jsxs("div",{className:"space-y-4",children:[J.jsx("div",{className:"grid gap-3",children:RZ.map((e,t)=>J.jsx(aU,{className:"p-4 border-border/50 hover:border-primary/30 transition-colors",children:J.jsxs("div",{className:"grid md:grid-cols-[200px_1fr_1fr] gap-4",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Xk,{className:"h-4 w-4 text-primary mt-1 flex-shrink-0"}),J.jsx("div",{className:"font-semibold text-sm text-foreground",children:e.control})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-1 flex-shrink-0"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:e.implementation})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Dh,{className:"h-4 w-4 text-data-orange mt-1 flex-shrink-0"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:e.evidence})]})]})},t))}),J.jsx("div",{className:"mt-6 pt-6 border-t border-outline/20",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Complete control mapping:"})," We map your controls to ASVS L2/L3, SOC 2 Trust Service Criteria, ISO 27001 Annex A, NIST CSF, or your audit framework."," ",J.jsx("span",{className:"text-data-teal",children:"Full evidence pack delivered at sprint end."})]})})]})}function DZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"Sample OWASP Top 10 Audit Report"}),J.jsx(EF,{children:"Production security audit for enterprise SaaS platform (anonymized)"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"grid md:grid-cols-4 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Total Findings"}),J.jsx("div",{className:"text-2xl font-bold text-foreground",children:"47"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Across OWASP Top 10"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Critical"}),J.jsx("div",{className:"text-2xl font-bold text-red-600",children:"12"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Immediate remediation"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"High"}),J.jsx("div",{className:"text-2xl font-bold text-orange-600",children:"18"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Priority fixes"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Medium/Low"}),J.jsx("div",{className:"text-2xl font-bold text-yellow-600",children:"17"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Backlog items"})]})]})}),J.jsxs("div",{children:[J.jsxs("h4",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(ld,{className:"h-5 w-5 text-red-600"}),"Critical Vulnerabilities (Sample)"]}),J.jsxs("div",{className:"space-y-3",children:[J.jsx(aU,{className:"p-4 border-l-4 border-red-600 bg-red-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{variant:"destructive",className:"text-xs mt-0.5",children:"Critical"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground mb-1",children:"A03:2021 - Injection: SQL Injection in User Search"}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Location:"})," /api/users/search endpoint • ",J.jsx("strong",{children:"CVSS:"})," 9.8"]}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Issue:"})," User-supplied input in search parameter is concatenated directly into SQL query without parameterization, allowing arbitrary SQL execution."]}),J.jsxs("div",{className:"text-xs text-muted-foreground",children:[J.jsx("strong",{children:"Remediation:"})," Replace string concatenation with parameterized queries using prepared statements. Implement input validation and sanitization."]})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-red-600 bg-red-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{variant:"destructive",className:"text-xs mt-0.5",children:"Critical"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground mb-1",children:"A01:2021 - Broken Access Control: Missing Authorization on Admin Endpoints"}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Location:"})," /api/admin/* endpoints • ",J.jsx("strong",{children:"CVSS:"})," 9.1"]}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Issue:"})," Admin endpoints accessible without role verification. Any authenticated user can access admin functions."]}),J.jsxs("div",{className:"text-xs text-muted-foreground",children:[J.jsx("strong",{children:"Remediation:"})," Implement RBAC middleware. Verify admin role before processing requests. Add comprehensive authorization tests."]})]})]})})]})]}),J.jsxs("div",{children:[J.jsxs("h4",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(eI,{className:"h-5 w-5 text-orange-600"}),"High Priority Issues (Sample)"]}),J.jsxs("div",{className:"space-y-3",children:[J.jsx(aU,{className:"p-4 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{className:"bg-orange-600 text-white text-xs mt-0.5",children:"High"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground mb-1",children:"A02:2021 - Cryptographic Failures: Weak Password Hashing"}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Location:"})," User authentication module • ",J.jsx("strong",{children:"CVSS:"})," 7.5"]}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Issue:"})," Passwords hashed with MD5 instead of bcrypt/Argon2. No salt applied."]}),J.jsxs("div",{className:"text-xs text-muted-foreground",children:[J.jsx("strong",{children:"Remediation:"})," Migrate to bcrypt with cost factor 12+. Force password reset on next login. Implement password rotation policy."]})]})]})}),J.jsx(aU,{className:"p-4 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{className:"bg-orange-600 text-white text-xs mt-0.5",children:"High"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-semibold text-sm text-foreground mb-1",children:"A07:2021 - Security Misconfiguration: Missing Security Headers"}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Location:"})," Global HTTP response headers • ",J.jsx("strong",{children:"CVSS:"})," 6.5"]}),J.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("strong",{children:"Issue:"})," Missing Content-Security-Policy, X-Frame-Options, HSTS headers. Exposes to XSS and clickjacking."]}),J.jsxs("div",{className:"text-xs text-muted-foreground",children:[J.jsx("strong",{children:"Remediation:"})," Add CSP header with strict policy. Enable HSTS with includeSubDomains. Set X-Frame-Options: DENY."]})]})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Remediation Timeline"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{variant:"destructive",className:"text-xs mt-0.5",children:"Week 1"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Critical Vulnerabilities"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Fix all 12 critical issues: SQL injection, broken access control, insecure deserialization"})]})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{className:"bg-orange-600 text-white text-xs mt-0.5",children:"Week 2-3"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"High Priority Issues"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Address 18 high-severity findings: cryptographic failures, security misconfigurations, CSRF"})]})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(hU,{variant:"secondary",className:"text-xs mt-0.5",children:"Week 4"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Verification & Documentation"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Re-scan for regression testing, document accepted risks, prepare compliance evidence"})]})]})]})})]}),J.jsxs("div",{children:[J.jsxs("h4",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-600"}),"Post-Remediation Results"]}),J.jsx(aU,{className:"p-4 border-l-4 border-green-600 bg-green-600/5",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Critical CVEs"}),J.jsx("div",{className:"text-2xl font-bold text-green-600",children:"0"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"100% remediated"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"High Severity"}),J.jsx("div",{className:"text-2xl font-bold text-green-600",children:"0"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"All fixed or mitigated"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Compliance Status"}),J.jsx(hU,{variant:"secondary",className:"bg-green-600/10 text-green-600 border-green-600/20",children:"Audit-Ready"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Evidence package complete"})]})]})})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Download full OWASP audit report template"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"security_compliance",artifact:"audit_report"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download Template"]})]})]})]})})}function qZ({open:e,onOpenChange:t}){return J.jsx(IF,{open:e,onOpenChange:t,children:J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{children:"Sample SBOM (Software Bill of Materials)"}),J.jsx(EF,{children:"CycloneDX format SBOM with vulnerability analysis for enterprise web application"})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"grid md:grid-cols-4 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Format"}),J.jsx("div",{className:"text-muted-foreground",children:"CycloneDX 1.5"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"JSON schema"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Total Components"}),J.jsx("div",{className:"text-muted-foreground",children:"247"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Direct + transitive"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Licenses"}),J.jsx("div",{className:"text-muted-foreground",children:"14 unique"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"MIT, Apache 2.0, ISC"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Vulnerabilities"}),J.jsx(hU,{variant:"secondary",className:"bg-orange-600/10 text-orange-600 border-orange-600/20",children:"8 High"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Requires remediation"})]})]})}),J.jsxs("div",{children:[J.jsxs("h4",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(aj,{className:"h-5 w-5 text-primary"}),"Component Inventory (Sample)"]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(aU,{className:"p-3 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"react"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"18.2.0"}),J.jsx(hU,{variant:"secondary",className:"text-xs bg-green-600/10 text-green-600 border-green-600/20",children:"MIT"})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"purl: pkg:npm/react@18.2.0 • Direct dependency"})]}),J.jsx(Rl,{className:"h-5 w-5 text-green-600"})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-orange-600 bg-orange-600/5",children:J.jsxs("div",{className:"flex items-start justify-between",children:[J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"axios"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"0.21.1"}),J.jsx(hU,{variant:"secondary",className:"text-xs bg-green-600/10 text-green-600 border-green-600/20",children:"MIT"}),J.jsx(hU,{className:"bg-orange-600 text-white text-xs",children:"High Risk"})]}),J.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:"purl: pkg:npm/axios@0.21.1 • Direct dependency"}),J.jsx("div",{className:"text-xs text-red-600 font-medium",children:"⚠ CVE-2021-3749: Server-Side Request Forgery (SSRF) • CVSS 7.5"}),J.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[J.jsx("strong",{children:"Remediation:"})," Upgrade to axios@0.21.2 or later"]})]}),J.jsx(eI,{className:"h-5 w-5 text-orange-600 flex-shrink-0"})]})}),J.jsx(aU,{className:"p-3 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"lodash"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"4.17.21"}),J.jsx(hU,{variant:"secondary",className:"text-xs bg-green-600/10 text-green-600 border-green-600/20",children:"MIT"})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"purl: pkg:npm/lodash@4.17.21 • Transitive (via react-admin)"})]}),J.jsx(Rl,{className:"h-5 w-5 text-green-600"})]})}),J.jsx(aU,{className:"p-3 border-l-4 border-red-600 bg-red-600/5",children:J.jsxs("div",{className:"flex items-start justify-between",children:[J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"minimist"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"1.2.5"}),J.jsx(hU,{variant:"secondary",className:"text-xs bg-green-600/10 text-green-600 border-green-600/20",children:"MIT"}),J.jsx(hU,{variant:"destructive",className:"text-xs",children:"Critical"})]}),J.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:"purl: pkg:npm/minimist@1.2.5 • Transitive (via mkdirp)"}),J.jsx("div",{className:"text-xs text-red-600 font-medium",children:"⚠ CVE-2021-44906: Prototype Pollution • CVSS 9.8"}),J.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[J.jsx("strong",{children:"Remediation:"})," Upgrade to minimist@1.2.6 or remove dependency"]})]}),J.jsx(eI,{className:"h-5 w-5 text-red-600 flex-shrink-0"})]})})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Vulnerability Summary by Severity"}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-3",children:[J.jsxs(aU,{className:"p-3 border-l-4 border-red-600 bg-red-600/5",children:[J.jsx("div",{className:"text-2xl font-bold text-red-600",children:"2"}),J.jsx("div",{className:"text-xs font-medium text-foreground mt-1",children:"Critical"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"CVSS 9.0+"})]}),J.jsxs(aU,{className:"p-3 border-l-4 border-orange-600 bg-orange-600/5",children:[J.jsx("div",{className:"text-2xl font-bold text-orange-600",children:"8"}),J.jsx("div",{className:"text-xs font-medium text-foreground mt-1",children:"High"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"CVSS 7.0-8.9"})]}),J.jsxs(aU,{className:"p-3 border-l-4 border-yellow-600 bg-yellow-600/5",children:[J.jsx("div",{className:"text-2xl font-bold text-yellow-600",children:"14"}),J.jsx("div",{className:"text-xs font-medium text-foreground mt-1",children:"Medium"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"CVSS 4.0-6.9"})]}),J.jsxs(aU,{className:"p-3 border-l-4 border-blue-600 bg-blue-600/5",children:[J.jsx("div",{className:"text-2xl font-bold text-blue-600",children:"6"}),J.jsx("div",{className:"text-xs font-medium text-foreground mt-1",children:"Low"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"CVSS 0.1-3.9"})]})]})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"License Distribution"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-medium text-foreground mb-2",children:"Permissive Licenses"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"MIT (142)"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Apache 2.0 (38)"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"ISC (29)"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"BSD-3 (18)"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-medium text-foreground mb-2",children:"Copyleft Licenses"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs border-orange-600 text-orange-600",children:"GPL-3.0 (2)"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"LGPL-2.1 (1)"})]}),J.jsx("div",{className:"text-xs text-muted-foreground mt-2",children:"⚠ Review required"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-medium text-foreground mb-2",children:"Other"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Unlicense (8)"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"CC0-1.0 (4)"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Custom (5)"})]})]})]})})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-3",children:"Dependency Remediation Plan"}),J.jsx(aU,{className:"p-4 border-border/50 bg-surface/20",children:J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"destructive",className:"text-xs mt-0.5",children:"Priority 1"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"Critical CVEs (2 packages)"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Upgrade minimist@1.2.6, replace node-forge with secure alternative • ETA: 2 days"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{className:"bg-orange-600 text-white text-xs mt-0.5",children:"Priority 2"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"High Severity (8 packages)"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Upgrade axios, express, jsonwebtoken to latest stable • ETA: 5 days"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs mt-0.5",children:"Priority 3"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"font-medium text-foreground",children:"License Review (3 packages)"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Evaluate GPL-3.0 dependencies for compliance • Replace or obtain legal approval"})]})]})]})})]}),J.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/30",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"Download sample SBOM (CycloneDX JSON format)"}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"security_compliance",artifact:"sbom_sample"})},children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download SBOM"]})]})]})]})})}const EZ=()=>{const e=[{name:"App Pod",icon:oc,stack:"React/Rails/Node",team:"6 FTE",delivers:["Feature velocity 8-10/sprint","E2E test coverage >85%","Mobile-first responsive"],color:"text-blue-600"},{name:"CV Pod",icon:xh,stack:"PyTorch/DeepStream/ONNX/TensorRT",team:"5 FTE",delivers:["Edge deployment pipeline","mAP >0.85 validation","Inference <100ms p95"],color:"text-purple-600"},{name:"GenAI Pod",icon:WM,stack:"LangGraph/OpenAI/Claude/local",team:"5 FTE",delivers:["Guardrails + eval gates","HITL review console","Cost/transaction tracking"],color:"text-orange-600"},{name:"Data & BI Pod",icon:om,stack:"dbt/Lakehouse/BI",team:"4 FTE",delivers:["Data quality gates","Scheduled pipelines","Self-service dashboards"],color:"text-green-600"},{name:"Platform/MLOps Pod",icon:qk,stack:"K8s/Terraform/GitHub Actions",team:"4 FTE",delivers:["IaC + GitOps workflow","Zero-downtime deploys","Observability stack"],color:"text-teal-600"}];return J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:e.map(e=>{const t=e.icon;return J.jsxs(aU,{className:"hover:shadow-lg transition-shadow cursor-pointer",onClick:()=>{return t=e.name,void(window.gtag&&window.gtag("event","service_pod_catalog_view",{service:"product_pods",pod_type:t.toLowerCase().replace(/\s+/g,"_")}));var t},children:[J.jsxs(rU,{children:[J.jsxs("div",{className:"flex items-start justify-between mb-2",children:[J.jsx(t,{className:`h-8 w-8 ${e.color}`}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:e.team})]}),J.jsx(iU,{className:"text-lg",children:e.name}),J.jsx(nU,{className:"text-xs font-mono",children:e.stack})]}),J.jsx(oU,{children:J.jsxs("div",{className:"space-y-2",children:[J.jsx("div",{className:"text-xs font-semibold text-muted-foreground mb-2",children:"Typical Deliverables:"}),J.jsx("ul",{className:"space-y-1",children:e.delivers.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:e})]},t))})]})})]},e.name)})})},zZ=()=>{const[e,t]=Qe.useState(!1);return J.jsxs(IF,{open:e,onOpenChange:e=>{t(e),e&&window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"product_pods",artifact:"sprint_report"})},children:[J.jsx(PF,{asChild:!0,children:J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(ux,{className:"h-4 w-4"}),"View Sample Sprint Report"]})}),J.jsxs(OF,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[J.jsx(DF,{children:J.jsxs(qF,{className:"flex items-center justify-between",children:[J.jsx("span",{children:"Sample Sprint Report — Sprint 12"}),J.jsxs(oz,{variant:"ghost",size:"sm",className:"gap-2",children:[J.jsx(zm,{className:"h-4 w-4"}),"Download PDF"]})]})}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Sprint Summary"}),J.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[J.jsxs("div",{className:"p-4 rounded-lg bg-muted",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Committed Points"}),J.jsx("div",{className:"text-2xl font-bold",children:"42"})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-muted",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Completed Points"}),J.jsx("div",{className:"text-2xl font-bold text-green-600",children:"41"})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-muted",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Completion Rate"}),J.jsx("div",{className:"text-2xl font-bold",children:"98%"})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-muted",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Carry-Over"}),J.jsx("div",{className:"text-2xl font-bold",children:"1"})]})]})]}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Completed Features (9)"}),J.jsx("div",{className:"space-y-2",children:[{id:"PLT-234",title:"Implement checkout flow optimization",points:8,label:"High Priority"},{id:"PLT-235",title:"Add real-time inventory sync",points:5,label:"Medium"},{id:"PLT-236",title:"Accessibility audit remediation",points:13,label:"Compliance"},{id:"PLT-237",title:"Performance optimization - LCP",points:3,label:"Tech Debt"},{id:"PLT-238",title:"User profile management",points:5,label:"Feature"}].map(e=>J.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg",children:[J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:"font-mono text-sm text-muted-foreground",children:e.id}),J.jsx("span",{className:"text-sm font-medium",children:e.title})]})}),J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("span",{className:"px-2 py-1 text-xs rounded-full bg-muted",children:e.label}),J.jsxs("span",{className:"font-semibold text-sm w-8 text-right",children:[e.points,"pt"]})]})]},e.id))})]}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Health Metrics"}),J.jsxs("div",{className:"grid gap-3",children:[J.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg",children:[J.jsx("span",{className:"text-sm",children:"Bug Density (per 1K LOC)"}),J.jsx("span",{className:"font-semibold text-green-600",children:"1.2 ↓"})]}),J.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg",children:[J.jsx("span",{className:"text-sm",children:"Code Coverage"}),J.jsx("span",{className:"font-semibold",children:"87% ↑"})]}),J.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg",children:[J.jsx("span",{className:"text-sm",children:"Avg PR Review Time"}),J.jsx("span",{className:"font-semibold",children:"4.2 hours ↓"})]}),J.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg",children:[J.jsx("span",{className:"text-sm",children:"Production Incidents"}),J.jsx("span",{className:"font-semibold text-green-600",children:"0"})]})]})]}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Next Sprint Commitments"}),J.jsxs("div",{className:"p-4 border rounded-lg space-y-2",children:[J.jsxs("div",{className:"flex justify-between text-sm",children:[J.jsx("span",{children:"Payment gateway integration"}),J.jsx("span",{className:"text-muted-foreground",children:"13 points"})]}),J.jsxs("div",{className:"flex justify-between text-sm",children:[J.jsx("span",{children:"Search functionality with filters"}),J.jsx("span",{className:"text-muted-foreground",children:"8 points"})]}),J.jsxs("div",{className:"flex justify-between text-sm",children:[J.jsx("span",{children:"Mobile responsive enhancements"}),J.jsx("span",{className:"text-muted-foreground",children:"5 points"})]}),J.jsxs("div",{className:"border-t pt-2 mt-2 flex justify-between font-semibold",children:[J.jsx("span",{children:"Total Planned"}),J.jsx("span",{children:"40 points"})]})]})]})]})]})]})},_Z=()=>{const[e,t]=Qe.useState(!1);return J.jsxs(IF,{open:e,onOpenChange:e=>{t(e),e&&window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"product_pods",artifact:"roadmap_health"})},children:[J.jsx(PF,{asChild:!0,children:J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(Wo,{className:"h-4 w-4"}),"View Roadmap Health Dashboard"]})}),J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsx(DF,{children:J.jsx(qF,{children:"Roadmap Health Dashboard — Q2 2025"})}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("section",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[J.jsxs("div",{className:"p-6 rounded-lg border bg-card",children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm text-muted-foreground",children:"Overall Health"}),J.jsx(XC,{className:"h-5 w-5 text-green-600"})]}),J.jsx("div",{className:"text-3xl font-bold text-green-600",children:"92%"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"On track"})]}),J.jsxs("div",{className:"p-6 rounded-lg border bg-card",children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm text-muted-foreground",children:"Sprint Velocity"}),J.jsx(Wo,{className:"h-5 w-5 text-primary"})]}),J.jsx("div",{className:"text-3xl font-bold",children:"8.2"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"features/sprint (avg)"})]}),J.jsxs("div",{className:"p-6 rounded-lg border bg-card",children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm text-muted-foreground",children:"At-Risk Items"}),J.jsx(Nl,{className:"h-5 w-5 text-orange-500"})]}),J.jsx("div",{className:"text-3xl font-bold",children:"2"}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"scope/dependency issues"})]})]}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Epic Progress"}),J.jsx("div",{className:"space-y-3",children:[{name:"Checkout Optimization",status:"on-track",progress:85,dueDate:"Apr 15",completedStories:12,totalStories:14},{name:"Payment Gateway Integration",status:"on-track",progress:45,dueDate:"Apr 30",completedStories:5,totalStories:11},{name:"Real-time Inventory Sync",status:"at-risk",progress:30,dueDate:"May 15",completedStories:3,totalStories:10,riskNote:"Waiting on API access"},{name:"Mobile Responsive Redesign",status:"on-track",progress:62,dueDate:"May 30",completedStories:8,totalStories:13},{name:"Accessibility Compliance",status:"complete",progress:100,dueDate:"Mar 31",completedStories:9,totalStories:9}].map(e=>J.jsxs("div",{className:"p-4 border rounded-lg",children:[J.jsxs("div",{className:"flex items-start justify-between mb-3",children:[J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx("h4",{className:"font-semibold",children:e.name}),"complete"===e.status&&J.jsx(Rl,{className:"h-4 w-4 text-green-600"}),"at-risk"===e.status&&J.jsx(Nl,{className:"h-4 w-4 text-orange-500"})]}),J.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[J.jsxs("span",{children:["Due: ",e.dueDate]}),J.jsxs("span",{children:[e.completedStories,"/",e.totalStories," stories"]})]}),e.riskNote&&J.jsxs("div",{className:"mt-2 text-xs text-orange-600 flex items-center gap-1",children:[J.jsx(Nl,{className:"h-3 w-3"}),e.riskNote]})]}),J.jsx("div",{className:"text-right",children:J.jsxs("div",{className:"text-2xl font-bold "+("complete"===e.status?"text-green-600":"at-risk"===e.status?"text-orange-500":"text-primary"),children:[e.progress,"%"]})})]}),J.jsx("div",{className:"w-full bg-muted rounded-full h-2",children:J.jsx("div",{className:"h-2 rounded-full transition-all "+("complete"===e.status?"bg-green-600":"at-risk"===e.status?"bg-orange-500":"bg-primary"),style:{width:`${e.progress}%`}})})]},e.name))})]}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Critical Dependencies"}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("div",{className:"p-3 border rounded-lg flex items-center justify-between",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-medium text-sm",children:"Payment Gateway API Access"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Blocks: Payment Gateway Integration"})]}),J.jsx("span",{className:"px-2 py-1 text-xs rounded-full bg-orange-100 text-orange-700",children:"In Progress"})]}),J.jsxs("div",{className:"p-3 border rounded-lg flex items-center justify-between",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-medium text-sm",children:"Inventory Service API v2"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Blocks: Real-time Inventory Sync"})]}),J.jsx("span",{className:"px-2 py-1 text-xs rounded-full bg-orange-100 text-orange-700",children:"Waiting"})]}),J.jsxs("div",{className:"p-3 border rounded-lg flex items-center justify-between",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-medium text-sm",children:"Design System v3 Components"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Blocks: Mobile Responsive Redesign"})]}),J.jsx("span",{className:"px-2 py-1 text-xs rounded-full bg-green-100 text-green-700",children:"Resolved"})]})]})]}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-4",children:"12-Week Velocity Trend"}),J.jsxs("div",{className:"p-4 border rounded-lg",children:[J.jsx("div",{className:"flex items-end justify-between h-32 gap-2",children:[6.2,7.1,6.8,7.5,8.1,8.4,8.2,8.6,8.3,8.8,8.5,8.2].map((e,t)=>J.jsxs("div",{className:"flex-1 flex flex-col items-center",children:[J.jsx("div",{className:"w-full bg-primary rounded-t transition-all hover:bg-primary/80",style:{height:e/10*100+"%"}}),J.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:e})]},t))}),J.jsxs("div",{className:"text-center text-sm text-muted-foreground mt-4",children:["Average: ",J.jsx("span",{className:"font-semibold text-foreground",children:"8.2"})," features/sprint | Trend: ",J.jsx("span",{className:"font-semibold text-green-600",children:"+32%"})," vs. Q1"]})]})]})]})]})]})},LZ=()=>{const[e,t]=Qe.useState(!1);return J.jsxs(IF,{open:e,onOpenChange:e=>{t(e),e&&window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"product_pods",artifact:"exit_in_box"})},children:[J.jsx(PF,{asChild:!0,children:J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(ux,{className:"h-4 w-4"}),'View "Exit in a Box" Sample']})}),J.jsxs(OF,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[J.jsx(DF,{children:J.jsx(qF,{children:'Knowledge Transfer Package — "Exit in a Box"'})}),J.jsxs("div",{className:"space-y-6",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"When you're ready to bring development in-house or transition to another team, we deliver a comprehensive handoff package. No locked-in dependencies, no vendor lock. Everything you need to maintain velocity post-transition."}),[{category:"Code & Infrastructure",items:["Complete source code with ownership transfer documentation","Infrastructure-as-code (Terraform/CloudFormation) with state files","CI/CD pipeline definitions and secrets rotation guide","Container images and registries with access credentials","Database schemas, migrations history, and backup procedures"]},{category:"Documentation",items:["Architecture decision records (ADRs) with context and rationale","API specifications (OpenAPI/Swagger) with versioning strategy","Runbooks for operations (deploy, rollback, incident response)","Onboarding guide for new team members with setup checklist","Security policies, access controls, and compliance artifacts"]},{category:"Quality & Testing",items:["Test suites (unit, integration, E2E) with coverage reports","Performance baselines and load testing scripts","Known issues register with workarounds and remediation plan","Monitoring dashboards and alert configurations","SLA/SLO definitions with historical performance data"]},{category:"Knowledge Transfer",items:["Recorded demo sessions and architecture walkthroughs","Shadowing sessions (1-2 weeks) with your team observing","Q&A office hours (30 days post-handoff)","Emergency contact roster and escalation procedures","Technology radar: dependencies, versions, upgrade roadmap"]},{category:"Governance & Metrics",items:["Sprint retrospectives summary and improvement log","Velocity trends, defect density, and DORA metrics history","Budget actuals vs. forecast with variance explanations","OKR achievement summary and lessons learned","Risk register with mitigations and open items"]}].map(e=>J.jsxs("section",{children:[J.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-600"}),e.category]}),J.jsx("ul",{className:"space-y-2 ml-7",children:e.items.map((e,t)=>J.jsxs("li",{className:"text-sm text-muted-foreground flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:e})]},t))})]},e.category)),J.jsxs("div",{className:"mt-6 p-4 border-l-4 border-primary bg-muted/30 rounded",children:[J.jsx("h4",{className:"font-semibold mb-2 text-sm",children:"Transition Timeline"}),J.jsxs("div",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{children:"Week 1-2:"}),J.jsx("span",{className:"text-foreground",children:"Shadowing sessions + code walkthroughs"})]}),J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{children:"Week 3-4:"}),J.jsx("span",{className:"text-foreground",children:"Joint sprints with your team leading"})]}),J.jsxs("div",{className:"flex justify-between",children:[J.jsx("span",{children:"Day 30-60:"}),J.jsx("span",{className:"text-foreground",children:"Office hours + emergency support"})]})]})]})]})]})]})};function FZ(){return J.jsxs(IF,{children:[J.jsx(PF,{asChild:!0,children:J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(ux,{className:"h-4 w-4"}),"Decision Brief Sample"]})}),J.jsxs(OF,{className:"max-w-4xl max-h-[85vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsxs(qF,{className:"flex items-center gap-2",children:[J.jsx(ux,{className:"h-5 w-5 text-data-teal"}),"Decision Brief — Sample Structure"]}),J.jsx(EF,{children:"What executives receive after the 2-week prototyping lab"})]}),J.jsxs("div",{className:"space-y-6 mt-4",children:[J.jsxs("section",{className:"border-l-4 border-data-teal pl-4",children:[J.jsxs("h3",{className:"font-semibold text-lg mb-2 flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal"}),"Executive Summary"]}),J.jsxs("div",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("p",{children:[J.jsx("strong",{children:"Recommendation:"})," Proceed / Park / Pivot (with clear rationale)"]}),J.jsxs("p",{children:[J.jsx("strong",{children:"Confidence Level:"})," High / Medium / Low (based on user & tech validation)"]}),J.jsxs("p",{children:[J.jsx("strong",{children:"Investment Required:"})," T-shirt sizing for full build (S/M/L/XL with range)"]}),J.jsxs("p",{children:[J.jsx("strong",{children:"Expected ROI:"})," 3-scenario projection (conservative, baseline, optimistic)"]})]})]}),J.jsxs("section",{children:[J.jsxs("h3",{className:"font-semibold text-lg mb-3 flex items-center gap-2",children:[J.jsx(GI,{className:"h-5 w-5 text-data-cyan"}),"User Validation Results"]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"border rounded-lg p-4 bg-muted/30",children:[J.jsx("h4",{className:"font-medium mb-2",children:"Testing Overview"}),J.jsxs("ul",{className:"text-sm space-y-1 text-muted-foreground",children:[J.jsx("li",{children:"• 5+ moderated user sessions"}),J.jsx("li",{children:"• Session recordings & synthesis"}),J.jsx("li",{children:"• Task completion rates per flow"}),J.jsx("li",{children:"• Usability severity ratings (P0-P3)"})]})]}),J.jsxs("div",{className:"border rounded-lg p-4 bg-muted/30",children:[J.jsx("h4",{className:"font-medium mb-2",children:"Key Findings"}),J.jsxs("ul",{className:"text-sm space-y-1 text-muted-foreground",children:[J.jsx("li",{children:"• Feature desirability scores (1-5)"}),J.jsx("li",{children:"• Friction points & blockers"}),J.jsx("li",{children:'• "Must-have" vs "nice-to-have"'}),J.jsx("li",{children:"• Workflow fit assessment"})]})]})]})]}),J.jsxs("section",{children:[J.jsxs("h3",{className:"font-semibold text-lg mb-3 flex items-center gap-2",children:[J.jsx(oc,{className:"h-5 w-5 text-data-blue"}),"Technical Feasibility Spike"]}),J.jsxs("div",{className:"border rounded-lg p-4 bg-muted/30",children:[J.jsxs("div",{className:"grid md:grid-cols-3 gap-4 mb-4",children:[J.jsxs("div",{children:[J.jsx(hU,{variant:"outline",className:"mb-2",children:"Performance"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Latency, throughput, accuracy benchmarks against targets"})]}),J.jsxs("div",{children:[J.jsx(hU,{variant:"outline",className:"mb-2",children:"Integration"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"API compatibility, auth flow, data sync feasibility"})]}),J.jsxs("div",{children:[J.jsx(hU,{variant:"outline",className:"mb-2",children:"Scalability"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Load estimates, infra requirements, cost projections"})]})]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Example metrics:"})," RAG accuracy 87% (target: 85%), API latency p95 180ms (target: 200ms), estimated cloud cost $2.4k/mo at 10k users"]})]})]}),J.jsxs("section",{children:[J.jsxs("h3",{className:"font-semibold text-lg mb-3 flex items-center gap-2",children:[J.jsx(eI,{className:"h-5 w-5 text-amber-500"}),"Risk Register"]}),J.jsxs("div",{className:"space-y-3",children:[J.jsx("div",{className:"border rounded-lg p-3 bg-red-50 dark:bg-red-950/20",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"destructive",className:"text-xs",children:"High"}),J.jsxs("div",{className:"flex-1 text-sm",children:[J.jsx("p",{className:"font-medium",children:"Third-party API rate limits"}),J.jsx("p",{className:"text-muted-foreground text-xs mt-1",children:"Mitigation: Caching layer + queue-based retries. Cost: +$800/mo, Timeline: +1 sprint"})]})]})}),J.jsx("div",{className:"border rounded-lg p-3 bg-amber-50 dark:bg-amber-950/20",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs border-amber-500 text-amber-700 dark:text-amber-400",children:"Medium"}),J.jsxs("div",{className:"flex-1 text-sm",children:[J.jsx("p",{className:"font-medium",children:"User adoption curve steeper than expected"}),J.jsx("p",{className:"text-muted-foreground text-xs mt-1",children:"Mitigation: Onboarding wizard + in-app tutorials. Cost: +2 sprints, Timeline: parallel to MVP"})]})]})}),J.jsx("div",{className:"border rounded-lg p-3 bg-green-50 dark:bg-green-950/20",children:J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs border-green-500 text-green-700 dark:text-green-400",children:"Low"}),J.jsxs("div",{className:"flex-1 text-sm",children:[J.jsx("p",{className:"font-medium",children:"Browser compatibility edge cases"}),J.jsx("p",{className:"text-muted-foreground text-xs mt-1",children:"Mitigation: Polyfills + graceful degradation. Cost: +0.5 sprint, Timeline: part of QA phase"})]})]})})]})]}),J.jsxs("section",{children:[J.jsxs("h3",{className:"font-semibold text-lg mb-3 flex items-center gap-2",children:[J.jsx(XC,{className:"h-5 w-5 text-green-600"}),"ROI Projection (3 Scenarios)"]}),J.jsx("div",{className:"border rounded-lg overflow-hidden",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{className:"bg-muted",children:J.jsxs("tr",{children:[J.jsx("th",{className:"text-left p-3 font-medium",children:"Scenario"}),J.jsx("th",{className:"text-right p-3 font-medium",children:"Investment"}),J.jsx("th",{className:"text-right p-3 font-medium",children:"Year 1 Savings"}),J.jsx("th",{className:"text-right p-3 font-medium",children:"Payback"})]})}),J.jsxs("tbody",{className:"divide-y",children:[J.jsxs("tr",{children:[J.jsx("td",{className:"p-3",children:"Conservative (50% adoption)"}),J.jsx("td",{className:"text-right p-3",children:"$180k"}),J.jsx("td",{className:"text-right p-3",children:"$220k"}),J.jsx("td",{className:"text-right p-3 text-green-600 font-medium",children:"9.8 mo"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"p-3",children:"Baseline (70% adoption)"}),J.jsx("td",{className:"text-right p-3",children:"$180k"}),J.jsx("td",{className:"text-right p-3",children:"$340k"}),J.jsx("td",{className:"text-right p-3 text-green-600 font-medium",children:"6.4 mo"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"p-3",children:"Optimistic (90% adoption)"}),J.jsx("td",{className:"text-right p-3",children:"$180k"}),J.jsx("td",{className:"text-right p-3",children:"$480k"}),J.jsx("td",{className:"text-right p-3 text-green-600 font-medium",children:"4.5 mo"})]})]})]})})]}),J.jsxs("section",{className:"bg-data-teal/10 border border-data-teal/30 rounded-lg p-4",children:[J.jsx("h3",{className:"font-semibold mb-2",children:"Recommended Next Steps"}),J.jsxs("ol",{className:"text-sm space-y-1 text-muted-foreground list-decimal list-inside",children:[J.jsx("li",{children:"Stakeholder alignment meeting (present findings + recommendation)"}),J.jsx("li",{children:'Budget approval for full build (if "Proceed")'}),J.jsx("li",{children:"Transition to delivery phase: Product Pods or specialized accelerator"}),J.jsx("li",{children:"90-day milestone plan with release checkpoints"})]})]}),J.jsxs("section",{className:"text-xs text-muted-foreground bg-muted/30 p-4 rounded-lg",children:[J.jsx("p",{className:"font-medium mb-2",children:"Full Brief Package Includes:"}),J.jsxs("ul",{className:"grid md:grid-cols-2 gap-x-4 gap-y-1",children:[J.jsx("li",{children:"✓ Clickable prototype (Figma or code)"}),J.jsx("li",{children:"✓ User testing synthesis report"}),J.jsx("li",{children:"✓ Tech spike repository + benchmarks"}),J.jsx("li",{children:"✓ Risk register spreadsheet"}),J.jsx("li",{children:"✓ ROI calculator (Excel/Sheets)"}),J.jsx("li",{children:"✓ Executive decision brief (PDF)"}),J.jsx("li",{children:"✓ Recommended architecture diagram"}),J.jsx("li",{children:"✓ 90-day delivery roadmap"})]})]})]})]})]})}const WZ=()=>{const[e,t]=Qe.useState(!1);return J.jsxs(IF,{open:e,onOpenChange:e=>{t(e),e&&window.gtag&&window.gtag("event","service_sample_proto_view",{service:"rapid_prototyping"})},children:[J.jsx(PF,{asChild:!0,children:J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(xh,{className:"h-4 w-4"}),"View Sample Prototype"]})}),J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsx(DF,{children:J.jsx(qF,{children:"Sample Prototype Deliverable — 2-Week Lab"})}),J.jsxs("div",{className:"space-y-6",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"This redacted example shows the structure of a typical lab deliverable. The prototype covers 5 priority user flows, tested with 25 participants across roles. All findings are logged with severity ratings and recommended design changes."}),J.jsx("div",{className:"grid gap-4",children:[{flow:"Authentication & Onboarding",coverage:["Email/SSO login","Profile setup wizard","Permission consent screens"],userTests:5,findings:"96% task completion; confusion on permission scope"},{flow:"Core Workflow (RAG Query)",coverage:["Search interface","Document upload","Result ranking with citations"],userTests:8,findings:"Citation display preferred over inline; latency expectation set at 3s"},{flow:"Admin Dashboard",coverage:["User management","Analytics overview","Configuration panel"],userTests:3,findings:"Role delegation unclear; requested audit log visibility"},{flow:"Error Handling",coverage:["Network failures","Timeout states","Invalid input feedback"],userTests:5,findings:"Preferred actionable error messages over generic alerts"},{flow:"Mobile Responsiveness",coverage:["Touch targets ≥44px","Readable fonts","Horizontal scroll eliminated"],userTests:4,findings:"Navigation menu placement debated; settled on bottom nav"}].map((e,t)=>J.jsxs("div",{className:"border rounded-lg p-4 space-y-3",children:[J.jsxs("div",{className:"flex items-start justify-between",children:[J.jsxs("h3",{className:"text-base font-semibold flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-600"}),e.flow]}),J.jsxs("span",{className:"text-xs bg-primary/10 text-primary px-2 py-1 rounded",children:[e.userTests," user tests"]})]}),J.jsxs("div",{className:"ml-7 space-y-2",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Coverage:"}),J.jsx("ul",{className:"text-sm space-y-1",children:e.coverage.map((e,t)=>J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Key Findings:"}),J.jsx("p",{className:"text-sm",children:e.findings})]})]})]},t))}),J.jsxs("div",{className:"mt-6 p-4 border-l-4 border-primary bg-muted/30 rounded",children:[J.jsx("h4",{className:"font-semibold mb-2 text-sm",children:"Typical Prototype Deliverable Includes"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Figma/React prototype with 5–7 priority flows (clickable, mobile-responsive)"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"User test recordings (clips) + findings table with severity ratings"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Annotated screens with interaction notes and accessibility checks"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Design system tokens (colors, typography, spacing) ready for handoff"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Next-step UX backlog (prioritized improvements for build phase)"})]})]})]}),J.jsx("div",{className:"text-center text-sm text-muted-foreground mt-4",children:J.jsx("p",{children:"Actual client prototypes include live Figma links or deployed preview URLs with view-only access."})})]})]})]})},HZ=()=>{const[e,t]=Qe.useState(!1);return J.jsxs(IF,{open:e,onOpenChange:e=>{t(e),e&&window.gtag&&window.gtag("event","service_sample_spike_view",{service:"rapid_prototyping"})},children:[J.jsx(PF,{asChild:!0,children:J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(Gx,{className:"h-4 w-4"}),"View Spike Report"]})}),J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsx(DF,{children:J.jsx(qF,{children:"Sample Technical Spike Report — RAG Feasibility"})}),J.jsxs("div",{className:"space-y-6",children:[J.jsx("p",{className:"text-sm text-muted-foreground",children:"This redacted example shows a typical spike deliverable from a 2-week lab. The spike validates the riskiest technical assumptions (accuracy, latency, cost) with quantified metrics against Day-1 gates."}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Spike Metrics vs. Gates"}),J.jsx("div",{className:"space-y-3",children:[{metric:"RAG Grounding Accuracy",target:"≥85%",achieved:"89.3%",status:"pass",notes:"Tested on 200 enterprise documents; citations correct in 178/200 cases"},{metric:"Query Latency (p95)",target:"≤3.0s",achieved:"2.1s",status:"pass",notes:"Includes embedding lookup + LLM call + citation extraction; Azure OpenAI gpt-4o"},{metric:"Cost per Query",target:"≤$0.05",achieved:"$0.08",status:"warning",notes:"Above target; recommend batch embedding or switch to gemini-2.5-flash (est. $0.03/query)"},{metric:"Concurrent Users",target:"≥50",achieved:"72",status:"pass",notes:"Load test with Locust; no degradation at 72 concurrent; queue observed at 90+"},{metric:"Hallucination Rate",target:"≤5%",achieved:"3.2%",status:"pass",notes:"Manual eval on 100 edge cases; improved with system prompt tuning"}].map((e,t)=>J.jsxs("div",{className:"border rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-start justify-between mb-2",children:[J.jsxs("div",{className:"flex items-center gap-2",children:["pass"===e.status&&J.jsx(Rl,{className:"h-5 w-5 text-green-600"}),"warning"===e.status&&J.jsx(Nl,{className:"h-5 w-5 text-yellow-600"}),"fail"===e.status&&J.jsx(ld,{className:"h-5 w-5 text-red-600"}),J.jsx("h4",{className:"text-base font-semibold",children:e.metric})]}),J.jsx(hU,{variant:"pass"===e.status?"default":"warning"===e.status?"secondary":"destructive",children:e.status.toUpperCase()})]}),J.jsxs("div",{className:"ml-7 space-y-1",children:[J.jsxs("div",{className:"flex gap-4 text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Target:"}),J.jsx("span",{className:"font-medium",children:e.target})]}),J.jsxs("div",{className:"flex gap-4 text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Achieved:"}),J.jsx("span",{className:"font-medium",children:e.achieved})]}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:e.notes})]})]},t))})]}),J.jsxs("section",{children:[J.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Technical Stack Decisions"}),J.jsx("div",{className:"space-y-3",children:[{component:"Vector Store",choice:"Pinecone (serverless)",rationale:"Low-latency retrieval; managed scaling"},{component:"LLM",choice:"OpenAI gpt-4o",rationale:"Best grounding accuracy in evals; Azure deployment for compliance"},{component:"Embedding Model",choice:"text-embedding-3-large",rationale:"1024 dim; 89% recall@10 on domain corpus"},{component:"Orchestration",choice:"LangGraph",rationale:"State management for multi-turn; built-in tracing"},{component:"Guardrails",choice:"NeMo Guardrails",rationale:"PII detection + prompt injection filters"}].map((e,t)=>J.jsxs("div",{className:"border rounded-lg p-3",children:[J.jsx("div",{className:"flex items-start justify-between",children:J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold",children:e.component}),J.jsx("p",{className:"text-sm text-primary mt-1",children:e.choice})]})}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:e.rationale})]},t))})]}),J.jsxs("div",{className:"mt-6 p-4 border-l-4 border-primary bg-muted/30 rounded",children:[J.jsx("h4",{className:"font-semibold mb-2 text-sm",children:"Typical Spike Deliverable Includes"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Git repo with spike code (README, requirements, env vars, minimal tests)"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Metrics table (latency/accuracy/cost) with pass/fail vs agreed gates"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Architecture diagram (data flow, component boundaries, external dependencies)"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Eval harness (test cases, ground truth, scoring script) for reproducibility"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"Risks & mitigation plan (cost overruns, model drift, compliance gaps)"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"mr-2 text-primary",children:"•"}),J.jsx("span",{children:"30/60/90-day build plan with cost bands and milestone acceptance criteria"})]})]})]}),J.jsx("div",{className:"text-center text-sm text-muted-foreground mt-4",children:J.jsx("p",{children:"Actual spike reports include full eval results, load test charts, and cost projections with vendor quotes."})})]})]})]})};function VZ({children:e}){return J.jsxs(IF,{onOpenChange:e=>{e&&eD("integration-fasttrack","dual_run_report")},children:[J.jsx(PF,{asChild:!0,children:e||J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(ux,{className:"h-4 w-4"}),"View Dual-Run Report"]})}),J.jsxs(OF,{className:"max-w-4xl max-h-[85vh] overflow-y-auto",children:[J.jsx(DF,{children:J.jsxs(qF,{className:"flex items-center gap-2",children:[J.jsx(ux,{className:"h-5 w-5 text-primary"}),"Sample Dual-Run Reconciliation Report"]})}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"bg-muted/30 p-4 rounded-lg border border-border",children:[J.jsx("h3",{className:"font-semibold text-lg mb-3",children:"Executive Summary"}),J.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Sync Success"}),J.jsx("div",{className:"text-2xl font-bold text-green-600 dark:text-green-400",children:"99.7%"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Records Synced"}),J.jsx("div",{className:"text-2xl font-bold",children:"847,392"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Variance Found"}),J.jsx("div",{className:"text-2xl font-bold text-amber-600 dark:text-amber-400",children:"0.3%"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Avg Latency"}),J.jsx("div",{className:"text-2xl font-bold",children:"340ms"})]})]})]}),J.jsxs("div",{children:[J.jsxs("h3",{className:"font-semibold text-lg mb-3 flex items-center gap-2",children:[J.jsx(XC,{className:"h-5 w-5 text-primary"}),"System Comparison: Legacy vs. New Integration"]}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs("table",{className:"w-full border-collapse",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b border-border",children:[J.jsx("th",{className:"text-left p-3 text-sm font-semibold",children:"Metric"}),J.jsx("th",{className:"text-left p-3 text-sm font-semibold",children:"Legacy System"}),J.jsx("th",{className:"text-left p-3 text-sm font-semibold",children:"New Integration"}),J.jsx("th",{className:"text-left p-3 text-sm font-semibold",children:"Variance"})]})}),J.jsxs("tbody",{className:"text-sm",children:[J.jsxs("tr",{className:"border-b border-border/50",children:[J.jsx("td",{className:"p-3 font-medium",children:"Order Records"}),J.jsx("td",{className:"p-3",children:"423,891"}),J.jsx("td",{className:"p-3",children:"423,847"}),J.jsxs("td",{className:"p-3 flex items-center gap-1",children:[J.jsx(eI,{className:"h-4 w-4 text-amber-500"}),J.jsx("span",{className:"text-amber-600 dark:text-amber-400",children:"-44 (0.01%)"})]})]}),J.jsxs("tr",{className:"border-b border-border/50",children:[J.jsx("td",{className:"p-3 font-medium",children:"Customer Data"}),J.jsx("td",{className:"p-3",children:"198,234"}),J.jsx("td",{className:"p-3",children:"198,234"}),J.jsxs("td",{className:"p-3 flex items-center gap-1",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-500"}),J.jsx("span",{className:"text-green-600 dark:text-green-400",children:"Match"})]})]}),J.jsxs("tr",{className:"border-b border-border/50",children:[J.jsx("td",{className:"p-3 font-medium",children:"Inventory Items"}),J.jsx("td",{className:"p-3",children:"125,789"}),J.jsx("td",{className:"p-3",children:"125,789"}),J.jsxs("td",{className:"p-3 flex items-center gap-1",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-500"}),J.jsx("span",{className:"text-green-600 dark:text-green-400",children:"Match"})]})]}),J.jsxs("tr",{className:"border-b border-border/50",children:[J.jsx("td",{className:"p-3 font-medium",children:"Financial Txns"}),J.jsx("td",{className:"p-3",children:"99,478"}),J.jsx("td",{className:"p-3",children:"99,478"}),J.jsxs("td",{className:"p-3 flex items-center gap-1",children:[J.jsx(Rl,{className:"h-4 w-4 text-green-500"}),J.jsx("span",{className:"text-green-600 dark:text-green-400",children:"Match"})]})]})]})]})})]}),J.jsxs("div",{className:"bg-amber-50 dark:bg-amber-950/20 p-4 rounded-lg border border-amber-200 dark:border-amber-900",children:[J.jsxs("h4",{className:"font-semibold mb-2 flex items-center gap-2 text-amber-900 dark:text-amber-200",children:[J.jsx(eI,{className:"h-4 w-4"}),"Variance Analysis"]}),J.jsxs("ul",{className:"text-sm space-y-1 text-amber-900 dark:text-amber-200",children:[J.jsx("li",{children:"• 44 order records: timestamp misalignment (legacy system clock drift)"}),J.jsx("li",{children:"• Root cause: Legacy system using local timezone vs. UTC in new system"}),J.jsx("li",{children:"• Recommendation: Apply timezone normalization transform in ETL"}),J.jsx("li",{children:"• Risk: Low — data integrity maintained, display-only variance"})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-lg mb-3",children:"Performance Metrics (48-hour observation)"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[J.jsxs("div",{className:"bg-muted/30 p-3 rounded border border-border",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Peak Sync Throughput"}),J.jsx("div",{className:"text-xl font-bold",children:"2,847 records/min"})]}),J.jsxs("div",{className:"bg-muted/30 p-3 rounded border border-border",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"P95 Latency"}),J.jsx("div",{className:"text-xl font-bold",children:"680ms"})]}),J.jsxs("div",{className:"bg-muted/30 p-3 rounded border border-border",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Error Rate"}),J.jsx("div",{className:"text-xl font-bold text-green-600 dark:text-green-400",children:"0.03%"})]}),J.jsxs("div",{className:"bg-muted/30 p-3 rounded border border-border",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Retry Success"}),J.jsx("div",{className:"text-xl font-bold",children:"100%"})]})]})]}),J.jsxs("div",{className:"bg-green-50 dark:bg-green-950/20 p-4 rounded-lg border border-green-200 dark:border-green-900",children:[J.jsxs("h4",{className:"font-semibold mb-2 flex items-center gap-2 text-green-900 dark:text-green-200",children:[J.jsx(Rl,{className:"h-4 w-4"}),"Dual-Run Sign-Off Status"]}),J.jsxs("div",{className:"text-sm space-y-1 text-green-900 dark:text-green-200",children:[J.jsx("p",{children:"✓ Data integrity verified across all entity types"}),J.jsx("p",{children:"✓ Performance meets SLA requirements (p95 < 1000ms)"}),J.jsx("p",{children:"✓ Error handling and retry logic validated"}),J.jsx("p",{children:"✓ Ready for production cutover — variance documented and understood"})]})]}),J.jsx("div",{className:"text-xs text-muted-foreground pt-2 border-t border-border",children:"Sample report from manufacturing client dual-run validation (data anonymized). Actual reports include system-specific entity mappings, transformation logs, and cutover runbooks."})]})]})]})}function BZ({children:e}){return J.jsxs(IF,{onOpenChange:e=>{e&&eD("integration-fasttrack","contract_tests")},children:[J.jsx(PF,{asChild:!0,children:e||J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(zh,{className:"h-4 w-4"}),"View Contract Tests"]})}),J.jsxs(OF,{className:"max-w-4xl max-h-[85vh] overflow-y-auto",children:[J.jsx(DF,{children:J.jsxs(qF,{className:"flex items-center gap-2",children:[J.jsx(zh,{className:"h-5 w-5 text-primary"}),"Sample Contract Test Suite"]})}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"bg-muted/30 p-4 rounded-lg border border-border",children:[J.jsx("h3",{className:"font-semibold text-lg mb-3",children:"Test Execution Summary"}),J.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Total Tests"}),J.jsx("div",{className:"text-2xl font-bold",children:"247"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Passed"}),J.jsx("div",{className:"text-2xl font-bold text-green-600 dark:text-green-400",children:"245"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Failed"}),J.jsx("div",{className:"text-2xl font-bold text-red-600 dark:text-red-400",children:"2"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-sm text-muted-foreground",children:"Duration"}),J.jsx("div",{className:"text-2xl font-bold",children:"3m 42s"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-lg mb-3",children:"Provider Contract Verification"}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"border border-border rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center justify-between mb-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-500"}),J.jsx("span",{className:"font-semibold",children:"ERP Service (SAP)"})]}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"42/42 passed"})]}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex items-center justify-between py-1",children:[J.jsx("span",{className:"font-mono text-xs",children:"POST /api/orders"}),J.jsx(Rl,{className:"h-4 w-4 text-green-500"})]}),J.jsxs("div",{className:"flex items-center justify-between py-1",children:[J.jsx("span",{className:"font-mono text-xs",children:"GET /api/orders/:id"}),J.jsx(Rl,{className:"h-4 w-4 text-green-500"})]}),J.jsxs("div",{className:"flex items-center justify-between py-1",children:[J.jsx("span",{className:"font-mono text-xs",children:"PATCH /api/orders/:id/status"}),J.jsx(Rl,{className:"h-4 w-4 text-green-500"})]}),J.jsx("div",{className:"text-xs text-muted-foreground mt-2",children:"✓ Schema validation • ✓ Required fields • ✓ Data types • ✓ Enum values"})]})]}),J.jsxs("div",{className:"border border-border rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center justify-between mb-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-green-500"}),J.jsx("span",{className:"font-semibold",children:"WMS Service (Manhattan)"})]}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"38/38 passed"})]}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex items-center justify-between py-1",children:[J.jsx("span",{className:"font-mono text-xs",children:"POST /api/shipments"}),J.jsx(Rl,{className:"h-4 w-4 text-green-500"})]}),J.jsxs("div",{className:"flex items-center justify-between py-1",children:[J.jsx("span",{className:"font-mono text-xs",children:"GET /api/inventory/:sku"}),J.jsx(Rl,{className:"h-4 w-4 text-green-500"})]}),J.jsxs("div",{className:"flex items-center justify-between py-1",children:[J.jsx("span",{className:"font-mono text-xs",children:"PUT /api/inventory/:sku/adjust"}),J.jsx(Rl,{className:"h-4 w-4 text-green-500"})]}),J.jsx("div",{className:"text-xs text-muted-foreground mt-2",children:"✓ Real-time sync • ✓ Webhook delivery • ✓ Idempotency keys"})]})]}),J.jsxs("div",{className:"border border-amber-300 dark:border-amber-900 bg-amber-50 dark:bg-amber-950/20 rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center justify-between mb-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(ld,{className:"h-5 w-5 text-red-500"}),J.jsx("span",{className:"font-semibold",children:"Payment Gateway (Stripe)"})]}),J.jsx("span",{className:"text-sm text-red-600 dark:text-red-400",children:"31/33 passed (2 failed)"})]}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex items-center justify-between py-1",children:[J.jsx("span",{className:"font-mono text-xs",children:"POST /api/payments"}),J.jsx(Rl,{className:"h-4 w-4 text-green-500"})]}),J.jsxs("div",{className:"flex items-center justify-between py-1 bg-red-50 dark:bg-red-950/30 px-2 rounded",children:[J.jsx("span",{className:"font-mono text-xs text-red-700 dark:text-red-300",children:"POST /api/refunds"}),J.jsx(ld,{className:"h-4 w-4 text-red-500"})]}),J.jsx("div",{className:"text-xs text-red-700 dark:text-red-300 pl-4",children:"→ Expected field 'reason_code' missing in response schema"}),J.jsxs("div",{className:"flex items-center justify-between py-1 bg-red-50 dark:bg-red-950/30 px-2 rounded",children:[J.jsx("span",{className:"font-mono text-xs text-red-700 dark:text-red-300",children:"GET /api/disputes/:id"}),J.jsx(ld,{className:"h-4 w-4 text-red-500"})]}),J.jsx("div",{className:"text-xs text-red-700 dark:text-red-300 pl-4",children:"→ Response returns 'chargeback_reason' but contract expects 'dispute_reason'"})]})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-lg mb-3",children:"Consumer Contract Verification"}),J.jsx("div",{className:"bg-muted/30 p-4 rounded-lg border border-border",children:J.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold mb-2",children:"Mobile App (iOS/Android)"}),J.jsxs("div",{className:"space-y-1",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-3 w-3 text-green-500"}),J.jsx("span",{children:"Order placement flow"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-3 w-3 text-green-500"}),J.jsx("span",{children:"Payment processing"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-3 w-3 text-green-500"}),J.jsx("span",{children:"Shipment tracking"})]})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold mb-2",children:"Web Portal"}),J.jsxs("div",{className:"space-y-1",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-3 w-3 text-green-500"}),J.jsx("span",{children:"Dashboard data load"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-3 w-3 text-green-500"}),J.jsx("span",{children:"Report generation"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"h-3 w-3 text-green-500"}),J.jsx("span",{children:"Bulk operations"})]})]})]})]})})]}),J.jsxs("div",{className:"bg-blue-50 dark:bg-blue-950/20 p-4 rounded-lg border border-blue-200 dark:border-blue-900",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-4 w-4 text-blue-700 dark:text-blue-300"}),J.jsx("h4",{className:"font-semibold text-blue-900 dark:text-blue-200",children:"Automated CI/CD Enforcement"})]}),J.jsxs("div",{className:"text-sm space-y-1 text-blue-900 dark:text-blue-200",children:[J.jsx("p",{children:"✓ Contract tests run on every PR and before deployment"}),J.jsx("p",{children:"✓ Breaking changes blocked automatically in pipeline"}),J.jsx("p",{children:"✓ Pact Broker maintains contract history and compatibility matrix"}),J.jsx("p",{children:"✓ Slack notifications on contract violations with remediation steps"})]})]}),J.jsxs("div",{className:"text-xs text-muted-foreground space-y-1",children:[J.jsx("div",{className:"font-semibold",children:"Tech Stack:"}),J.jsx("div",{children:"Framework: Pact (consumer-driven contracts) • Language: TypeScript/Jest"}),J.jsx("div",{children:"Broker: Pactflow (hosted) • CI: GitHub Actions • Coverage: API, Events, Data Schemas"})]}),J.jsx("div",{className:"text-xs text-muted-foreground pt-2 border-t border-border",children:"Sample contract test suite from retail logistics integration (system names anonymized). Actual suites include versioned contracts, compatibility matrices, and rollback procedures."})]})]})]})}function GZ({children:e}){return J.jsxs(IF,{onOpenChange:e=>e&&void eD("rails_upgrades","upgrade_report"),children:[J.jsx(PF,{asChild:!0,children:e||J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",children:"View sample upgrade report"})}),J.jsxs(OF,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{className:"text-2xl font-bold text-foreground",children:"Rails Upgrade Report: 6.1 → 7.1"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"E-commerce SaaS Platform · 247K LOC · 4,200 tests · 18 engineers"})]}),J.jsxs("div",{className:"space-y-6 py-4",children:[J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Executive Summary"}),J.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"47 days"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Total Duration"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"Zero"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Downtime"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"18"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"CVEs Eliminated"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"62%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"p95 Improvement"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Gem Compatibility (143 total gems)"}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("div",{className:"flex items-center justify-between p-3 bg-green-500/10 border border-green-500/30 rounded",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-600"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Compatible (122 gems)"})]}),J.jsx(hU,{variant:"outline",className:"bg-green-500/20 text-green-700 border-green-500/50",children:"85%"})]}),J.jsxs("div",{className:"flex items-center justify-between p-3 bg-amber-500/10 border border-amber-500/30 rounded",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-amber-600"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Required Updates (19 gems)"})]}),J.jsx(hU,{variant:"outline",className:"bg-amber-500/20 text-amber-700 border-amber-500/50",children:"13%"})]}),J.jsxs("div",{className:"flex items-center justify-between p-3 bg-red-500/10 border border-red-500/30 rounded",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-red-600"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Custom Shims Required (2 gems)"})]}),J.jsx(hU,{variant:"outline",className:"bg-red-500/20 text-red-700 border-red-500/50",children:"2%"})]})]}),J.jsxs("div",{className:"mt-4 p-3 bg-surface/20 rounded border border-border/30",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground mb-2",children:"Critical Gem Updates:"}),J.jsxs("ul",{className:"text-xs text-muted-foreground space-y-1",children:[J.jsx("li",{children:"• devise 4.8.1 → 4.9.3 (security patches)"}),J.jsx("li",{children:"• sidekiq 6.5.8 → 7.2.0 (breaking API changes handled)"}),J.jsx("li",{children:"• pundit 2.3.0 → 2.3.1 (compatible)"}),J.jsx("li",{children:"• webpacker → vite_rails (migration completed)"}),J.jsx("li",{children:"• factory_bot_rails 6.2.0 → 6.4.3 (compatible)"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Deprecation Resolution"}),J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsxs("div",{className:"p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("div",{className:"text-xl font-bold text-foreground",children:"847"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Initial Warnings"})]}),J.jsxs("div",{className:"p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("div",{className:"text-xl font-bold text-data-teal",children:"0"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Post-Upgrade"})]}),J.jsxs("div",{className:"p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("div",{className:"text-xl font-bold text-foreground",children:"4 weeks"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Resolution Time"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Test Suite Status"}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex justify-between items-center p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("span",{className:"text-muted-foreground",children:"RSpec (Rails 6.1)"}),J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"4,187 / 4,200 passing"})]}),J.jsxs("div",{className:"flex justify-between items-center p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("span",{className:"text-muted-foreground",children:"RSpec (Rails 7.1)"}),J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"4,200 / 4,200 passing"})]}),J.jsxs("div",{className:"flex justify-between items-center p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("span",{className:"text-muted-foreground",children:"Flaky Tests Fixed"}),J.jsx(hU,{className:"bg-data-teal/20 text-data-teal border-data-teal/50",children:"13 tests stabilized"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Deployment Strategy"}),J.jsx("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Method:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Dual-boot with canary rollout"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Cutover:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"0% → 10% → 50% → 100% over 4 days"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Rollback Tested:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Yes (7 min rollback to Rails 6.1)"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Feature Freeze:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"None — 47 PRs merged during upgrade"})]})]})})]}),J.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[J.jsxs("div",{className:"p-4 bg-green-500/5 rounded-lg border border-green-500/30",children:[J.jsxs("h4",{className:"font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-600"}),"Security"]}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"• 18 CVEs eliminated (3 critical)"}),J.jsx("li",{children:"• SBOM generated (CycloneDX)"}),J.jsx("li",{children:"• SAST/DAST clean"})]})]}),J.jsxs("div",{className:"p-4 bg-data-teal/5 rounded-lg border border-data-teal/30",children:[J.jsxs("h4",{className:"font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Performance"]}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"• p95: 1.8s → 680ms (62% improvement)"}),J.jsx("li",{children:"• Memory: 1.4GB → 510MB (64% reduction)"}),J.jsx("li",{children:"• Boot time: 42s → 18s"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Audit-Ready Evidence"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2 text-sm",children:"Dual-Boot Artifacts"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"✓ CI matrix screenshot (old/new green)"}),J.jsx("li",{children:"✓ Gemfile diff with shim annotations"}),J.jsx("li",{children:"✓ Traffic replay results (staging)"}),J.jsx("li",{children:"✓ Side-by-side log comparison"})]})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2 text-sm",children:"Migration Timeline"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"✓ strong_migrations execution log"}),J.jsx("li",{children:"✓ Zero-downtime markers documented"}),J.jsx("li",{children:"✓ Lock duration: max 3.2s per migration"}),J.jsx("li",{children:"✓ Rollback rehearsal: 7min successful"})]})]})]})]}),J.jsxs("div",{className:"p-4 bg-data-orange/5 rounded-lg border border-data-orange/30",children:[J.jsx("p",{className:"text-sm font-semibold text-foreground mb-2",children:"✓ Sign-off Criteria Met"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"All acceptance gates passed. Production traffic at 100% on Rails 7.1 as of Day 47. Zero regressions reported. 30-day support period active. Signed KPI report delivered."})]})]})]})]})}function UZ({children:e}){return J.jsxs(IF,{onOpenChange:e=>e&&void eD("rails_upgrades","performance_comparison"),children:[J.jsx(PF,{asChild:!0,children:e||J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",children:"View performance comparison"})}),J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsx(qF,{className:"text-2xl font-bold text-foreground",children:"Performance Comparison: Rails 6.1 vs 7.1"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Production load test · 10K concurrent users · 7-day monitoring window"})]}),J.jsxs("div",{className:"space-y-6 py-4",children:[J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsxs("div",{className:"p-4 bg-green-500/10 border border-green-500/30 rounded-lg",children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Response Time (p95)"}),J.jsx(ZC,{className:"w-5 h-5 text-green-600"})]}),J.jsxs("div",{className:"flex items-baseline gap-2",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"1.8s"}),J.jsx("span",{className:"text-xl text-muted-foreground",children:"→"}),J.jsx("span",{className:"text-3xl font-bold text-green-600",children:"680ms"})]}),J.jsx(hU,{className:"mt-2 bg-green-500/20 text-green-700 border-green-500/50",children:"62% faster"})]}),J.jsxs("div",{className:"p-4 bg-green-500/10 border border-green-500/30 rounded-lg",children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Memory per Process"}),J.jsx(ZC,{className:"w-5 h-5 text-green-600"})]}),J.jsxs("div",{className:"flex items-baseline gap-2",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"1.4GB"}),J.jsx("span",{className:"text-xl text-muted-foreground",children:"→"}),J.jsx("span",{className:"text-3xl font-bold text-green-600",children:"510MB"})]}),J.jsx(hU,{className:"mt-2 bg-green-500/20 text-green-700 border-green-500/50",children:"64% reduction"})]}),J.jsxs("div",{className:"p-4 bg-green-500/10 border border-green-500/30 rounded-lg",children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Throughput"}),J.jsx(XC,{className:"w-5 h-5 text-green-600"})]}),J.jsxs("div",{className:"flex items-baseline gap-2",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"847"}),J.jsx("span",{className:"text-xl text-muted-foreground",children:"→"}),J.jsx("span",{className:"text-3xl font-bold text-green-600",children:"1,420"})]}),J.jsx(hU,{className:"mt-2 bg-green-500/20 text-green-700 border-green-500/50",children:"68% increase (req/sec)"})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Endpoint-Level Performance"}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b border-border/50",children:[J.jsx("th",{className:"text-left p-3 font-semibold text-foreground",children:"Endpoint"}),J.jsx("th",{className:"text-left p-3 font-semibold text-foreground",children:"Rails 6.1 (p95)"}),J.jsx("th",{className:"text-left p-3 font-semibold text-foreground",children:"Rails 7.1 (p95)"}),J.jsx("th",{className:"text-left p-3 font-semibold text-foreground",children:"Improvement"})]})}),J.jsxs("tbody",{className:"text-muted-foreground",children:[J.jsxs("tr",{className:"border-b border-border/30",children:[J.jsx("td",{className:"p-3 font-mono text-xs",children:"/api/v1/products"}),J.jsx("td",{className:"p-3",children:"2.4s"}),J.jsx("td",{className:"p-3 text-green-600 font-semibold",children:"820ms"}),J.jsx("td",{className:"p-3",children:J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"66% faster"})})]}),J.jsxs("tr",{className:"border-b border-border/30",children:[J.jsx("td",{className:"p-3 font-mono text-xs",children:"/api/v1/orders"}),J.jsx("td",{className:"p-3",children:"1.9s"}),J.jsx("td",{className:"p-3 text-green-600 font-semibold",children:"740ms"}),J.jsx("td",{className:"p-3",children:J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"61% faster"})})]}),J.jsxs("tr",{className:"border-b border-border/30",children:[J.jsx("td",{className:"p-3 font-mono text-xs",children:"/api/v1/checkout"}),J.jsx("td",{className:"p-3",children:"3.2s"}),J.jsx("td",{className:"p-3 text-green-600 font-semibold",children:"1.1s"}),J.jsx("td",{className:"p-3",children:J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"66% faster"})})]}),J.jsxs("tr",{className:"border-b border-border/30",children:[J.jsx("td",{className:"p-3 font-mono text-xs",children:"/api/v1/search"}),J.jsx("td",{className:"p-3",children:"1.2s"}),J.jsx("td",{className:"p-3 text-green-600 font-semibold",children:"420ms"}),J.jsx("td",{className:"p-3",children:J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"65% faster"})})]}),J.jsxs("tr",{className:"border-b border-border/30",children:[J.jsx("td",{className:"p-3 font-mono text-xs",children:"/api/v1/users/:id"}),J.jsx("td",{className:"p-3",children:"640ms"}),J.jsx("td",{className:"p-3 text-green-600 font-semibold",children:"210ms"}),J.jsx("td",{className:"p-3",children:J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"67% faster"})})]})]})]})})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Database Query Optimizations"}),J.jsxs("div",{className:"space-y-2 text-sm",children:[J.jsxs("div",{className:"flex justify-between items-center p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("span",{className:"text-muted-foreground",children:"N+1 Queries Eliminated"}),J.jsx(hU,{className:"bg-data-teal/20 text-data-teal border-data-teal/50",children:"47 hotspots fixed"})]}),J.jsxs("div",{className:"flex justify-between items-center p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("span",{className:"text-muted-foreground",children:"New Indexes Added"}),J.jsx(hU,{className:"bg-data-teal/20 text-data-teal border-data-teal/50",children:"12 composite indexes"})]}),J.jsxs("div",{className:"flex justify-between items-center p-3 bg-surface/30 rounded border border-border/50",children:[J.jsx("span",{className:"text-muted-foreground",children:"Cache Hit Rate"}),J.jsx(hU,{className:"bg-green-500/20 text-green-700 border-green-500/50",children:"64% → 91%"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Infrastructure Cost Savings"}),J.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Before (Rails 6.1)"}),J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"$18,400/mo"}),J.jsxs("ul",{className:"text-xs text-muted-foreground space-y-1",children:[J.jsx("li",{children:"• 24 web dynos (Heroku Performance-L)"}),J.jsx("li",{children:"• 18 worker dynos"}),J.jsx("li",{children:"• 6 PostgreSQL followers"})]})]}),J.jsxs("div",{className:"p-4 bg-green-500/10 rounded-lg border border-green-500/30",children:[J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"After (Rails 7.1)"}),J.jsx("div",{className:"text-2xl font-bold text-green-600 mb-2",children:"$11,200/mo"}),J.jsxs("ul",{className:"text-xs text-muted-foreground space-y-1",children:[J.jsx("li",{children:"• 14 web dynos (Performance-L)"}),J.jsx("li",{children:"• 11 worker dynos"}),J.jsx("li",{children:"• 4 PostgreSQL followers"})]})]})]}),J.jsx("div",{className:"mt-3 p-3 bg-data-orange/5 rounded border border-data-orange/30",children:J.jsx("p",{className:"text-sm font-semibold text-data-orange",children:"Annual Savings: $86,400 · ROI: 6.2x in first year"})})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Boot Time & Developer Experience"}),J.jsxs("div",{className:"grid grid-cols-3 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-muted-foreground",children:"App Boot Time"}),J.jsx("div",{className:"text-xl font-bold text-foreground mt-1",children:"42s → 18s"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-muted-foreground",children:"Test Suite Runtime"}),J.jsx("div",{className:"text-xl font-bold text-foreground mt-1",children:"18m → 11m"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-muted-foreground",children:"Asset Compilation"}),J.jsx("div",{className:"text-xl font-bold text-foreground mt-1",children:"8m → 2.5m"})]})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-3",children:"Performance Evidence"}),J.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2 text-sm",children:"Charts Included"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"✓ p95/p99 before/after (same routes, same 7-day window)"}),J.jsx("li",{children:"✓ Error rate comparison"}),J.jsx("li",{children:"✓ Throughput improvement"})]})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2 text-sm",children:"Query Analysis"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"✓ Top N slow queries with plans"}),J.jsx("li",{children:"✓ Index diffs (12 new composite)"}),J.jsx("li",{children:"✓ N+1 elimination proof"})]})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2 text-sm",children:"Infra Reports"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"✓ Instance type right-sizing"}),J.jsx("li",{children:"✓ Cache hit ratio: 64% → 91%"}),J.jsx("li",{children:"✓ DB CPU/IO reduction metrics"})]})]})]})]}),J.jsx("div",{className:"p-4 bg-data-teal/5 rounded-lg border border-data-teal/30",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Measurement Methodology:"})," Production load test with 10K concurrent users over 7 days. Metrics captured via New Relic APM. Database query analysis via PgHero and rack-mini-profiler. All reports signed and audit-ready."]})})]})]})]})}function $Z({children:e}){return J.jsxs(IF,{onOpenChange:e=>e&&void eD("rails_upgrades","dual_boot_checklist"),children:[J.jsx(PF,{asChild:!0,children:e||J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",children:"View dual-boot checklist"})}),J.jsxs(OF,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsxs(qF,{className:"text-2xl font-bold text-foreground flex items-center justify-between",children:[J.jsx("span",{children:"Dual-Boot Checklist"}),J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(zm,{className:"w-4 h-4"}),"Export PDF"]})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"12-step readiness guide for running two Rails versions in parallel"})]}),J.jsxs("div",{className:"space-y-6 py-4",children:[[{phase:"Environment Setup",items:["Install target Ruby version via rbenv/rvm/asdf","Add BUNDLE_GEMFILE env var support to deployment scripts","Create Gemfile_next.lock for target Rails version","Configure CI matrix: [Ruby old + Rails old], [Ruby new + Rails new]"]},{phase:"Dependency Audit",items:["Run bundle outdated and identify gems requiring updates","Check rails-upgrade-checklist for deprecations in your version jump","Test critical gems in isolated environment","Document shims needed for incompatible dependencies"]},{phase:"Code Preparation",items:["Enable deprecation warnings: ActiveSupport::Deprecation.behavior = :raise","Fix autoload → Zeitwerk issues (check autoload paths, circular deps)","Update controller callbacks (before_filter → before_action, etc.)","Migrate params.permit patterns if crossing Rails 5→6+ boundary"]},{phase:"Test Hardening",items:["Ensure test suite passes at 100% on current Rails","Add contract tests for critical API endpoints","Quarantine flaky tests (separate CI job, don't block)","Run tests against target Rails; fix failures iteratively"]},{phase:"Database Safety",items:["Install strong_migrations gem","Review all pending migrations for unsafe operations","Add statement_timeout and lock_timeout to production config","Plan backfill strategy for large data migrations"]},{phase:"Observability",items:["Capture baseline metrics: p95/p99, error rate, throughput","Tag all logs with Rails version for filtering","Set up side-by-side dashboards (old vs new)","Configure alerts for error rate spikes and latency regressions"]},{phase:"Cutover Readiness",items:["Deploy dual-boot to staging; run smoke tests","Execute canary rollout plan: 1% → 10% → 50% → 100%","Test rollback procedure (must complete in <10 min)","Prepare runbook with health gates and abort criteria"]}].map((e,t)=>J.jsxs("div",{className:"space-y-3",children:[J.jsxs("h3",{className:"font-semibold text-foreground text-lg flex items-center gap-2",children:[J.jsx("span",{className:"flex items-center justify-center w-6 h-6 rounded-full bg-primary/10 text-primary text-sm font-bold",children:t+1}),e.phase]}),J.jsx("div",{className:"space-y-2 ml-8",children:e.items.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/20 border border-border/30 hover:border-primary/30 transition-colors",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:e})]},t))})]},t)),J.jsxs("div",{className:"p-4 bg-data-orange/5 rounded-lg border border-data-orange/30 mt-6",children:[J.jsx("p",{className:"text-sm font-semibold text-foreground mb-2",children:"✓ Critical Success Factor"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Dual-boot isn't just running two Gemfiles — it's running two full app contexts in production with observability to compare behavior. Don't skip the metrics baseline or rollback rehearsal."})]})]})]})]})}function YZ({children:e}){return J.jsxs(IF,{onOpenChange:e=>e&&void eD("rails_upgrades","migration_checklist"),children:[J.jsx(PF,{asChild:!0,children:e||J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",children:"View migration checklist"})}),J.jsxs(OF,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[J.jsxs(DF,{children:[J.jsxs(qF,{className:"text-2xl font-bold text-foreground flex items-center justify-between",children:[J.jsx("span",{children:"Zero-Downtime Migration Checklist"}),J.jsxs(oz,{variant:"outline",size:"sm",className:"gap-2",children:[J.jsx(zm,{className:"w-4 h-4"}),"Export PDF"]})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Strong migrations, lock avoidance, and rollback-safe patterns"})]}),J.jsxs("div",{className:"space-y-6 py-4",children:[J.jsxs("div",{children:[J.jsxs("h3",{className:"font-semibold text-foreground text-lg mb-3 flex items-center gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-green-600"}),"Safe Operations (No Downtime)"]}),J.jsx("div",{className:"space-y-2",children:["Adding a new table","Adding a new column (with default: nil or generated value via trigger)","Renaming a table/column (with dual-write period)","Creating an index CONCURRENTLY (PostgreSQL)","Adding a check constraint as NOT VALID, then validating separately"].map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-green-500/10 border border-green-500/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-600 flex-shrink-0 mt-0.5"}),J.jsx("p",{className:"text-sm text-foreground",children:e})]},t))})]}),J.jsxs("div",{children:[J.jsxs("h3",{className:"font-semibold text-foreground text-lg mb-3 flex items-center gap-2",children:[J.jsx(ld,{className:"w-5 h-5 text-red-600"}),"Unsafe Operations (Require Special Handling)"]}),J.jsx("div",{className:"space-y-3",children:[{operation:"Adding a column with a non-null default",risk:"Full table rewrite; locks table",fix:"Add column as nullable first, backfill in batches, then add NOT NULL"},{operation:"Removing a column",risk:"Breaks old code still referencing it",fix:"Deploy code ignoring column first, wait one deploy cycle, then drop"},{operation:"Creating an index without CONCURRENTLY",risk:"Exclusive lock blocks reads/writes",fix:"Use CREATE INDEX CONCURRENTLY or algorithm=inplace for MySQL"},{operation:"Adding a foreign key constraint",risk:"Full table scan with lock",fix:"Add as NOT VALID first, then VALIDATE CONSTRAINT separately"},{operation:"Renaming a table/column in one deploy",risk:"Old code fails instantly",fix:"Create view/alias, dual-write, migrate reads, then rename"}].map((e,t)=>J.jsx("div",{className:"p-4 rounded-lg bg-red-500/5 border border-red-500/30",children:J.jsxs("div",{className:"flex items-start gap-3 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-red-600 flex-shrink-0 mt-0.5"}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-semibold text-foreground mb-1",children:e.operation}),J.jsxs("p",{className:"text-xs text-muted-foreground mb-2",children:[J.jsx("span",{className:"font-medium text-red-600",children:"Risk:"})," ",e.risk]}),J.jsxs("p",{className:"text-xs text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-green-600",children:"Fix:"})," ",e.fix]})]})]})},t))})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground text-lg mb-3",children:"Migration Workflow"}),J.jsx("div",{className:"space-y-4",children:[{step:"Pre-Migration",tasks:["Install strong_migrations gem and configure","Set statement_timeout (e.g., 10s for web migrations, 1h for batch jobs)","Review migration with DBA if table >10M rows","Plan rollback: every migration must be reversible or have backout script"]},{step:"During Migration",tasks:["Use disable_ddl_transaction! for concurrent indexes","Add safety comments: # safe: <reason> or # reviewed-by: <DBA>","Monitor pg_stat_activity for locks during deploy","Keep each migration <30s execution time; split large ones"]},{step:"Post-Migration",tasks:["Verify indexes created successfully (check pg_indexes)","Confirm data integrity with spot checks","Monitor error rate and slow query log for 24h","Document any manual steps in deploy runbook"]}].map((e,t)=>J.jsxs("div",{className:"space-y-2",children:[J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"outline",className:"bg-primary/10 text-primary border-primary/30",children:e.step})}),J.jsx("div",{className:"space-y-2 ml-2",children:e.tasks.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/20 border border-border/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("p",{className:"text-sm text-foreground",children:e})]},t))})]},t))})]}),J.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2 text-sm",children:"Recommended Tools"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"• strong_migrations (gem)"}),J.jsx("li",{children:"• gh-ost (GitHub's online schema migration)"}),J.jsx("li",{children:"• pt-online-schema-change (Percona Toolkit)"}),J.jsx("li",{children:"• PgHero (query performance monitoring)"})]})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-border/50",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2 text-sm",children:"Key Metrics to Watch"}),J.jsxs("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[J.jsx("li",{children:"• Lock wait time (pg_stat_activity)"}),J.jsx("li",{children:"• Statement timeout violations"}),J.jsx("li",{children:"• Query execution time (p95, p99)"}),J.jsx("li",{children:"• Error rate during and after deploy"})]})]})]}),J.jsxs("div",{className:"p-4 bg-data-orange/5 rounded-lg border border-data-orange/30",children:[J.jsx("p",{className:"text-sm font-semibold text-foreground mb-2",children:"✓ Golden Rule"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:'Every migration must be rollback-safe. If you can\'t roll back the migration cleanly, split it into multiple deploys with feature flags. Never assume "this will work" — test rollback in staging before production.'})]})]})]})]})}function KZ({items:e}){return J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:e.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3 p-4 rounded-lg bg-surface/30 border border-border/50 hover:border-primary/30 transition-colors",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:e})]},t))})}function QZ({protocols:e=[],messageBrokers:t=[],messageFormats:s=[],targetSystems:a=[]}){return J.jsxs(aU,{className:"p-6 bg-surface/30 border-border/50",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Compatibility Matrix"}),J.jsxs("div",{className:"space-y-4",children:[e.length>0&&J.jsxs("div",{children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-2 font-medium",children:"Protocols"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:e.map(e=>J.jsx(hU,{variant:"outline",className:"bg-background/50 text-foreground border-border",children:e},e))})]}),t.length>0&&J.jsxs("div",{children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-2 font-medium",children:"Message Brokers"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:t.map(e=>J.jsx(hU,{variant:"outline",className:"bg-background/50 text-foreground border-border",children:e},e))})]}),s.length>0&&J.jsxs("div",{children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-2 font-medium",children:"Message Formats"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:s.map(e=>J.jsx(hU,{variant:"outline",className:"bg-background/50 text-foreground border-border",children:e},e))})]}),a.length>0&&J.jsxs("div",{children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-2 font-medium",children:"Target Systems"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:a.map(e=>J.jsx(hU,{variant:"outline",className:"bg-background/50 text-foreground border-border",children:e},e))})]})]})]})}const ZZ=()=>{const[e,t]=Qe.useState([]),[s]=Qe.useState({costSaved:47,requestsRouted:"12.4K",avgLatency:"89ms"}),a=[{id:0,label:"Frontier",y:15,size:"lg",cost:"$$$"},{id:1,label:"Efficient",y:40,size:"md",cost:"$$"},{id:2,label:"Open Source",y:65,size:"sm",cost:"$"},{id:3,label:"Self-Hosted",y:90,size:"sm",cost:"$"}];Qe.useEffect(()=>{const e=setInterval(()=>{t(e=>{const t=e.filter(e=>e.progress<100);if(Math.random()>.6&&t.length<6){const e=Math.floor(4*Math.random()),s=e>0;t.push({id:Date.now(),x:0,y:20+60*Math.random(),targetModel:e,progress:0,color:s?"hsl(var(--data-teal))":"hsl(var(--primary))"})}return t.map(e=>({...e,progress:e.progress+2}))})},50);return()=>clearInterval(e)},[]);return J.jsx("div",{className:"relative w-full h-full min-h-[320px] md:min-h-[400px]",children:J.jsxs("div",{className:"absolute inset-0 bg-gradient-to-br from-surface to-surface-variant rounded-2xl border border-outline/20 overflow-hidden",children:[J.jsxs("svg",{className:"w-full h-full",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid meet",children:[J.jsx("g",{opacity:"0.15",children:[25,45,65].map((e,t)=>J.jsx("line",{x1:"5",y1:e,x2:"45",y2:"50",stroke:"hsl(var(--muted-foreground))",strokeWidth:"0.3",strokeDasharray:"1,1"},t))}),J.jsx("g",{opacity:"0.15",children:a.map(e=>J.jsx("line",{x1:"45",y1:"50",x2:"85",y2:e.y,stroke:"hsl(var(--muted-foreground))",strokeWidth:"0.3",strokeDasharray:"1,1"},e.id))}),J.jsxs("g",{children:[J.jsx("circle",{cx:"45",cy:"50",r:"8",fill:"url(#hubGradient)",className:"drop-shadow-lg"}),J.jsx("circle",{cx:"45",cy:"50",r:"10",fill:"none",stroke:"hsl(var(--data-teal))",strokeWidth:"0.5",opacity:"0.5",className:"animate-pulse"})]}),e.map(e=>{const t=(e=>{const t=a[e.targetModel].y,s=e.progress/100;if(s<.5){const t=2*s;return{x:5+40*t,y:e.y+(50-e.y)*t}}{const e=2*(s-.5);return{x:45+40*e,y:50+(t-50)*e}}})(e);return J.jsx("circle",{cx:t.x,cy:t.y,r:"1.5",fill:e.color,className:"drop-shadow-sm",children:J.jsx("animate",{attributeName:"opacity",values:"0.8;1;0.8",dur:"0.5s",repeatCount:"indefinite"})},e.id)}),J.jsx("defs",{children:J.jsxs("linearGradient",{id:"hubGradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[J.jsx("stop",{offset:"0%",stopColor:"hsl(var(--data-orange))"}),J.jsx("stop",{offset:"100%",stopColor:"hsl(var(--data-teal))"})]})})]}),J.jsx("div",{className:"absolute right-2 md:right-4 top-0 bottom-0 flex flex-col justify-around py-4",children:a.map(e=>J.jsxs("div",{className:"flex items-center gap-1 md:gap-2 px-2 py-1 rounded-md bg-card/80 backdrop-blur-sm border border-outline/20 "+("lg"===e.size?"scale-100":"md"===e.size?"scale-95":"scale-90"),children:[J.jsx(sc,{className:("lg"===e.size?"w-4 h-4":"md"===e.size?"w-3 h-3":"w-2.5 h-2.5")+" text-primary"}),J.jsx("span",{className:"text-[10px] md:text-xs font-medium text-foreground",children:e.label}),J.jsx("span",{className:"text-[8px] md:text-[10px] "+("$$$"===e.cost?"text-destructive":"$$"===e.cost?"text-data-amber":"text-data-teal"),children:e.cost})]},e.id))}),J.jsx("div",{className:"absolute left-2 md:left-4 top-1/2 -translate-y-1/2",children:J.jsx("div",{className:"text-[10px] md:text-xs text-muted-foreground font-medium writing-mode-vertical md:writing-mode-normal",children:"API Requests"})}),J.jsx("div",{className:"absolute bottom-3 left-3 right-3 md:bottom-4 md:left-4 md:right-4",children:J.jsxs("div",{className:"flex justify-between gap-2 md:gap-4",children:[J.jsxs("div",{className:"flex items-center gap-1 md:gap-2 px-2 md:px-3 py-1.5 md:py-2 rounded-lg bg-card/90 backdrop-blur-sm border border-data-teal/30",children:[J.jsx(Rm,{className:"w-3 h-3 md:w-4 md:h-4 text-data-teal"}),J.jsxs("div",{children:[J.jsxs("div",{className:"text-xs md:text-sm font-bold text-foreground",children:[s.costSaved,"%"]}),J.jsx("div",{className:"text-[8px] md:text-[10px] text-muted-foreground",children:"Cost Saved"})]})]}),J.jsxs("div",{className:"flex items-center gap-1 md:gap-2 px-2 md:px-3 py-1.5 md:py-2 rounded-lg bg-card/90 backdrop-blur-sm border border-outline/30",children:[J.jsx($P,{className:"w-3 h-3 md:w-4 md:h-4 text-data-amber"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs md:text-sm font-bold text-foreground",children:s.requestsRouted}),J.jsx("div",{className:"text-[8px] md:text-[10px] text-muted-foreground",children:"Routed Today"})]})]}),J.jsxs("div",{className:"hidden sm:flex items-center gap-1 md:gap-2 px-2 md:px-3 py-1.5 md:py-2 rounded-lg bg-card/90 backdrop-blur-sm border border-outline/30",children:[J.jsx(Yu,{className:"w-3 h-3 md:w-4 md:h-4 text-primary"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs md:text-sm font-bold text-foreground",children:s.avgLatency}),J.jsx("div",{className:"text-[8px] md:text-[10px] text-muted-foreground",children:"Avg Latency"})]})]})]})})]})})};function JZ(){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get("state")}const XZ=()=>{const{slug:e}=st(),t=it(),s=e?(e=>gU.find(t=>t.slug===e))(e):void 0,[a,r]=Qe.useState(!1),[i,n]=Qe.useState(!1),[o,l]=Qe.useState(!1),[d,c]=Qe.useState(!1),[m,h]=Qe.useState(!1),[x,u]=Qe.useState(!1),[p,g]=Qe.useState(!1),[f,y]=Qe.useState(!1),[b,v]=Qe.useState(!1),[j,N]=Qe.useState(null);if(Qe.useEffect(()=>{const t=JZ();t&&(N(t),function(e,t={}){const s=JZ();window.gtag&&s&&window.gtag("event",e,{...t,state:s})}("geo_page_view",{level:"service",service:e}))},[t.search,e]),!s)return J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsx("main",{className:"pt-32 pb-20",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("h1",{className:"text-4xl font-bold text-foreground mb-4",children:"Service not found"}),J.jsx(tt,{to:"/services",children:J.jsx(oz,{variant:"outline",children:"Back to Services"})})]})}),J.jsx(KU,{})]});const w=s.icon,k=()=>{!function(e){BO("service_hero_cta_click",{service:e})}(s.slug),v(!0)},M=()=>{!function(e){BO("service_roi_click",{service:e})}(s.slug)},A=()=>{BO("service_download_brief",{service:s.slug})},S=e=>{BO("service_kpi_methodology_click",{service:s.slug,kpi:e})},C=MK(`/services/${s.slug}`),I="product-pods"===s.slug?"Product Pods | Dedicated Development Teams with Outcome Accountability":"rapid-prototyping"===s.slug?"Rapid Prototyping Services | Validate Ideas in 2-3 Weeks":"integration-fasttrack"===s.slug?"Integration FastTrack | API & System Integration Services":"rails-upgrades"===s.slug?"Ruby on Rails Upgrade Services | Expert Migration & Security - Allerin":"agentic-ai"===s.slug?"Agentic AI Development Services | Custom AI Agent Solutions":"data-analytics-platform"===s.slug?"Data Analytics Platform Services | BI, Data Warehousing & Governance":"genai-accelerator"===s.slug?"GenAI Accelerator | Production RAG Implementation in 6 Weeks":"computer-vision-fasttrack"===s.slug?"Computer Vision Development | Edge AI Deployment in 8 Weeks":"ai-orchestration"===s.slug?"AI Orchestration Services | Multi-Model Management & Cost Control":"mlops-model-ops"===s.slug?"MLOps Services | Model Deployment, Monitoring & Governance":"platform-modernization"===s.slug?"Platform Modernization Services | Cloud Migration & Architecture":"security-compliance"===s.slug?"AI Security & Compliance | Secure Your Production AI Systems":function(e,t=!0){const s=" | Allerin";let a=IK(e,t?50:60);return t&&(a+=s),a}(s.seoTitle),P="product-pods"===s.slug?"Dedicated product development teams that deliver outcomes, not just hours. Full-stack Pods with sprint delivery, outcome metrics, and built-in knowledge transfer.":"rapid-prototyping"===s.slug?"Stop building products nobody wants. Validate your idea with a working prototype in 2-3 weeks. User research, technical feasibility, and clear go/no-go decisions.":"integration-fasttrack"===s.slug?"70% of integration projects fail. Our FastTrack methodology delivers API and system integration in weeks, not months. Break data silos. Enable AI. Get results.":"rails-upgrades"===s.slug?"Professional Ruby on Rails upgrade services with zero-downtime deployments. From Rails 4.x to 7.x migrations, security patches, and performance optimization for startups to enterprise.":"agentic-ai"===s.slug?"Build intelligent AI agents that think, decide, and act autonomously. Custom agentic AI development for workflow automation, customer service, and operations.":"data-analytics-platform"===s.slug?"Build production data analytics platforms with modern BI, data pipelines, and governance. Self-service analytics your teams actually trust. Get assessment.":"genai-accelerator"===s.slug?"Launch production-ready RAG in 4-6 weeks. Enterprise knowledge bases, AI assistants, and intelligent search with built-in accuracy evaluation and safety controls.":"computer-vision-fasttrack"===s.slug?"Deploy production computer vision on edge devices in 8 weeks. Visual inspection, object detection, and tracking on Jetson, x86, and custom hardware with MLOps.":"ai-orchestration"===s.slug?"Deploy AI orchestration that controls costs, unifies model access, and enforces governance. Production-ready LLM management. Get architecture review.":"mlops-model-ops"===s.slug?"Only 32% of ML projects reach production. We deploy the infrastructure, automation, and governance that bridges the gap. Get models deployed.":"platform-modernization"===s.slug?"Modernize legacy platforms without disruption. Cloud migration, containerization, and architecture redesign with reversible rollouts. Avoid the 70% failure rate.":"security-compliance"===s.slug?"97% of organizations experienced AI-related breaches in 2023. We secure production AI systems and achieve SOC 2, HIPAA, ISO 27001 compliance. Get protected.":IK(s.seoDescription,155);const T="product-pods"===s.slug?"Product Pods | Dedicated Development Teams with Outcome Accountability":"rapid-prototyping"===s.slug?"Rapid Prototyping Services | Validate Ideas in 2-3 Weeks":"integration-fasttrack"===s.slug?"Integration FastTrack | API & System Integration Services":"agentic-ai"===s.slug?"Agentic AI Development | Custom AI Agents":"data-analytics-platform"===s.slug?"Data Analytics Platform Services | Allerin":"genai-accelerator"===s.slug?"GenAI Accelerator | Production RAG in 6 Weeks":"computer-vision-fasttrack"===s.slug?"Computer Vision Development | Edge AI in 8 Weeks":"ai-orchestration"===s.slug?"AI Orchestration Services | Multi-Model Management & Cost Control":"mlops-model-ops"===s.slug?"MLOps & Model Operations | Production ML in 8 Weeks":"platform-modernization"===s.slug?"Platform Modernization | Cloud Migration & Legacy Transformation":"security-compliance"===s.slug?"AI Security & Compliance | Secure Your Production AI Systems":I,R="product-pods"===s.slug?"Dedicated product development teams that deliver outcomes, not just hours. Full-stack Pods with sprint delivery, outcome metrics, and built-in knowledge transfer.":"rapid-prototyping"===s.slug?"42% of startups fail from no market need. Get validation before you invest in building.":"integration-fasttrack"===s.slug?"70% of integration projects fail. FastTrack methodology delivers in weeks, not months.":"agentic-ai"===s.slug?"Build intelligent AI agents that reason, plan, and execute complex workflows autonomously. From proof-of-concept to enterprise deployment.":"data-analytics-platform"===s.slug?"Production data platforms with BI dashboards, ETL pipelines, and data governance. Self-service analytics in 8 weeks.":"genai-accelerator"===s.slug?"From documents to intelligent AI in 6 weeks. Enterprise RAG with evaluation, guardrails, and observability.":"computer-vision-fasttrack"===s.slug?"Deploy production computer vision on edge hardware in 8 weeks. Visual inspection, object detection, tracking with built-in MLOps.":"ai-orchestration"===s.slug?"Deploy AI orchestration that controls costs, unifies model access, and enforces governance. Production-ready LLM management. Get architecture review.":"mlops-model-ops"===s.slug?"Only 32% of ML projects reach production. We change that with end-to-end MLOps infrastructure.":"platform-modernization"===s.slug?"70% of modernization projects fail. Ours succeed with incremental migration, reversible rollouts, and zero-downtime architecture.":"security-compliance"===s.slug?"97% breach rate. Compliance alone did not stop it. AI security + compliance that actually works.":P,O=AK("services",s.slug),D=SK([{name:"Home",url:"https://www.allerin.com"},{name:"Services",url:"https://www.allerin.com/services"},{name:s.name}]),q="genai-accelerator"===s.slug,E="integration-fasttrack"===s.slug,z={"@context":"https://schema.org","@type":"Service",name:q?"GenAI Accelerator - RAG Implementation Services":E?"Integration FastTrack":s.name,serviceType:q?"AI Development":E?"System Integration":s.name,provider:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com",address:{"@type":"PostalAddress",streetAddress:"2921 Prado Street, Unit A",addressLocality:"Austin",addressRegion:"TX",postalCode:"78702",addressCountry:"US"},contactPoint:[{"@type":"ContactPoint",contactType:"sales",telephone:"+1-512-200-2416",areaServed:"US",availableLanguage:["en"]}]},areaServed:q||E?"Worldwide":"US",description:q?"Production-ready RAG implementation in 4-6 weeks with evaluation framework, guardrails, and enterprise integration.":E?"API and system integration services using proven FastTrack methodology. Connect enterprise systems in weeks, not months.":s.promise,offers:{"@type":"Offer",description:s.promise,itemOffered:{"@type":"Service",name:s.name}},..."data-analytics-platform"===s.slug&&{isRelatedTo:[{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"},{"@type":"Service",name:"Platform Modernization",url:"https://www.allerin.com/services/platform-modernization"},{"@type":"Service",name:"Computer Vision FastTrack",url:"https://www.allerin.com/services/computer-vision-fasttrack"}]},..."agentic-ai"===s.slug&&{name:"Agentic AI Development Services",serviceType:"AI Development",description:"Custom AI agent development services for workflow automation, multi-agent systems, and enterprise AI solutions.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"GenAI Product Accelerator",url:"https://www.allerin.com/services/genai-accelerator"},{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"},{"@type":"Service",name:"AI Orchestration",url:"https://www.allerin.com/services/ai-orchestration"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"Agentic AI Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Discovery & Assessment"},priceRange:"$15,000-$25,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Pilot Development"},priceRange:"$50,000-$100,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Production Implementation"},priceRange:"$100,000-$300,000+"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Ongoing Services"},priceRange:"Custom"}]}},..."mlops-model-ops"===s.slug&&{name:"MLOps & Model Operations Services",serviceType:"MLOps Implementation",description:"Only 32% of ML projects reach production. We deploy the infrastructure, automation, and governance that bridges the gap—turning experimental notebooks into production systems.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"Agentic AI Systems",url:"https://www.allerin.com/services/agentic-ai"},{"@type":"Service",name:"Data & Analytics Platform",url:"https://www.allerin.com/services/data-analytics-platform"},{"@type":"Service",name:"GenAI Product Accelerator",url:"https://www.allerin.com/services/genai-accelerator"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"MLOps Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"MLOps Assessment"},priceRange:"$15,000-$25,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Foundation MLOps"},priceRange:"$75,000-$125,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Enterprise MLOps"},priceRange:"$125,000-$250,000+"}]}},..."platform-modernization"===s.slug&&{name:"Platform Modernization Services",serviceType:"Cloud Migration & Architecture",description:"Modernize legacy platforms without disruption. Cloud migration, containerization, and architecture redesign with reversible rollouts. Avoid the 70% failure rate.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"},{"@type":"Service",name:"Security & Compliance",url:"https://www.allerin.com/services/security-compliance"},{"@type":"Service",name:"Rails Upgrades",url:"https://www.allerin.com/services/rails-upgrades"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"Platform Modernization Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Modernization Assessment"},priceRange:"$50,000-$100,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Targeted Modernization"},priceRange:"$150,000-$500,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Platform Transformation"},priceRange:"$500,000-$2,000,000+"}]}},..."security-compliance"===s.slug&&{name:"AI Security & Compliance | Secure Your Production AI Systems",serviceType:"AI Security Assessment and Compliance Services",description:"97% of organizations experienced AI-related breaches in 2023. We secure production AI systems and achieve SOC 2, HIPAA, ISO 27001 compliance. Get protected.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"Agentic AI Systems",url:"https://www.allerin.com/services/agentic-ai"},{"@type":"Service",name:"GenAI Accelerator",url:"https://www.allerin.com/services/genai-accelerator"},{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"AI Security & Compliance Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"AI Security Assessment"},priceRange:"$25,000-$50,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Compliance Fast-Track"},priceRange:"$75,000-$150,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"AI Security & Compliance Program"},priceRange:"$150,000-$350,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Enterprise AI Governance"},priceRange:"$250,000-$500,000+"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Managed Security & Compliance"},priceRange:"$10,000-$50,000/month"}]}},..."product-pods"===s.slug&&{name:"Product Pods - Dedicated Development Teams",serviceType:"Dedicated Development Teams with Outcome Accountability",description:"Dedicated product development teams that deliver outcomes, not just hours. Full-stack Pods with sprint delivery, outcome metrics, and built-in knowledge transfer.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"GenAI Accelerator",url:"https://www.allerin.com/services/genai-accelerator"},{"@type":"Service",name:"Platform Modernization",url:"https://www.allerin.com/services/platform-modernization"},{"@type":"Service",name:"Rapid Prototyping Lab",url:"https://www.allerin.com/services/rapid-prototyping"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"Product Pod Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Discovery Engagement (2-4 weeks)"},priceRange:"$25,000-$50,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Starter Pod (4-5 people)"},priceRange:"$60,000-$85,000/month"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Standard Pod (6-8 people)"},priceRange:"$100,000-$150,000/month"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Growth Pod (8-12+ people)"},priceRange:"$150,000-$300,000+/month"}]}},..."rapid-prototyping"===s.slug&&{name:"Rapid Prototyping Services",serviceType:"Product Validation",description:"Validate product ideas with working prototypes in 2-3 weeks. User research, technical feasibility, and go/no-go decisions before full investment.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"GenAI Accelerator",url:"https://www.allerin.com/services/genai-accelerator"},{"@type":"Service",name:"Computer Vision FastTrack",url:"https://www.allerin.com/services/computer-vision-fasttrack"},{"@type":"Service",name:"Product Pods",url:"https://www.allerin.com/services/product-pods"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"Rapid Prototyping Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Validation Sprint"},priceRange:"$25,000-$45,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Comprehensive Validation"},priceRange:"$45,000-$75,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Custom Engagements"},priceRange:"$75,000+"}]}},..."integration-fasttrack"===s.slug&&{serviceType:"Design, build, and harden enterprise integrations",areaServed:"Global",isRelatedTo:[{"@type":"Service",name:"Data & Analytics Platform",url:"https://www.allerin.com/services/data-analytics-platform"},{"@type":"Service",name:"Platform Modernization",url:"https://www.allerin.com/services/platform-modernization"},{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"}]},..."rails-upgrades"===s.slug&&{serviceType:"Zero-downtime Rails framework upgrades with performance optimization",areaServed:"Global",isRelatedTo:[{"@type":"Service",name:"Platform Modernization",url:"https://www.allerin.com/services/platform-modernization"},{"@type":"Service",name:"Security & Compliance",url:"https://www.allerin.com/services/security-compliance"}]},..."computer-vision-fasttrack"===s.slug&&{name:"Computer Vision FastTrack - Edge AI Deployment",serviceType:"Computer Vision Development",description:"Deploy production computer vision on edge devices in 8 weeks. Visual inspection, object detection, and tracking on Jetson, x86, and custom hardware with MLOps infrastructure.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"},{"@type":"Service",name:"Rapid Prototyping Lab",url:"https://www.allerin.com/services/rapid-prototyping"},{"@type":"Service",name:"Platform Modernization",url:"https://www.allerin.com/services/platform-modernization"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"Computer Vision FastTrack Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Discovery Sprint"},priceRange:"$12,000-$20,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"FastTrack Standard"},priceRange:"$60,000-$100,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"FastTrack Enterprise"},priceRange:"$100,000-$200,000+"}]}},..."ai-orchestration"===s.slug&&{name:"AI Orchestration Services",serviceType:"AI Infrastructure Implementation",description:"Enterprise AI orchestration implementation including multi-model routing, cost optimization, and governance.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"Agentic AI Systems",url:"https://www.allerin.com/services/agentic-ai"},{"@type":"Service",name:"GenAI Product Accelerator",url:"https://www.allerin.com/services/genai-accelerator"},{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"AI Orchestration Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Architecture Assessment"},priceRange:"$15,000-$25,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Standard Orchestration"},priceRange:"$60,000-$100,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Enterprise Orchestration"},priceRange:"$100,000-$200,000+"}]}},..."genai-accelerator"===s.slug&&{name:"GenAI Accelerator - RAG Implementation Services",serviceType:"AI Development",description:"Production-ready RAG implementation in 4-6 weeks with evaluation framework, guardrails, and enterprise integration.",areaServed:"Worldwide",isRelatedTo:[{"@type":"Service",name:"Agentic AI Systems",url:"https://www.allerin.com/services/agentic-ai"},{"@type":"Service",name:"MLOps & Model Operations",url:"https://www.allerin.com/services/mlops-model-ops"},{"@type":"Service",name:"AI Orchestration",url:"https://www.allerin.com/services/ai-orchestration"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"GenAI Accelerator Engagement Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Discovery Sprint"},priceRange:"$15,000-$25,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Standard Accelerator"},priceRange:"$75,000-$125,000"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Enterprise Accelerator"},priceRange:"$125,000-$200,000"}]}}},_="rails-upgrades"===s.slug?[{question:"How much does a Rails upgrade cost?",answer:"Rails upgrade costs vary significantly based on your current version, codebase size, test coverage, and complexity. Minor version upgrades (e.g., 7.0 to 7.1) typically range from $10,000-$25,000. Major legacy upgrades (e.g., Rails 4 to Rails 7) range from $50,000-$150,000+. We provide detailed estimates after our free assessment phase—no surprises."},{question:"How long does a Rails upgrade take?",answer:"Timeline depends on the version gap and application complexity. Recent version upgrades take 2-6 weeks. Legacy upgrades from Rails 3.x or 4.x typically require 8-16 weeks. Our assessment phase provides an accurate timeline based on your specific codebase."},{question:"Will my application have downtime during the upgrade?",answer:"No. We specialize in zero-downtime deployments. Using blue-green deployment strategies and careful database migration planning, your application remains available throughout the upgrade process. We test extensively in staging before touching production."},{question:"Do you work with applications that have low test coverage?",answer:"Yes, though we strongly recommend improving test coverage as part of the upgrade. For applications with minimal tests, we include test writing for critical paths in our scope. This investment pays dividends during the upgrade (catching regressions) and long after (enabling confident future changes)."},{question:"Can you upgrade our Rails application if some gems are no longer maintained?",answer:"Absolutely—this is one of the most common challenges we solve. We'll evaluate each unmaintained gem and either find a maintained alternative, fork and update the gem ourselves, or refactor the code to remove the dependency entirely. Our assessment report identifies all problematic gems upfront."},{question:"What if something breaks after the upgrade goes live?",answer:"Every upgrade includes 30 days of post-deployment support. If upgrade-related issues emerge, we fix them at no additional cost. We also maintain rollback capability for rapid recovery if critical issues are discovered, though this is rarely needed thanks to our thorough testing process."},{question:"Do you upgrade Ruby versions as well as Rails?",answer:"Yes. Ruby and Rails upgrades often go hand-in-hand. We'll upgrade your Ruby version (including the transition from Ruby 2.x to 3.x) as part of the project, ensuring compatibility throughout your stack."},{question:"How do you handle database migrations during the upgrade?",answer:"Database migrations are planned carefully to avoid locking tables or causing downtime. We use techniques like adding columns without defaults, background data migrations, and the strong_migrations gem to catch dangerous migrations before they reach production."},{question:"Will you need access to our production servers?",answer:"We work primarily in development and staging environments. Production access is only needed for the final deployment phase. We can work within your security requirements—including air-gapped environments, VPN access, or deploying through your existing CI/CD pipeline with your team executing the final deployment."},{question:"Can you upgrade just part of our application (e.g., API only)?",answer:"In some cases, yes. For large monolithic applications, we can sometimes take a strangler fig approach—upgrading components incrementally. However, this depends on your architecture. Our assessment will determine if partial upgrades are feasible for your situation."}]:[],L="agentic-ai"===s.slug?[{question:"How long does it take to build a production AI agent?",answer:"Timeline varies based on complexity. Simple task automation agents can reach production in 6-8 weeks. Complex multi-agent systems with extensive integrations typically require 12-16 weeks. We provide detailed timeline estimates after the discovery phase."},{question:"What does agentic AI development cost?",answer:"Costs range based on scope and complexity. Single-purpose agents start around $50,000-$75,000. Complex multi-agent systems with enterprise integrations range from $150,000-$400,000+. We offer fixed-price options after the discovery phase for qualified projects."},{question:"How is agentic AI different from chatbots or copilots?",answer:"Chatbots respond to questions. Copilots assist with specific tasks. Agentic AI systems autonomously execute multi-step workflows—they don't just answer 'how do I return this product?' they actually process the return, update systems, and confirm with the customer."},{question:"What if the AI makes mistakes?",answer:"Every system includes guardrails and monitoring. We design for graceful failure—agents know their confidence limits, escalate appropriately, and never take irreversible actions without oversight. Full audit trails ensure mistakes can be identified and corrected."},{question:"Can you integrate with our existing systems?",answer:"Yes. Integration is core to our approach. We've connected agents to Salesforce, SAP, Oracle, custom databases, legacy mainframes, and countless other systems. If it has an API or database access, we can integrate."},{question:"Do we need to share sensitive data with you?",answer:"We work within your security requirements. Options include anonymized data, operating within your secure environment, or appropriate data handling agreements. We never require data that isn't necessary for the project."},{question:"What about compliance and regulatory requirements?",answer:"We design with compliance as a constraint. For regulated industries, we build full audit trails, explainability features, and approval workflows. We've successfully deployed in HIPAA, SOC 2, and GDPR environments."},{question:"What LLMs do you use?",answer:"We're model-agnostic. Selection depends on your requirements for capability, cost, data residency, and deployment flexibility. We work with OpenAI, Anthropic, Google, Mistral, and open-source models—recommending the best fit for your situation."},{question:"Can we maintain the system ourselves after deployment?",answer:"Yes. Knowledge transfer is part of every engagement. We provide documentation, training, and ongoing support options. Our goal is to enable your team, not create dependency."},{question:"What if we already have an AI initiative that isn't working?",answer:"We often help organizations get stalled projects back on track. Our assessment can identify blockers, architectural issues, or strategic misalignment—and we can either help correct course or recommend when starting fresh makes more sense."}]:[],F="genai-accelerator"===s.slug?[{question:"How is 6 weeks possible when other implementations take months?",answer:"Three factors: (1) Our methodology parallelizes workstreams that others sequence, (2) We bring reusable components for evaluation, guardrails, and observability, (3) We focus on production essentials rather than scope creep. The result is faster time-to-production without cutting corners on quality."},{question:"What's the difference between RAG and fine-tuning an LLM?",answer:"Fine-tuning bakes knowledge into the model—expensive, slow to update, and opaque. RAG retrieves knowledge from external sources at query time—more flexible, easier to update, and you can see exactly what information informed each answer. For most enterprise knowledge applications, RAG is the better choice."},{question:"How do you handle sensitive or confidential data?",answer:"Your data stays in your environment. We can work within your security perimeter, use your cloud infrastructure, and implement access controls that respect existing permissions. The architecture is designed with enterprise security requirements in mind."},{question:"What happens if the AI doesn't know the answer?",answer:"Good question—this is where many systems fail. Our guardrails include confidence thresholds and explicit 'I don't know' responses when the system can't provide a reliable answer. No confident hallucinations."},{question:"Which LLM providers do you work with?",answer:"We're model-agnostic. OpenAI, Anthropic, Azure OpenAI, Google, Mistral, and open-source models are all options. Selection depends on your requirements for capability, cost, and data residency."},{question:"Can RAG work with documents in multiple languages?",answer:"Yes. Modern embedding models and LLMs support multilingual content. We've deployed RAG systems across English, Spanish, German, French, and other languages, including mixed-language repositories."},{question:"What about documents that change frequently?",answer:"The architecture supports continuous ingestion. As documents update, the knowledge base refreshes automatically. You define update frequency based on how current information needs to be."},{question:"How do you measure if the system is working?",answer:"Every deployment includes evaluation dashboards showing retrieval precision, answer accuracy, hallucination rates, and usage patterns. Quantitative performance data, not just user opinions."},{question:"What if we need capabilities beyond RAG?",answer:"RAG is often a starting point. If needs evolve to include agentic capabilities, workflow automation, or more complex AI systems, we can extend from the RAG foundation."},{question:"What's included in the 30-day support period?",answer:"Bug fixes, performance tuning, and operational questions. If issues emerge after launch, we address them. The goal is confidence that the system is stable before complete handoff."}]:[],W="computer-vision-fasttrack"===s.slug?[{question:"How is 8 weeks possible when computer vision projects typically take 6-12 months?",answer:"Three factors: (1) We focus exclusively on edge deployment, so our architecture decisions are already proven, (2) We bring reusable MLOps components that would take months to build, (3) We prioritize production essentials over research exploration. The result is faster deployment without sacrificing quality."},{question:"What accuracy can I expect from the deployed system?",answer:"Accuracy depends on your specific use case, data quality, and acceptable error rates. During discovery, we establish target metrics aligned with your operational requirements. We then design and optimize to meet those targets—not just maximize a generic accuracy number."},{question:"Do I need to provide training data, or can you generate it?",answer:"Both approaches work. Ideally, we use real data from your environment—it captures actual variation. If limited data exists, we can augment with synthetic generation, transfer learning, and active learning strategies. During discovery, we assess your data situation and plan accordingly."},{question:"What happens if lighting or conditions change after deployment?",answer:"This is why drift monitoring is built-in. The system tracks performance and alerts when accuracy drops below thresholds. Our retraining pipelines then make it efficient to incorporate new data and update the model. Change is expected—the infrastructure handles it."},{question:"Can computer vision work with my existing cameras?",answer:"Usually, yes. We assess your current camera infrastructure during discovery. Most industrial and IP cameras work well. Sometimes resolution, frame rate, or mounting needs adjustment, but we try to leverage existing equipment when practical."},{question:"How does edge deployment compare to cloud-based computer vision?",answer:"Edge offers lower latency (milliseconds vs. hundreds), works without internet, keeps data on-premises, and avoids per-inference cloud costs. Cloud is easier to start but has ongoing costs, latency limitations, and connectivity dependencies. For most production applications, edge wins on total cost and reliability."},{question:"What if my use case needs multiple cameras or locations?",answer:"FastTrack can deploy to single or multi-camera configurations. For larger deployments across many locations, we design fleet management infrastructure for centralized monitoring and updates. The 8-week timeline applies to initial deployment; scaling follows a faster replication pattern."},{question:"Which industries have you deployed computer vision for?",answer:"We've deployed vision systems for manufacturing quality inspection, warehouse tracking, retail analytics, robotics guidance, and safety monitoring across various industries. The technology is broadly applicable—what varies is models, integration points, and operational requirements."},{question:"How much does a FastTrack engagement cost?",answer:"Investment depends on complexity: cameras, model complexity, integration requirements, and scale. Typical engagements range from $60,000 for focused single-use-case deployments to $200,000+ for complex multi-camera systems. We provide detailed scoping after discovery."},{question:"What ongoing costs should I expect after deployment?",answer:"After initial engagement, ongoing costs include hardware maintenance, cloud infrastructure for monitoring (typically $500-2,000/month depending on scale), and periodic model updates. Most organizations handle day-to-day operations internally after our knowledge transfer."}]:[],H="ai-orchestration"===s.slug?[{question:"How much can AI orchestration actually save on LLM costs?",answer:"Typical savings range from 30-50% through intelligent routing (using cheaper models for simpler queries), prompt caching (avoiding redundant API calls), and spend controls (preventing runaway costs). Actual savings depend on your usage patterns—we analyze your specific situation before projecting numbers."},{question:"How long does an orchestration implementation take?",answer:"Standard implementations take 4-6 weeks from kickoff to production. Enterprise deployments with complex governance and multi-environment requirements typically require 6-10 weeks. Every engagement starts with a 2-3 week architecture assessment."},{question:"Do we need to change our application code?",answer:"Minimal changes. Our gateway sits between your applications and AI providers. Your code points to the orchestration gateway instead of directly to OpenAI/Anthropic/etc. We provide drop-in SDKs that make the transition straightforward."},{question:"Which AI providers and models do you support?",answer:"All major providers: OpenAI, Anthropic, Azure OpenAI, Google, AWS Bedrock, and open-source models. The orchestration layer abstracts provider differences, making it easy to add new models or switch providers without application changes."},{question:"Can orchestration work with our existing AI applications?",answer:"Yes. The gateway approach means existing applications continue working with minimal modification. We've integrated with custom AI applications, LangChain implementations, various RAG systems, and applications using direct API calls."},{question:"How does intelligent routing work?",answer:"The system analyzes each request and routes to the most appropriate model based on complexity, cost, latency requirements, and configured policies. Simple queries go to faster/cheaper models; complex reasoning goes to more capable (and expensive) models. You control the routing rules."},{question:"What governance controls are included?",answer:"Comprehensive controls: rate limiting per team/application, spend caps with alerts, content filtering, PII detection, audit logging, and approval workflows for policy changes. All configurable to your organization's requirements."},{question:"What if we're already using a tool like LiteLLM or Portkey?",answer:"We can work with existing tools or recommend whether to enhance, replace, or integrate. Some organizations have tools partially deployed but not fully configured. We'll assess your current state and recommend the most efficient path forward."},{question:"Is this just for cost savings, or are there other benefits?",answer:"Cost is often the entry point, but operational benefits matter more long-term: unified observability, consistent governance, reduced integration complexity, and the ability to add new models without application changes. Many organizations realize the operational benefits exceed the cost savings."},{question:"What ongoing support is available after implementation?",answer:"Standard engagements include 30 days post-launch support. Enterprise includes 90 days. We offer ongoing managed services for organizations that prefer we handle operations. Most teams operate independently after knowledge transfer."}]:[],V="security-compliance"===s.slug?[{question:"How is AI security different from traditional cybersecurity?",answer:"Traditional cybersecurity protects networks, endpoints, and applications. AI security addresses unique attack vectors like prompt injection, model theft, data poisoning, and adversarial inputs. AI systems have different threat models—attacks that target how models learn, reason, and respond. We specialize in both domains."},{question:"Do I need SOC 2 if I am just an AI startup?",answer:"If you are selling to enterprises or handling customer data, increasingly yes. 60% of companies are more likely to work with SOC 2 compliant vendors. 70% of VCs prefer SOC 2 compliant companies. It is not legally required for most, but it is required by your customers."},{question:"How long does SOC 2 certification take?",answer:"With our approach, most organizations reach SOC 2 Type I audit-ready in 8-12 weeks. Type II requires an additional observation period (typically 3-6 months). Total timeline from start to Type II report is typically 6-9 months."},{question:"What is the difference between SOC 2 Type I and Type II?",answer:"Type I assesses whether controls are designed properly at a point in time. Type II assesses whether controls operated effectively over a period (usually 6-12 months). Type II is more rigorous—most enterprise customers want Type II."},{question:"Can you help if we are already using Vanta, Drata, or similar platforms?",answer:"Yes. Those platforms automate evidence collection but do not implement security controls or secure AI systems. We complement automation platforms—we do the actual security work that the platforms monitor."},{question:"Do you perform the SOC 2 audit yourselves?",answer:"No. SOC 2 audits must be performed by licensed CPA firms. We prepare you for the audit, coordinate with auditors, and provide support throughout. We can recommend auditors or work with your chosen firm."},{question:"How do you address AI-specific compliance requirements?",answer:"We implement controls aligned with NIST AI RMF, ISO 42001, and OWASP Top 10 for LLMs. These address AI-specific risks like model governance, training data integrity, and AI incident response. We map these to your existing compliance frameworks."},{question:"What is the cost of AI security and compliance services?",answer:"AI security assessments start at $25K-$50K. SOC 2 implementation typically ranges from $75K-$200K. Comprehensive programs range from $150K-$400K+. We provide detailed estimates after discovery."},{question:"Can you help with HIPAA compliance for healthcare AI?",answer:"Yes. Healthcare AI compliance requires specialized expertise—PHI in training data, model outputs, and clinical decision support create unique risks. We implement HIPAA controls specifically designed for AI systems, addressing healthcare AI compliance challenges that traditional compliance firms miss."},{question:"What about the EU AI Act and other AI-specific regulations?",answer:"We help organizations prepare for emerging AI regulations including the EU AI Act, state AI laws, and sector-specific requirements. Our governance programs are designed to be adaptable as regulations evolve."},{question:"How do you handle penetration testing for AI systems?",answer:"We conduct AI-specific pen testing including prompt injection attacks, model extraction attempts, adversarial input testing, and API security testing. This goes beyond traditional pen testing."},{question:"What happens after we achieve compliance?",answer:"Compliance is continuous. We offer managed services for ongoing maintenance, security monitoring, annual audit support, and control updates as your systems evolve."}]:[],B="rails-upgrades"===s.slug?_:"agentic-ai"===s.slug?L:"genai-accelerator"===s.slug?F:"computer-vision-fasttrack"===s.slug?W:"ai-orchestration"===s.slug?H:"security-compliance"===s.slug?V:s.faqs||[],G=B.length>0?{"@context":"https://schema.org","@type":"FAQPage",mainEntity:B.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))}:null,U={"@context":"https://schema.org","@type":"TechArticle",headline:s.seoTitle,description:s.seoDescription,author:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"},publisher:{"@type":"Organization",name:"Allerin",logo:{"@type":"ImageObject",url:"https://www.allerin.com/allerin-logo.png"}},datePublished:"2025-01-15",dateModified:"2025-01-15",url:C};return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:I}),J.jsx("meta",{name:"description",content:P}),J.jsx("meta",{property:"og:title",content:T}),J.jsx("meta",{property:"og:description",content:R}),J.jsx("meta",{property:"og:url",content:C}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:image",content:O}),J.jsx("meta",{property:"og:image:width",content:"1200"}),J.jsx("meta",{property:"og:image:height",content:"630"}),J.jsx("meta",{property:"og:locale",content:"en_US"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:T}),J.jsx("meta",{name:"twitter:description",content:R}),J.jsx("meta",{name:"twitter:image",content:O})]}),J.jsx(hZ,{path:`/services/${s.slug}`}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(D)}}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(z)}}),G&&J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(G)}}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(U)}}),J.jsxs("div",{className:"min-h-screen bg-background","data-service":s.slug,children:[J.jsx(UG,{}),J.jsxs("main",{children:[J.jsx("section",{className:"pt-32 pb-16 bg-gradient-to-b from-surface/50 to-background",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx(hK,{className:"mb-8",children:J.jsxs(xK,{children:[J.jsx(uK,{children:J.jsx(pK,{asChild:!0,children:J.jsx(tt,{to:"/",children:"Home"})})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(pK,{asChild:!0,children:J.jsx(tt,{to:"/services",children:"Services"})})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(gK,{children:s.name})})]})}),J.jsxs("div",{className:"ai-orchestration"===s.slug?"max-w-6xl":"max-w-4xl",children:["ai-orchestration"!==s.slug&&J.jsx("div",{className:`inline-flex p-4 rounded-lg bg-gradient-to-br ${s.gradient} mb-6`,children:J.jsx(w,{className:"w-8 h-8 text-white"})}),"agentic-ai"===s.slug?J.jsxs(J.Fragment,{children:[J.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-6 leading-tight",children:"Agentic AI That Actually Works in Production"}),J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-8 leading-relaxed max-w-3xl",children:"Build intelligent agents that reason, plan, and execute complex workflows autonomously—with the guardrails and oversight your business requires."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:"Start Your AI Agent Project"}),J.jsxs(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8",onClick:()=>{const e=document.getElementById("what-is-agentic-ai");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:["See How Agentic AI Works ",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Custom agents built on your data"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Human-in-the-loop controls"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Production-ready, not just demos"]})]})]}):"genai-accelerator"===s.slug?J.jsxs(J.Fragment,{children:[J.jsxs("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-6 leading-tight",children:["Production-Ready RAG in 4-6 Weeks.",J.jsx("br",{}),J.jsx("span",{className:"text-muted-foreground",children:"Not Another POC That Stalls."})]}),J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-8 leading-relaxed max-w-3xl",children:"Your documents become an intelligent knowledge system. Your team gets accurate, sourced answers. Your customers get AI-powered support without hallucinations. And you get there faster than you thought possible."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:"Start Your RAG Project"}),J.jsxs(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8",onClick:()=>{const e=document.getElementById("genai-process");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:["See the 6-Week Process ",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Built-in accuracy evaluation"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Guardrails prevent AI mistakes"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Full visibility into every response"]})]})]}):"computer-vision-fasttrack"===s.slug?J.jsxs(J.Fragment,{children:[J.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-foreground mb-6 leading-tight",children:["Computer Vision That Works in the Real World.",J.jsx("br",{}),J.jsx("span",{className:"text-muted-foreground",children:"Deployed at the Edge. Production-Ready in 8 Weeks."})]}),J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-8 leading-relaxed max-w-3xl",children:"Your cameras become intelligent observers. Your production line gets automated inspection. Your warehouse tracks every movement. And it all runs locally—fast, private, and reliable—without depending on cloud connectivity."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:"Start Your Vision Project"}),J.jsxs(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8",onClick:()=>{const e=document.getElementById("cv-fasttrack-process");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:["See the 8-Week Process ",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Real-time inference on edge hardware"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Built-in drift detection and monitoring"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"From prototype to production deployment"]})]})]}):"ai-orchestration"===s.slug?J.jsx(J.Fragment,{children:J.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1.5fr_1fr] gap-8 lg:gap-12 items-center -mx-6 px-6",children:[J.jsxs("div",{children:[J.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-foreground mb-4 leading-tight",children:"Why Pay Frontier Prices for Routine Tasks?"}),J.jsx("h2",{className:"text-xl md:text-2xl font-semibold text-muted-foreground mb-6",children:"AI Orchestration That Knows Which Model to Use."}),J.jsx("p",{className:"text-base md:text-lg text-muted-foreground mb-8 leading-relaxed",children:"Frontier models for complex reasoning. Efficient models for routine queries. Open-source for cost-sensitive workloads. Self-hosted for sensitive data. Our orchestration layer routes every request to the optimal model—automatically—cutting AI costs 30-50% while improving performance and governance."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsxs(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:["Get Architecture Review",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]}),J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px] border-outline/50 hover:border-data-teal/50",onClick:()=>{const e=document.getElementById("ai-orchestration-problem");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"See How It Works ↓"})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"30-50% LLM cost reduction"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Full audit trail for governance"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Model-agnostic routing"]})]})]}),J.jsx("div",{className:"hidden lg:block",children:J.jsx(ZZ,{})})]})}):"data-analytics-platform"===s.slug?J.jsxs(J.Fragment,{children:[J.jsxs("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-6 leading-tight",children:["Stop Building Reports. Start Making Decisions.",J.jsx("br",{}),J.jsx("span",{className:"text-muted-foreground",children:"Data Analytics Platforms That Actually Get Used."})]}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground mb-8 leading-relaxed max-w-3xl",children:"Your analysts spend 80% of their time finding and cleaning data, not analyzing it. Your executives don't trust the numbers. Different teams use different spreadsheets. We build production data platforms that unify your data, automate your pipelines, and enable self-service analytics—so your team can finally focus on insights, not infrastructure."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:"Get Data Assessment"}),J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-muted-foreground hover:text-foreground",onClick:()=>{const e=document.getElementById("data-analytics-approach");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"See Our Approach ↓"})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Production in 8 weeks"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"30% analyst productivity gain"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Self-service analytics"]})]})]}):"mlops-model-ops"===s.slug?J.jsxs(J.Fragment,{children:[J.jsxs("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-2 leading-tight",children:["Only ",J.jsx("span",{className:"text-5xl md:text-6xl text-data-orange",children:"32%"})," of ML Projects Reach Production.",J.jsx("br",{}),J.jsx("span",{className:"text-muted-foreground",children:"We Change That."})]}),J.jsx("p",{className:"text-xs text-muted-foreground/60 mb-6",children:"Source: Rexer Analytics Data Science Survey, 2023"}),J.jsx("h2",{className:"text-xl md:text-2xl font-semibold text-foreground mb-4",children:"MLOps & ModelOps That Actually Ships Models"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground mb-8 leading-relaxed max-w-3xl",children:"Most machine learning initiatives stall between prototype and production. Data scientists build promising models that never see real users. We deploy the infrastructure, automation, and governance that bridges the gap—turning experimental notebooks into production systems that deliver business value."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:"Get MLOps Assessment"}),J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-muted-foreground hover:text-foreground",onClick:()=>{const e=document.getElementById("mlops-approach");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"See Our Approach ↓"})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Model deployment in weeks, not months"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Full reproducibility and version control"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Automated retraining pipelines"]})]})]}):"platform-modernization"===s.slug?J.jsxs(J.Fragment,{children:[J.jsxs("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-6 leading-tight",children:[J.jsx("span",{className:"text-5xl md:text-6xl text-data-orange",children:"70%"})," of Modernization Projects Fail.",J.jsx("br",{}),J.jsx("span",{className:"text-muted-foreground",children:"Yours Doesn't Have To."})]}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground mb-8 leading-relaxed max-w-3xl",children:"Your legacy systems are holding you back. Every new feature takes months. Every security patch is a fire drill. You're spending more to stand still than competitors spend to move forward. But you've heard the horror stories—migrations that crashed production, transformations that burned millions with nothing to show. We modernize platforms through reversible, incremental changes that keep your business running while your technology catches up. No big bang. No betting the company. Just steady progress toward modern infrastructure."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:"Get Modernization Assessment"}),J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-muted-foreground hover:text-foreground",onClick:()=>{const e=document.getElementById("platform-modernization-approach");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"See Our Approach ↓"})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Reversible migrations"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Zero-downtime cutover"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"No feature freeze required"]})]}),J.jsxs("div",{className:"mt-12 p-6 bg-surface/50 border border-outline/30 rounded-xl",children:[J.jsx("h2",{className:"text-lg font-semibold text-foreground mb-3",children:"What is Platform Modernization?"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[J.jsx("strong",{children:"Platform modernization"})," is the process of updating legacy technology infrastructure—applications, databases, and systems—to modern cloud-native architectures that improve performance, security, scalability, and maintainability. It encompasses ",J.jsx("strong",{children:"application modernization services"}),", ",J.jsx("strong",{children:"cloud migration services"}),", ",J.jsx("strong",{children:"legacy system modernization"}),", and ",J.jsx("strong",{children:"digital transformation services"})," to help organizations escape technical debt and accelerate innovation. Unlike lift-and-shift approaches, comprehensive ",J.jsx("strong",{children:"IT modernization services"})," apply the right strategy (rehost, replatform, refactor, repurchase, retire, or retain) to each application based on business value and technical complexity."]})]})]}):"rails-upgrades"===s.slug&&s.heroHeadline?J.jsxs(J.Fragment,{children:[J.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-4 leading-tight",children:s.heroHeadline}),s.heroSubheadline&&J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-8 leading-relaxed max-w-3xl",children:s.heroSubheadline}),s.badges&&J.jsx("div",{className:"flex flex-wrap gap-2 mb-8",children:s.badges.map((e,t)=>J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-amber/50 text-data-amber",children:e},t))}),J.jsxs("div",{className:"flex flex-wrap gap-4 mb-6",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,"data-service-key":s.key,children:"Get a Free Upgrade Assessment"}),J.jsxs(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8",onClick:()=>{const e=document.getElementById("process-section");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:["View Our Process ",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]})]}),s.trustIndicators&&J.jsx("div",{className:"flex flex-wrap gap-6 text-sm text-muted-foreground mb-8",children:s.trustIndicators.map((e,t)=>J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),e]},t))}),J.jsxs("div",{className:"flex flex-wrap gap-2 mt-6",children:[J.jsx($Z,{}),J.jsx(YZ,{}),J.jsx(GZ,{}),J.jsx(UZ,{})]})]}):"product-pods"===s.slug?J.jsxs(J.Fragment,{children:[J.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-foreground mb-8 leading-tight",children:["Stop Buying Hours.",J.jsx("br",{}),J.jsx("span",{className:"text-data-teal",children:"Start Getting Outcomes."})]}),J.jsxs("div",{className:"max-w-3xl",children:[J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground mb-6 leading-relaxed",children:"Traditional staff augmentation gives you developers. You still provide the management, the process, and the accountability. When things go wrong, it's your problem. When people leave, the knowledge walks out the door. You're paying for hours, hoping for results."}),J.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8 leading-relaxed",children:[J.jsx("span",{className:"text-foreground font-medium",children:"Product Pods are different."})," Dedicated, cross-functional teams that own your product delivery from sprint to sprint. Outcome accountability built in. Knowledge transfer guaranteed. You get a partner invested in your success—not a vendor counting billable hours."]})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8 text-base font-semibold",onClick:k,"data-service-key":s.key,children:"Build Your Pod"}),J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8 border-outline/50 hover:border-data-teal/50 hover:bg-data-teal/5",onClick:()=>{const e=document.getElementById("pod-differentiators");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"See How Pods Work ↓"})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Outcome accountability, not just hours"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Knowledge transfer guaranteed"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"US-led delivery from Austin HQ"]})]})]}):"rapid-prototyping"===s.slug?J.jsxs(J.Fragment,{children:[J.jsx("div",{className:"mb-4",children:J.jsx("span",{className:"text-5xl md:text-6xl lg:text-7xl font-bold text-data-orange",children:"42%"})}),J.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-foreground mb-6 leading-tight",children:"of Startups Fail Because They Build Something Nobody Wants."}),J.jsxs("div",{className:"max-w-3xl",children:[J.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-6 leading-relaxed",children:["Don't become a statistic. Get a working prototype, real user feedback, and a clear go/no-go decision in ",J.jsx("span",{className:"text-foreground font-medium",children:"2-3 weeks"}),"—before you invest months and hundreds of thousands in full development."]}),J.jsx("p",{className:"text-base md:text-lg text-muted-foreground mb-8 leading-relaxed",children:"Every week, promising startups burn through runway building products that won't succeed. Not because the team isn't talented. Not because the technology doesn't work. Because they skipped validation."}),J.jsx("p",{className:"text-base md:text-lg text-muted-foreground mb-8 leading-relaxed",children:"Our rapid prototyping process gives you the evidence you need to move forward with confidence—or pivot early while you still can."})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8 text-base font-semibold",onClick:k,"data-service-key":s.key,children:"Validate Your Idea →"}),J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8 border-outline/50 hover:border-data-teal/50 hover:bg-data-teal/5",onClick:()=>{const e=document.getElementById("rapid-prototyping-process");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"See Our Process"})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Working prototype in 2-3 weeks"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Real user feedback, not assumptions"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Clear go/no-go decision"]})]})]}):"integration-fasttrack"===s.slug?J.jsx(J.Fragment,{children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("div",{className:"mb-2",children:J.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-foreground leading-tight",children:[J.jsx("span",{className:"text-6xl md:text-7xl lg:text-8xl text-data-orange",children:"70%"}),J.jsx("span",{className:"block mt-2",children:"of Integration Projects Fail."}),J.jsx("span",{className:"block text-muted-foreground",children:"Yours Won't."})]})}),J.jsx("p",{className:"text-xs text-muted-foreground/70 mb-8",children:"Source: Industry research; MuleSoft Connectivity Benchmark Report"}),J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6 mb-10",children:[J.jsxs("div",{className:"text-left",children:[J.jsx("div",{className:"text-4xl md:text-5xl font-bold text-data-teal mb-1",children:"897"}),J.jsx("p",{className:"text-sm text-foreground font-medium mb-1",children:"Average enterprise applications"}),J.jsx("p",{className:"text-[10px] text-muted-foreground/60",children:"MuleSoft 2025"})]}),J.jsxs("div",{className:"text-left",children:[J.jsx("div",{className:"text-4xl md:text-5xl font-bold text-data-blue mb-1",children:"29%"}),J.jsx("p",{className:"text-sm text-foreground font-medium mb-1",children:"Are actually integrated"}),J.jsx("p",{className:"text-[10px] text-muted-foreground/60",children:"MuleSoft 2025"})]}),J.jsxs("div",{className:"text-left",children:[J.jsx("div",{className:"text-4xl md:text-5xl font-bold text-destructive mb-1",children:"$12.9M"}),J.jsx("p",{className:"text-sm text-foreground font-medium mb-1",children:"Annual cost of poor data quality"}),J.jsx("p",{className:"text-[10px] text-muted-foreground/60",children:"Gartner"})]})]}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground mb-10 leading-relaxed max-w-3xl",children:"Data silos block AI initiatives, slow decisions, and cost millions. Integration FastTrack connects your systems in weeks, not months—with a proven methodology that delivers results."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8 text-base font-semibold",onClick:k,"data-service-key":s.key,children:"Start Integration Assessment →"}),J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8 border-outline/50 hover:border-data-teal/50 hover:bg-data-teal/5",onClick:()=>{const e=document.getElementById("integration-patterns");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"View Integration Patterns →"})]}),J.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground mb-10",children:[J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Results in weeks, not months"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"≥99.5% sync success rate"]}),J.jsxs("span",{className:"inline-flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),"Production-ready with test suites"]})]}),J.jsx("div",{className:"pt-6 border-t border-outline/20",children:J.jsxs("p",{className:"text-xs text-muted-foreground/60",children:[J.jsx("span",{className:"font-medium text-muted-foreground/80",children:"Sources:"})," ",J.jsx("a",{href:"https://www.mulesoft.com/lp/reports/connectivity-benchmark",target:"_blank",rel:"noopener noreferrer",className:"hover:text-data-teal transition-colors underline",children:"MuleSoft Connectivity Benchmark Report 2025"})," • ",J.jsx("a",{href:"https://www.gartner.com/en/newsroom/press-releases",target:"_blank",rel:"noopener noreferrer",className:"hover:text-data-teal transition-colors underline",children:"Gartner Research on Data Quality Costs"})]})})]})}):"security-compliance"===s.slug?J.jsx(J.Fragment,{children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("div",{className:"mb-2",children:J.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-foreground leading-tight",children:[J.jsx("span",{className:"text-6xl md:text-7xl lg:text-8xl text-destructive",children:"97%"}),J.jsx("span",{className:"block mt-2",children:"of Organizations Experienced an AI Security Incident in the Past Year."}),J.jsx("span",{className:"block text-muted-foreground mt-2",children:"Compliance Alone Didn't Stop It."})]})}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/60 mb-6",children:"Source: Capgemini Research Institute, 2024"}),J.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-10 leading-relaxed max-w-3xl",children:["Your AI systems process sensitive data, make critical decisions, and interact with customers. Traditional compliance frameworks weren't designed for prompt injection, model theft, or data poisoning attacks. You need ",J.jsx("strong",{children:"generative AI security"})," built for modern threats—and compliance that proves it."]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-cyan hover:opacity-90 min-h-[44px] px-8 text-base font-semibold",onClick:k,"data-service-key":s.key,children:"Start AI Security Assessment →"}),J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px] px-8 border-outline/50 hover:border-data-cyan/50 hover:bg-data-cyan/5",onClick:()=>{const e=document.getElementById("compliance-frameworks");e&&e.scrollIntoView({behavior:"smooth"})},"data-service-key":s.key,children:"View Compliance Frameworks →"})]}),J.jsxs("div",{className:"flex flex-wrap items-center gap-4 mb-10 py-4 px-6 bg-surface/50 rounded-lg border border-outline/20",children:[J.jsx("span",{className:"text-xs text-muted-foreground uppercase tracking-wide font-medium",children:"Frameworks:"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-cyan/50 text-data-cyan",children:"SOC 2"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-cyan/50 text-data-cyan",children:"ISO 27001"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-cyan/50 text-data-cyan",children:"HIPAA"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-cyan/50 text-data-cyan",children:"NIST AI RMF"})]}),J.jsxs("div",{className:"relative p-8 bg-gradient-to-br from-surface/80 to-surface/40 rounded-xl border border-outline/30 overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 opacity-10",children:J.jsxs("svg",{className:"w-full h-full",viewBox:"0 0 400 200",fill:"none",children:[J.jsx("circle",{cx:"60",cy:"100",r:"8",className:"fill-data-cyan"}),J.jsx("circle",{cx:"120",cy:"50",r:"6",className:"fill-data-cyan"}),J.jsx("circle",{cx:"120",cy:"150",r:"6",className:"fill-data-cyan"}),J.jsx("circle",{cx:"200",cy:"100",r:"12",className:"fill-primary"}),J.jsx("circle",{cx:"280",cy:"50",r:"6",className:"fill-data-cyan"}),J.jsx("circle",{cx:"280",cy:"150",r:"6",className:"fill-data-cyan"}),J.jsx("circle",{cx:"340",cy:"100",r:"8",className:"fill-data-cyan"}),J.jsx("path",{d:"M68 100 L188 100",className:"stroke-data-cyan/40",strokeWidth:"2"}),J.jsx("path",{d:"M120 50 L188 92",className:"stroke-data-cyan/40",strokeWidth:"1.5"}),J.jsx("path",{d:"M120 150 L188 108",className:"stroke-data-cyan/40",strokeWidth:"1.5"}),J.jsx("path",{d:"M212 100 L332 100",className:"stroke-data-cyan/40",strokeWidth:"2"}),J.jsx("path",{d:"M212 92 L280 50",className:"stroke-data-cyan/40",strokeWidth:"1.5"}),J.jsx("path",{d:"M212 108 L280 150",className:"stroke-data-cyan/40",strokeWidth:"1.5"})]})}),J.jsxs("div",{className:"relative flex items-center justify-center gap-6",children:[J.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-gradient-to-br from-data-cyan/20 to-primary/20 border border-data-cyan/30",children:J.jsx(Xk,{className:"w-8 h-8 text-data-cyan"})}),J.jsxs("div",{className:"text-center",children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"AI-Specific Security"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Prompt injection • Model theft • Data poisoning • Adversarial attacks"})]})]})]})]})}):J.jsxs(J.Fragment,{children:[J.jsx("h1",{className:"text-5xl font-bold text-foreground mb-4",children:s.name}),"genai-accelerator"===s.key&&J.jsxs("div",{className:"flex flex-wrap gap-2 mb-6",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"RAG-Powered"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"Production-Safe"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"6-Week Deploy"})]}),"computer-vision-fasttrack"===s.key&&J.jsxs("div",{className:"flex flex-wrap gap-2 mb-6",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"Edge-Optimized"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"4-8 Week Deploy"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"Production-Ready"})]}),"product-pods"===s.key&&J.jsxs("div",{className:"flex flex-wrap gap-2 mb-6",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"Fixed cadence"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"SLAs"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"US-led"})]}),"rapid-prototyping"===s.key&&J.jsxs("div",{className:"flex flex-wrap gap-2 mb-6",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"2-week delivery"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"User-tested"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:"Tech spike included"})]}),"integration-fasttrack"===s.key&&s.badges&&J.jsx("div",{className:"flex flex-wrap gap-2 mb-6",children:s.badges.map((e,t)=>J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/50 text-data-teal",children:e},t))}),"ai-orchestration"===s.key&&J.jsxs("div",{className:"flex flex-wrap gap-2 mb-6",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-orange/50 text-data-orange",children:"Multi-model routing"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-orange/50 text-data-orange",children:"77% cost reduction"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-orange/50 text-data-orange",children:"Audit-ready"})]}),J.jsx("p",{className:"text-2xl text-muted-foreground mb-6",children:s.promise})]}),"rails-upgrades"!==s.slug&&"agentic-ai"!==s.slug&&"genai-accelerator"!==s.slug&&"computer-vision-fasttrack"!==s.slug&&"ai-orchestration"!==s.slug&&"data-analytics-platform"!==s.slug&&"mlops-model-ops"!==s.slug&&"product-pods"!==s.slug&&"rapid-prototyping"!==s.slug&&"integration-fasttrack"!==s.slug&&"security-compliance"!==s.slug&&J.jsxs(J.Fragment,{children:["platform-modernization"===s.key&&J.jsxs("p",{className:"text-sm text-muted-foreground mb-6 flex items-center gap-2",children:[J.jsx("span",{className:"inline-block w-2 h-2 rounded-full bg-data-teal"}),"US delivery from Austin HQ. On-prem and GovCloud options available."]}),s.personas&&J.jsx("div",{className:"flex flex-wrap gap-2 mb-8",children:s.personas.map(e=>J.jsx("span",{className:"inline-flex items-center px-3 py-1 rounded-full text-xs font-medium bg-surface/50 border border-outline/30 text-muted-foreground","aria-hidden":"true",tabIndex:-1,children:e},e))}),"agentic-ai"===s.key&&s.popularIndustries&&J.jsxs("div",{className:"mb-8",children:[J.jsx("div",{className:"text-sm font-medium text-muted-foreground mb-3",children:"Popular Use Cases by Industry:"}),J.jsx("div",{className:"flex flex-wrap gap-3",children:s.popularIndustries.map(e=>{const t={manufacturing:{label:"QA Workflow Automation",icon:"🏭"},healthcare:{label:"HIPAA-Compliant Agents",icon:"🏥"},finance:{label:"Fraud Detection Agents",icon:"🏦"}}[e];return t?J.jsx(tt,{to:`/industries/${e}`,children:J.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-lg border border-outline/30 bg-surface/50 hover:bg-surface hover:border-data-teal transition-all cursor-pointer",children:[J.jsx("span",{children:t.icon}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:t.label})]})},e):null})})]}),J.jsxs("div",{className:"flex flex-wrap gap-4 mb-4",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-teal to-primary hover:opacity-90 min-h-[44px]",onClick:k,"data-service-key":s.key,children:"Talk to an Architect"}),"mlops-model-ops"===s.slug?J.jsx(tt,{to:"/outcomes?usecases=analytics,mlops&risk=expected",children:J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px]",onClick:M,"data-service-key":s.key,children:"Estimate ROI →"})}):J.jsx(tt,{to:`/roi-calculator?calc=${s.key}`,children:J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px]",onClick:M,"data-service-key":s.key,children:"Estimate ROI →"})}),"mlops-model-ops"===s.slug?J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px]",onClick:()=>c(!0),"data-service-key":s.key,children:"View service brief"}):"product-pods"===s.slug||"rapid-prototyping"===s.slug||"integration-fasttrack"===s.slug?J.jsxs(oz,{variant:"outline",size:"lg",className:"min-h-[44px]",onClick:()=>{A(),window.gtag&&window.gtag("event","service_download_brief",{service:s.slug.replace(/-/g,"_")})},"data-service-key":s.key,children:[J.jsx(zm,{className:"mr-2 h-4 w-4"}),"Download 1-pager"]}):J.jsxs(oz,{variant:"outline",size:"lg",className:"min-h-[44px]",onClick:A,"data-service-key":s.key,children:[J.jsx(zm,{className:"mr-2 h-4 w-4"}),"Download 1-pager"]})]}),"product-pods"===s.slug&&J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"US delivery with Austin HQ; US-only pods available for compliance-sensitive workloads"}),"rapid-prototyping"===s.slug&&J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"US delivery with Austin HQ. On-prem and GovCloud options."}),J.jsxs("div",{className:"flex flex-wrap gap-4 mt-4",children:["rapid-prototyping"===s.slug&&J.jsxs("div",{className:"flex gap-2",children:[J.jsx(WZ,{}),J.jsx(HZ,{})]}),"integration-fasttrack"===s.slug&&J.jsxs("div",{className:"flex gap-2",children:[J.jsx(VZ,{}),J.jsx(BZ,{})]}),"agentic-ai"===s.key&&J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{const e=document.getElementById("runlog-modal");e&&e.classList.remove("hidden")},children:"View sample run log"}),"genai-accelerator"===s.key&&J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{const e=document.getElementById("eval-report-modal");e&&e.classList.remove("hidden")},children:"View sample eval report"}),"computer-vision-fasttrack"===s.key&&J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{const e=document.getElementById("benchmark-report-modal");e&&e.classList.remove("hidden")},children:"View sample benchmark report"}),"data-analytics-platform"===s.slug&&J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{r(!0),window.gtag&&window.gtag("event","service_sample_dashboard_view",{service:"data_analytics_platform"})},children:"View sample dashboard"}),"mlops-model-ops"===s.slug&&J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{n(!0),window.gtag&&window.gtag("event","service_mlops_monitoring_view",{service:"mlops_model_ops"})},children:"View sample monitoring dashboard"}),"mlops-model-ops"===s.slug&&J.jsx(J.Fragment,{children:J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{l(!0),window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"mlops_model_ops",artifact:"promotion_checklist"})},children:"View promotion checklist"})}),"platform-modernization"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{h(!0),window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"platform_modernization",artifact:"migration_blueprint"})},children:"View migration blueprint"}),J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{u(!0),window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"platform_modernization",artifact:"performance_report"})},children:"View performance report"})]}),"product-pods"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(zZ,{}),J.jsx(_Z,{}),J.jsx(LZ,{})]}),"rapid-prototyping"===s.slug&&J.jsx(J.Fragment,{children:J.jsx(FZ,{})}),"security-compliance"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{g(!0),window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"security_compliance",artifact:"audit_report"})},children:"View sample audit report"}),J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{y(!0),window.gtag&&window.gtag("event","service_sample_artifact_view",{service:"security_compliance",artifact:"sbom_sample"})},children:"View sample SBOM"})]}),"ai-orchestration"===s.key&&J.jsxs(J.Fragment,{children:[J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{const e=document.getElementById("orchestration-graph-modal");e&&(e.classList.remove("hidden"),tD(s.slug,"orchestration-graph"))},children:"Request orchestration graph sample"}),J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{const e=document.getElementById("cost-optimization-modal");e&&(e.classList.remove("hidden"),tD(s.slug,"cost-optimization"))},children:"Request cost optimization report"}),J.jsx(oz,{variant:"ghost",size:"lg",className:"min-h-[44px] text-data-teal hover:text-data-teal hover:bg-data-teal/10",onClick:()=>{const e=document.getElementById("guardrails-checklist-modal");e&&(e.classList.remove("hidden"),tD(s.slug,"guardrails-checklist"))},children:"View guardrails checklist"})]})]})]})]})]})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"integration-crisis-stats",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Hidden Cost of Disconnected Systems"}),J.jsxs("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:["Modern enterprises run on software—hundreds of applications processing millions of transactions. But here's the uncomfortable truth: ",J.jsx("span",{className:"text-foreground font-medium",children:"most of these systems don't talk to each other."})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 lg:gap-8",children:[J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-data-orange/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center flex-shrink-0",children:J.jsx(eI,{className:"w-6 h-6 text-destructive"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"The Failure Rate"}),J.jsx("div",{className:"mb-3",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-data-orange",children:"70%"})}),J.jsx("p",{className:"text-lg text-foreground mb-4",children:"of system integration projects fail or partially fail"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(Rm,{className:"w-4 h-4 text-data-orange"}),J.jsxs("span",{children:[J.jsx("span",{className:"text-foreground font-medium",children:"$2.5M"})," average cost of failed integration"]})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Most common cause: Underestimating complexity"})]})]})]})}),J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-data-teal/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-teal/10 flex items-center justify-center flex-shrink-0",children:J.jsx(om,{className:"w-6 h-6 text-data-teal"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"The Data Silo Problem"}),J.jsx("div",{className:"mb-3",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-data-teal",children:"$7.8M"})}),J.jsx("p",{className:"text-lg text-foreground mb-4",children:"annual productivity loss from data silos"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(qk,{className:"w-4 h-4 text-data-teal"}),J.jsxs("span",{children:[J.jsx("span",{className:"text-foreground font-medium",children:"897"})," average applications per enterprise"]})]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:["Only ",J.jsx("span",{className:"text-foreground font-medium",children:"28%"})," are integrated"]})]})]})]})}),J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-data-blue/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-blue/10 flex items-center justify-center flex-shrink-0",children:J.jsx(jn,{className:"w-6 h-6 text-data-blue"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"The AI Bottleneck"}),J.jsx("div",{className:"mb-3",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-data-blue",children:"95%"})}),J.jsx("p",{className:"text-lg text-foreground mb-4",children:"of IT leaders say integration gaps impede AI adoption"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(un,{className:"w-4 h-4 text-data-blue"}),J.jsxs("span",{children:["Only ",J.jsx("span",{className:"text-foreground font-medium",children:"9%"})," have fully deployed AI due to scaling challenges"]})]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-foreground font-medium",children:"10.3x"})," ROI with strong integration vs. ",J.jsx("span",{className:"text-foreground font-medium",children:"3.7x"})," without"]})]})]})]})}),J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-data-orange/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Ld,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"The Speed Problem"}),J.jsx("div",{className:"mb-3",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-data-orange",children:"12 weeks"})}),J.jsx("p",{className:"text-lg text-foreground mb-4",children:"average for integration pipeline development"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(FP,{className:"w-4 h-4 text-data-orange"}),J.jsxs("span",{children:[J.jsx("span",{className:"text-foreground font-medium",children:"78%"})," of teams struggle with orchestration complexity"]})]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-foreground font-medium",children:"57%"})," report needs change before integration completes"]})]})]})]})})]}),J.jsxs("div",{className:"mt-12 p-6 lg:p-8 bg-gradient-to-r from-surface to-surface/50 rounded-xl border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(Ka,{className:"w-5 h-5 text-data-teal"}),"The Bottom Line"]}),J.jsxs("p",{className:"text-lg text-muted-foreground leading-relaxed",children:["Your systems aren't just disconnected—they're ",J.jsx("span",{className:"text-foreground font-medium",children:"actively holding back your business"}),". Every customer inquiry that requires checking three systems. Every report that requires manual data compilation. Every AI initiative that stalls because the training data lives in silos. ",J.jsx("span",{className:"text-foreground font-medium",children:"These aren't technology problems. They're business problems with technology solutions."})]})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"ai-security-crisis-stats",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Compliance Isn't Security. The Breach Statistics Prove It."}),J.jsxs("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:["Every week, another AI company makes headlines for the wrong reasons. Prompt injection attacks bypass guardrails. Customer data leaks through model outputs. Training data gets poisoned. ",J.jsx("span",{className:"text-foreground font-medium",children:"Most were compliant—but not actually secure."})]})]}),J.jsx("div",{className:"mb-12 p-6 bg-background rounded-xl border border-outline/30",children:J.jsxs("div",{className:"flex flex-col md:flex-row items-center justify-between gap-6",children:[J.jsx("div",{className:"text-sm font-medium text-muted-foreground",children:"Compliance Frameworks We Implement:"}),J.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-4 md:gap-6",children:[J.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-surface/50 rounded-full border border-outline/30",children:[J.jsx(Gk,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"SOC 2"})]}),J.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-surface/50 rounded-full border border-outline/30",children:[J.jsx(pr,{className:"w-4 h-4 text-primary"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"ISO 27001"})]}),J.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-surface/50 rounded-full border border-outline/30",children:[J.jsx(cg,{className:"w-4 h-4 text-destructive"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"HIPAA"})]}),J.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-surface/50 rounded-full border border-outline/30",children:[J.jsx(jn,{className:"w-4 h-4 text-data-blue"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"NIST AI RMF"})]}),J.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-surface/50 rounded-full border border-outline/30",children:[J.jsx(hy,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"OWASP"})]})]})]})}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 lg:gap-8",children:[J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-destructive/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center flex-shrink-0",children:J.jsx(eI,{className:"w-6 h-6 text-destructive"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"The Breach Epidemic"}),J.jsx("div",{className:"mb-1",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-destructive",children:"97%"})}),J.jsx("p",{className:"text-lg text-foreground mb-1",children:"of organizations experienced Gen AI security incidents"}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/60 mb-4",children:"Source: Capgemini Research Institute, 2024"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(XC,{className:"w-4 h-4 text-destructive/70"}),J.jsxs("span",{children:[J.jsx("span",{className:"text-foreground font-medium",children:"90%+"})," had breaches (up from 51% in 2021)"]})]}),J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(Xk,{className:"w-4 h-4 text-destructive/70"}),J.jsxs("span",{children:[J.jsx("span",{className:"text-foreground font-medium",children:"1 in 4"})," were malicious attacks"]})]})]})]})]})}),J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-data-orange/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(_f,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"The Compliance Gap"}),J.jsx("div",{className:"mb-3",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-data-orange",children:"85%"})}),J.jsx("p",{className:"text-lg text-foreground mb-4",children:"of organizations use AI services"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(ZC,{className:"w-4 h-4 text-data-orange"}),J.jsxs("span",{children:["Only ",J.jsx("span",{className:"text-foreground font-medium",children:"4%"})," prepared for new AI compliance requirements"]})]}),J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(XC,{className:"w-4 h-4 text-data-orange"}),J.jsxs("span",{children:["SOC 2 adoption up ",J.jsx("span",{className:"text-foreground font-medium",children:"40%"}),"—breaches still rising"]})]})]})]})]})}),J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-data-cyan/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-cyan/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Rm,{className:"w-6 h-6 text-data-cyan"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"Financial Impact"}),J.jsx("div",{className:"mb-1",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-data-cyan",children:"$50M+"})}),J.jsx("p",{className:"text-lg text-foreground mb-1",children:"in losses reported by nearly half of breached organizations over 3 years"}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/60 mb-4",children:"Source: Capgemini Research Institute, 2024"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(Rm,{className:"w-4 h-4 text-data-cyan"}),J.jsxs("span",{children:[J.jsx("span",{className:"text-foreground font-medium",children:"$4.88M"})," average data breach cost"]})]}),J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-muted-foreground/50"}),J.jsx("span",{children:"$91K-$186K compliance cost ≠ security"})]})]})]})]})}),J.jsx(aU,{className:"p-6 lg:p-8 bg-background border-outline/30 hover:border-primary/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(xh,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"Deepfake Losses"}),J.jsx("div",{className:"mb-1",children:J.jsx("span",{className:"text-5xl lg:text-6xl font-bold text-primary",children:"40%+"})}),J.jsx("p",{className:"text-lg text-foreground mb-1",children:"of organizations experienced financial losses from deepfakes"}),J.jsx("p",{className:"text-[11px] italic text-muted-foreground/60 mb-4",children:"Source: Capgemini Research Institute, 2024"}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx($P,{className:"w-4 h-4 text-primary/70"}),J.jsx("span",{children:"Prompt injection bypasses guardrails"})]}),J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(hy,{className:"w-4 h-4 text-primary/70"}),J.jsx("span",{children:"Model theft extracts IP"})]}),J.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-2",children:[J.jsx(om,{className:"w-4 h-4 text-primary/70"}),J.jsx("span",{children:"Data poisoning corrupts training"})]})]})]})]})})]}),J.jsxs("div",{className:"mt-12 p-6 lg:p-8 bg-gradient-to-r from-surface to-surface/50 rounded-xl border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(Xk,{className:"w-5 h-5 text-data-cyan"}),"The Bottom Line"]}),J.jsxs("p",{className:"text-lg text-muted-foreground leading-relaxed",children:["Traditional security frameworks weren't built for AI. OWASP didn't anticipate LLM attacks. SOC 2 doesn't test for adversarial inputs. ",J.jsx("span",{className:"text-foreground font-medium",children:"You need security and compliance designed for AI"}),"—assessments that understand prompt injection, monitoring that detects model drift, and governance that tracks AI-specific risks."]})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"ai-specific-threats",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Your AI Systems Face Threats That Traditional Security Doesn't Address"}),J.jsxs("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:["Traditional cybersecurity protects networks, endpoints, and applications. AI security protects models, training data, inference pipelines, and unique attack surfaces. ",J.jsx("span",{className:"text-foreground font-medium",children:"These aren't hypothetical risks—they're active attack vectors being exploited today."})]})]}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"prompt-injection",className:"border border-outline/30 rounded-xl bg-surface/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-6 hover:no-underline group",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Mb,{className:"w-6 h-6 text-destructive"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xl font-semibold text-foreground group-hover:text-primary transition-colors",children:"Prompt Injection Attacks"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Attackers manipulate AI models through crafted inputs"})]})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"The Threat"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Attackers craft inputs that manipulate AI models into ignoring safety guidelines, revealing sensitive information, or performing unauthorized actions."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx($P,{className:"w-4 h-4 text-data-orange"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Real-World Impact"})]}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Customer service bots providing unauthorized refunds"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"RAG systems revealing confidential documents"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"AI agents executing unintended system commands"]})]})]}),J.jsxs("div",{className:"space-y-3 p-4 bg-success/5 rounded-lg border border-success/20",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Gk,{className:"w-4 h-4 text-success"}),J.jsx("h4",{className:"font-semibold text-success",children:"What We Do"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Implement multi-layer guardrails, input sanitization, and output filtering that detect and block manipulation attempts before they reach your model."})]})]})})]}),J.jsxs(O$,{value:"model-theft",className:"border border-outline/30 rounded-xl bg-surface/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-6 hover:no-underline group",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(om,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xl font-semibold text-foreground group-hover:text-primary transition-colors",children:"Model Theft & Extraction"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Attackers reverse-engineer your proprietary models"})]})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"The Threat"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Attackers use carefully crafted queries to reverse-engineer your model's capabilities, extract proprietary training data, or steal the model itself."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx($P,{className:"w-4 h-4 text-data-orange"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Real-World Impact"})]}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Competitors replicating proprietary model behavior"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Sensitive training data exposed through responses"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Business differentiation eliminated through extraction"]})]})]}),J.jsxs("div",{className:"space-y-3 p-4 bg-success/5 rounded-lg border border-success/20",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Gk,{className:"w-4 h-4 text-success"}),J.jsx("h4",{className:"font-semibold text-success",children:"What We Do"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Implement rate limiting, query analysis, output perturbation, and access controls that prevent extraction attacks and protect your intellectual property."})]})]})})]}),J.jsxs(O$,{value:"data-poisoning",className:"border border-outline/30 rounded-xl bg-surface/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-6 hover:no-underline group",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Gx,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xl font-semibold text-foreground group-hover:text-primary transition-colors",children:"Data Poisoning"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Attackers contaminate training or fine-tuning data"})]})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"The Threat"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Attackers contaminate training or fine-tuning data to introduce biases, backdoors, or vulnerabilities into the model."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx($P,{className:"w-4 h-4 text-data-orange"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Real-World Impact"})]}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Models producing harmful outputs in specific contexts"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Backdoors activated by specific triggers"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Systematic bias introduced through training manipulation"]})]})]}),J.jsxs("div",{className:"space-y-3 p-4 bg-success/5 rounded-lg border border-success/20",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Gk,{className:"w-4 h-4 text-success"}),J.jsx("h4",{className:"font-semibold text-success",children:"What We Do"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Implement data validation pipelines, anomaly detection for training data, and provenance tracking to ensure data integrity throughout the ML lifecycle."})]})]})})]}),J.jsxs(O$,{value:"output-leakage",className:"border border-outline/30 rounded-xl bg-surface/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-6 hover:no-underline group",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-cyan/10 flex items-center justify-center flex-shrink-0",children:J.jsx(xh,{className:"w-6 h-6 text-data-cyan"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xl font-semibold text-foreground group-hover:text-primary transition-colors",children:"Output & Data Leakage"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI models inadvertently expose sensitive information"})]})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"The Threat"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"AI models can inadvertently expose sensitive information from training data, user interactions, or connected systems through their outputs."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx($P,{className:"w-4 h-4 text-data-orange"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Real-World Impact"})]}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"PHI exposed in healthcare AI responses"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Customer PII revealed through outputs"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-destructive mt-2 flex-shrink-0"}),"Proprietary business data leaked through embeddings"]})]})]}),J.jsxs("div",{className:"space-y-3 p-4 bg-success/5 rounded-lg border border-success/20",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Gk,{className:"w-4 h-4 text-success"}),J.jsx("h4",{className:"font-semibold text-success",children:"What We Do"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Implement output filtering, PII detection, data classification, and response validation to prevent sensitive information from leaking through AI responses."})]})]})})]})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"ai-security-pillars",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"AI Security & Compliance: A Complete Protection Framework"}),J.jsxs("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:["We don't just help you pass audits—we actually secure your AI systems. Our approach combines three pillars: ",J.jsx("span",{className:"text-foreground font-medium",children:"AI-specific security implementation"}),", ",J.jsx("span",{className:"text-foreground font-medium",children:"compliance framework certification"}),", and ",J.jsx("span",{className:"text-foreground font-medium",children:"ongoing governance"}),". Each reinforces the others."]})]}),J.jsxs("div",{className:"grid lg:grid-cols-3 gap-6 lg:gap-8",children:[J.jsxs(aU,{className:"group relative p-6 lg:p-8 bg-background border-outline/30 hover:border-primary/40 transition-all duration-300 hover:shadow-lg hover:shadow-primary/5",children:[J.jsx("div",{className:"absolute -top-3 -left-3 w-8 h-8 rounded-full bg-primary flex items-center justify-center text-primary-foreground text-sm font-bold",children:"1"}),J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-primary/20 to-primary/5 flex items-center justify-center mb-6",children:J.jsxs("div",{className:"relative",children:[J.jsx(Xk,{className:"w-7 h-7 text-primary"}),J.jsx(jn,{className:"w-4 h-4 text-primary absolute -bottom-1 -right-1"})]})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"AI System Security"}),J.jsx("p",{className:"text-sm font-medium text-primary mb-4",children:"Protect your AI from real attacks"}),J.jsx("p",{className:"text-muted-foreground text-sm mb-6 leading-relaxed",children:"End-to-end security for your AI/ML systems, from training infrastructure to production deployment."}),J.jsx("ul",{className:"space-y-3 mb-6",children:["AI Threat Modeling","AI Penetration Testing","LLM Guardrails Implementation","AI Supply Chain Security","Continuous AI Security Monitoring"].map((e,t)=>J.jsxs("li",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-success flex-shrink-0"}),J.jsx("span",{children:e})]},t))}),J.jsxs("button",{className:"text-sm font-medium text-primary hover:text-primary/80 flex items-center gap-2 group-hover:gap-3 transition-all",onClick:()=>{const e=document.getElementById("ai-specific-threats");e?.scrollIntoView({behavior:"smooth"})},children:["Learn About AI Security",J.jsx(Ka,{className:"w-4 h-4"})]})]}),J.jsxs(aU,{className:"group relative p-6 lg:p-8 bg-background border-outline/30 hover:border-data-teal/40 transition-all duration-300 hover:shadow-lg hover:shadow-data-teal/5",children:[J.jsx("div",{className:"absolute -top-3 -left-3 w-8 h-8 rounded-full bg-data-teal flex items-center justify-center text-white text-sm font-bold",children:"2"}),J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-teal/20 to-data-teal/5 flex items-center justify-center mb-6",children:J.jsx(pr,{className:"w-7 h-7 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Compliance Framework Implementation"}),J.jsx("p",{className:"text-sm font-medium text-data-teal mb-4",children:"Prove security to customers and regulators"}),J.jsx("p",{className:"text-muted-foreground text-sm mb-6 leading-relaxed",children:"Achieve and maintain compliance with the frameworks your customers, partners, and regulators require."}),J.jsx("div",{className:"flex flex-wrap gap-2 mb-6",children:["SOC 2","ISO 27001","HIPAA","GDPR","PCI DSS","NIST AI RMF","ISO 42001"].map((e,t)=>J.jsx(hU,{variant:"outline",className:"bg-data-teal/5 border-data-teal/30 text-foreground text-xs",children:e},t))}),J.jsxs("button",{className:"text-sm font-medium text-data-teal hover:text-data-teal/80 flex items-center gap-2 group-hover:gap-3 transition-all",onClick:()=>{const e=document.getElementById("compliance-frameworks");e?.scrollIntoView({behavior:"smooth"})},children:["View Frameworks",J.jsx(Ka,{className:"w-4 h-4"})]})]}),J.jsxs(aU,{className:"group relative p-6 lg:p-8 bg-background border-outline/30 hover:border-data-orange/40 transition-all duration-300 hover:shadow-lg hover:shadow-data-orange/5",children:[J.jsx("div",{className:"absolute -top-3 -left-3 w-8 h-8 rounded-full bg-data-orange flex items-center justify-center text-white text-sm font-bold",children:"3"}),J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-orange/20 to-data-orange/5 flex items-center justify-center mb-6",children:J.jsx(Pv,{className:"w-7 h-7 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"AI Governance & Risk Management"}),J.jsx("p",{className:"text-sm font-medium text-data-orange mb-4",children:"Manage AI risk continuously"}),J.jsx("p",{className:"text-muted-foreground text-sm mb-6 leading-relaxed",children:"Establish organizational capabilities to manage AI risk continuously, not just at audit time."}),J.jsx("ul",{className:"space-y-3 mb-6",children:["AI Risk Assessment","AI Policy Development","AI Governance Program","Bias and Fairness Assessment"].map((e,t)=>J.jsxs("li",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-success flex-shrink-0"}),J.jsx("span",{children:e})]},t))}),J.jsxs("button",{className:"text-sm font-medium text-data-orange hover:text-data-orange/80 flex items-center gap-2 group-hover:gap-3 transition-all",onClick:()=>{const e=document.getElementById("ai-governance");e?.scrollIntoView({behavior:"smooth"})},children:["Explore Governance",J.jsx(Ka,{className:"w-4 h-4"})]})]})]}),J.jsxs("div",{className:"mt-12 p-6 lg:p-8 bg-gradient-to-r from-primary/5 via-data-teal/5 to-data-orange/5 rounded-xl border border-outline/30",children:[J.jsxs("div",{className:"flex flex-col md:flex-row items-center justify-center gap-6 text-center",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/20 flex items-center justify-center",children:J.jsx(Xk,{className:"w-5 h-5 text-primary"})}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Security"})]}),J.jsxs("div",{className:"hidden md:flex items-center",children:[J.jsx("div",{className:"w-12 h-0.5 bg-gradient-to-r from-primary to-data-teal"}),J.jsx(bw,{className:"w-5 h-5 text-muted-foreground mx-2"}),J.jsx("div",{className:"w-12 h-0.5 bg-gradient-to-r from-data-teal to-data-teal"})]}),J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-data-teal/20 flex items-center justify-center",children:J.jsx(pr,{className:"w-5 h-5 text-data-teal"})}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Compliance"})]}),J.jsxs("div",{className:"hidden md:flex items-center",children:[J.jsx("div",{className:"w-12 h-0.5 bg-gradient-to-r from-data-teal to-data-orange"}),J.jsx(bw,{className:"w-5 h-5 text-muted-foreground mx-2"}),J.jsx("div",{className:"w-12 h-0.5 bg-gradient-to-r from-data-orange to-data-orange"})]}),J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-data-orange/20 flex items-center justify-center",children:J.jsx(Pv,{className:"w-5 h-5 text-data-orange"})}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Governance"})]})]}),J.jsx("p",{className:"text-center text-sm text-muted-foreground mt-4",children:"Each pillar reinforces the others—security controls satisfy compliance requirements, compliance frameworks inform governance policies, and governance ensures security practices are sustained."})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"methodology",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"From Assessment to Assurance: A Proven 4-Phase Approach"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:"Our methodology delivers security and compliance systematically—no surprises, clear milestones, and tangible progress at every stage."})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"hidden lg:block absolute top-[60px] left-0 right-0 h-0.5 bg-gradient-to-r from-primary via-data-teal to-data-orange"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6 lg:gap-8",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-gradient-to-br from-primary to-primary/80 flex items-center justify-center mb-6 mx-auto lg:mx-0",children:J.jsx(Mk,{className:"w-7 h-7 text-primary-foreground"})}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-primary/30 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx(hU,{className:"bg-primary/10 text-primary border-primary/20 text-xs font-semibold",children:"Phase 1"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Weeks 1-3"})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Discovery & Assessment"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"You can't secure what you don't understand. We start by mapping your entire AI landscape."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:"What Happens"}),J.jsx("ul",{className:"space-y-2",children:["Inventory all AI systems and data flows","Map current security controls and gaps","Identify applicable compliance frameworks","Assess current compliance posture","Prioritize risks by business impact"].map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{className:"mt-6 pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:["Security Posture Report","Gap Analysis","Remediation Roadmap"].map((e,t)=>J.jsx(hU,{variant:"outline",className:"text-xs bg-surface/50",children:e},t))})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-gradient-to-br from-data-teal to-data-teal/80 flex items-center justify-center mb-6 mx-auto lg:mx-0",children:J.jsx(yc,{className:"w-7 h-7 text-white"})}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-data-teal/30 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs font-semibold",children:"Phase 2"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Weeks 2-5"})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Architecture & Planning"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Architecture decisions made now determine security posture for years. We design for current needs and future growth."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:"What Happens"}),J.jsx("ul",{className:"space-y-2",children:["Design target security architecture","Define compliance control framework","Plan implementation sequence","Establish governance structures","Prepare documentation templates"].map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{className:"mt-6 pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:["Security Architecture","Control Plan","Policy Templates"].map((e,t)=>J.jsx(hU,{variant:"outline",className:"text-xs bg-surface/50",children:e},t))})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-gradient-to-br from-data-cyan to-data-cyan/80 flex items-center justify-center mb-6 mx-auto lg:mx-0",children:J.jsx(zk,{className:"w-7 h-7 text-white"})}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-data-cyan/30 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx(hU,{className:"bg-data-cyan/10 text-data-cyan border-data-cyan/20 text-xs font-semibold",children:"Phase 3"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Weeks 4-14"})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Implementation & Hardening"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Iterative implementation—not big bang. Weekly reviews, continuous testing, documentation as we go."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:"What Happens"}),J.jsx("ul",{className:"space-y-2",children:["Implement security controls","Deploy monitoring and detection","Write and approve policies","Configure compliance tooling","Train team on new processes"].map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-cyan flex-shrink-0 mt-0.5"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{className:"mt-6 pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:["Live Controls","Monitoring Systems","Policy Library"].map((e,t)=>J.jsx(hU,{variant:"outline",className:"text-xs bg-surface/50",children:e},t))})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-gradient-to-br from-data-orange to-data-orange/80 flex items-center justify-center mb-6 mx-auto lg:mx-0",children:J.jsx(pr,{className:"w-7 h-7 text-white"})}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-data-orange/30 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 text-xs font-semibold",children:"Phase 4"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Weeks 12-18"})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Audit & Assurance"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Pre-audit review, auditor coordination, evidence provision, and finding remediation support."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:"What Happens"}),J.jsx("ul",{className:"space-y-2",children:["Pre-audit readiness review","Auditor coordination","Audit support and evidence","Finding remediation support","Final certification/attestation"].map((e,t)=>J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange flex-shrink-0 mt-0.5"}),J.jsx("span",{children:e})]},t))})]}),J.jsxs("div",{className:"mt-6 pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:["Evidence Package","SOC 2 Report","Ongoing Plan"].map((e,t)=>J.jsx(hU,{variant:"outline",className:"text-xs bg-surface/50",children:e},t))})]})]})]})]})]}),J.jsx("div",{className:"mt-12 p-6 lg:p-8 bg-gradient-to-r from-primary/5 via-data-teal/5 to-data-orange/5 rounded-xl border border-outline/30",children:J.jsxs("div",{className:"flex flex-col md:flex-row items-start md:items-center gap-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(bw,{className:"w-7 h-7 text-primary"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"Ongoing Option: Managed Security & Compliance"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"After certification, we can maintain your security posture and compliance status continuously—continuous monitoring, annual audit support, and control updates as your systems evolve."})]}),J.jsxs(oz,{variant:"outline",className:"flex-shrink-0",onClick:()=>v(!0),children:["Learn About Managed Services",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]})})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"compliance-frameworks",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Compliance Frameworks We Implement"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:"We help you achieve and maintain compliance with the frameworks your customers, partners, and regulators require. Each implementation is tailored to your AI systems and business context."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 lg:gap-8 mb-12",children:[J.jsxs(aU,{className:"p-6 lg:p-8 bg-surface/30 border-outline/30 hover:border-primary/30 transition-colors",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Gk,{className:"w-7 h-7 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"SOC 2 (Type I & Type II)"}),J.jsx(hU,{variant:"outline",className:"mt-2 bg-primary/5 border-primary/30 text-primary text-xs",children:"Most Requested"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"What It Is"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Trust Service Criteria for security, availability, processing integrity, confidentiality, and privacy."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"Best For"}),J.jsxs("p",{className:"text-sm text-foreground",children:[J.jsx("strong",{children:"SOC 2 for AI companies"}),", SaaS startups, B2B software providers"]})]}),J.jsxs("div",{className:"flex items-center gap-4 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Ld,{className:"w-4 h-4 text-primary"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"8-16 weeks"})]}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"to audit-ready"})]}),J.jsx("p",{className:"text-sm text-muted-foreground italic mb-4",children:"Required by most enterprise customers before procurement"}),J.jsx(tt,{to:"/soc-2-for-startups",className:"text-sm font-medium text-primary hover:text-primary/80 flex items-center gap-2",children:"SOC 2 for Startups →"})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-surface/30 border-outline/30 hover:border-data-teal/30 transition-colors",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-data-teal/10 flex items-center justify-center flex-shrink-0",children:J.jsx(bp,{className:"w-7 h-7 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"ISO 27001"}),J.jsx(hU,{variant:"outline",className:"mt-2 bg-data-teal/5 border-data-teal/30 text-data-teal text-xs",children:"International Standard"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"What It Is"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"International standard for information security management systems (ISMS)."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"Best For"}),J.jsx("p",{className:"text-sm text-foreground",children:"Global companies, enterprise customers, EU market entry"})]}),J.jsxs("div",{className:"flex items-center gap-4 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Ld,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"12-20 weeks"})]}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"to certification-ready"})]}),J.jsx("p",{className:"text-sm text-muted-foreground italic",children:"International gold standard recognized worldwide"})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-surface/30 border-outline/30 hover:border-data-cyan/30 transition-colors",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-data-cyan/10 flex items-center justify-center flex-shrink-0",children:J.jsx(cg,{className:"w-7 h-7 text-data-cyan"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"HIPAA"}),J.jsx(hU,{variant:"outline",className:"mt-2 bg-data-cyan/5 border-data-cyan/30 text-data-cyan text-xs",children:"Healthcare Required"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"What It Is"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"US healthcare data protection requirements for Protected Health Information (PHI)."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"Best For"}),J.jsx("p",{className:"text-sm text-foreground",children:"Healthcare AI, health tech, covered entities, business associates"})]}),J.jsxs("div",{className:"flex items-center gap-4 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Ld,{className:"w-4 h-4 text-data-cyan"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"10-16 weeks"})]}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"to compliant"})]}),J.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Mandatory for any AI handling patient data"})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-surface/30 border-outline/30 hover:border-data-orange/30 transition-colors",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(hy,{className:"w-7 h-7 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"GDPR"}),J.jsx(hU,{variant:"outline",className:"mt-2 bg-data-orange/5 border-data-orange/30 text-data-orange text-xs",children:"EU Privacy"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"What It Is"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"EU data protection and privacy regulation with strict requirements."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"Best For"}),J.jsx("p",{className:"text-sm text-foreground",children:"Any company processing EU resident data"})]}),J.jsxs("div",{className:"flex items-center gap-4 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Ld,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"8-14 weeks"})]}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"to compliant"})]}),J.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Fines up to €20M or 4% of global revenue"})]})]})]}),J.jsxs("div",{className:"mb-12",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Additional Frameworks"}),J.jsxs("div",{className:"flex flex-wrap gap-4",children:[J.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 bg-surface/50 rounded-lg border border-outline/30",children:[J.jsx(Rm,{className:"w-5 h-5 text-muted-foreground"}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:"PCI DSS"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Payment card security for FinTech/e-commerce AI"})]})]}),J.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 bg-surface/50 rounded-lg border border-outline/30",children:[J.jsx(Xk,{className:"w-5 h-5 text-muted-foreground"}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:"NIST CSF"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Cybersecurity framework - broad applicability"})]})]})]})]}),J.jsxs("div",{className:"p-6 lg:p-8 bg-gradient-to-r from-primary/5 via-data-teal/5 to-primary/5 rounded-xl border border-primary/20",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx(jn,{className:"w-6 h-6 text-primary"}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"AI-Specific Frameworks"}),J.jsx(hU,{className:"bg-primary/10 text-primary border-0",children:"Emerging"})]}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"Traditional compliance frameworks weren't designed for AI. These emerging standards address AI-specific risks and are increasingly required for enterprise AI procurement."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"p-4 bg-background rounded-lg border border-outline/30",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"NIST AI RMF"}),J.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:"US framework for AI risk management (Govern, Map, Measure, Manage)"}),J.jsx("p",{className:"text-xs text-primary font-medium",children:"Increasingly required for enterprise AI procurement; prepares for future regulation"})]}),J.jsxs("div",{className:"p-4 bg-background rounded-lg border border-outline/30",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"ISO 42001"}),J.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:"AI management systems standard (emerging international standard)"}),J.jsx("p",{className:"text-xs text-primary font-medium",children:"Positions organizations for future AI regulations worldwide"})]}),J.jsxs("div",{className:"p-4 bg-background rounded-lg border border-outline/30",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"OWASP Top 10 for LLMs"}),J.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:"Security guidance specific to LLM applications"}),J.jsx("p",{className:"text-xs text-primary font-medium",children:"Demonstrates AI security competence to technical buyers"})]})]})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"security-process",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"From Assessment to Assurance: A Proven 4-Phase Approach"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:"We guide you through the entire journey from initial assessment to certification and beyond. Phases overlap for efficiency—we do not wait for one phase to complete before starting the next."})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"hidden lg:block absolute top-24 left-0 right-0 h-1 bg-gradient-to-r from-primary via-data-teal to-success rounded-full"}),J.jsxs("div",{className:"grid lg:grid-cols-4 gap-6 lg:gap-4",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"hidden lg:flex absolute top-[88px] left-1/2 -translate-x-1/2 w-6 h-6 rounded-full bg-primary border-4 border-background z-10"}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-primary/40 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Mk,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-primary uppercase tracking-wide",children:"Phase 1"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Weeks 1-3"})]})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Discovery & Assessment"}),J.jsxs("ul",{className:"space-y-2 mb-6 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-primary mt-2 flex-shrink-0"}),"Inventory all AI systems and models"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-primary mt-2 flex-shrink-0"}),"Map current security controls and gaps"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-primary mt-2 flex-shrink-0"}),"Identify applicable compliance frameworks"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-primary mt-2 flex-shrink-0"}),"Understand business context and risk tolerance"]})]}),J.jsxs("div",{className:"pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("p",{className:"text-sm text-foreground",children:"Security posture assessment, compliance gap analysis, remediation roadmap"})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"hidden lg:flex absolute top-[88px] left-1/2 -translate-x-1/2 w-6 h-6 rounded-full bg-data-teal border-4 border-background z-10"}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-data-teal/40 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(yc,{className:"w-5 h-5 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-data-teal uppercase tracking-wide",children:"Phase 2"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Weeks 2-5"})]})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Architecture & Planning"}),J.jsxs("ul",{className:"space-y-2 mb-6 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-teal mt-2 flex-shrink-0"}),"Design target security architecture"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-teal mt-2 flex-shrink-0"}),"Define compliance control framework"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-teal mt-2 flex-shrink-0"}),"Plan implementation sequence"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-teal mt-2 flex-shrink-0"}),"Establish governance structures"]})]}),J.jsxs("div",{className:"pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("p",{className:"text-sm text-foreground",children:"Security architecture document, control implementation plan, policy templates"})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"hidden lg:flex absolute top-[88px] left-1/2 -translate-x-1/2 w-6 h-6 rounded-full bg-data-orange border-4 border-background z-10"}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-data-orange/40 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(mc,{className:"w-5 h-5 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-data-orange uppercase tracking-wide",children:"Phase 3"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Weeks 4-14"})]})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Implementation & Hardening"}),J.jsxs("ul",{className:"space-y-2 mb-4 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-orange mt-2 flex-shrink-0"}),"Implement security controls"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-orange mt-2 flex-shrink-0"}),"Deploy monitoring and detection"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-orange mt-2 flex-shrink-0"}),"Write and approve policies"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-data-orange mt-2 flex-shrink-0"}),"Collect audit evidence"]})]}),J.jsx("div",{className:"p-3 bg-data-orange/5 rounded-lg border border-data-orange/20 mb-4",children:J.jsx("p",{className:"text-xs text-data-orange font-medium",children:"Iterative implementation, not big bang. Weekly progress reviews."})}),J.jsxs("div",{className:"pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("p",{className:"text-sm text-foreground",children:"Implemented controls, configured monitoring, approved policies, evidence collection"})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"hidden lg:flex absolute top-[88px] left-1/2 -translate-x-1/2 w-6 h-6 rounded-full bg-success border-4 border-background z-10"}),J.jsxs(aU,{className:"p-6 bg-background border-outline/30 hover:border-success/40 transition-colors h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-success/10 flex items-center justify-center",children:J.jsx(pr,{className:"w-5 h-5 text-success"})}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-success uppercase tracking-wide",children:"Phase 4"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Weeks 12-18"})]})]}),J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Audit & Assurance"}),J.jsxs("ul",{className:"space-y-2 mb-6 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-success mt-2 flex-shrink-0"}),"Pre-audit readiness review"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-success mt-2 flex-shrink-0"}),"Auditor coordination"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-success mt-2 flex-shrink-0"}),"Audit support and evidence provision"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1 h-1 rounded-full bg-success mt-2 flex-shrink-0"}),"Finding remediation support"]})]}),J.jsxs("div",{className:"pt-4 border-t border-outline/30",children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-2",children:"Deliverables"}),J.jsx("p",{className:"text-sm text-foreground",children:"Audit-ready evidence, SOC 2 report / ISO certificate, ongoing compliance plan"})]})]})]})]})]}),J.jsx("div",{className:"mt-12 p-6 lg:p-8 bg-gradient-to-r from-primary/5 to-success/5 rounded-xl border border-dashed border-primary/30",children:J.jsxs("div",{className:"flex flex-col md:flex-row items-start md:items-center gap-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-primary to-success flex items-center justify-center flex-shrink-0",children:J.jsx(bw,{className:"w-7 h-7 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Ongoing: Managed Security & Compliance"}),J.jsx(hU,{variant:"outline",className:"bg-primary/5 border-primary/30 text-primary text-xs",children:"Optional"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Security and compliance are not one-time achievements—they require continuous attention. We offer ongoing managed services to maintain your security posture, handle evidence collection, and ensure you stay compliant as your AI systems evolve."})]}),J.jsxs(oz,{variant:"outline",className:"flex-shrink-0",onClick:()=>v(!0),children:["Learn More",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]})})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"who-we-serve",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"AI Security & Compliance Solutions by Stage and Industry"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:"Whether you are an AI startup closing your first enterprise deal or an enterprise deploying AI organization-wide, we have programs designed for your stage, industry, and goals."})]}),J.jsxs("div",{className:"mb-16",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-6 flex items-center gap-3",children:[J.jsx(XC,{className:"w-5 h-5 text-primary"}),"By Company Stage"]}),J.jsxs("div",{className:"grid lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"p-6 bg-surface/30 border-outline/30 hover:border-primary/40 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Rw,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"text-lg font-bold text-foreground mb-1",children:"AI Startups"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Pre-Series B"}),J.jsx("p",{className:"text-primary font-medium mb-3",children:"Close enterprise deals faster"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"You are building fast and need SOC 2 to close sales. You do not have a security team."}),J.jsxs("div",{className:"space-y-3 pt-4 border-t border-outline/30",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"We Provide"}),J.jsx("p",{className:"text-sm text-foreground",children:"Fast-track compliance, right-sized security, audit coordination"})]}),J.jsxs("div",{className:"flex items-center justify-between text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Timeline:"}),J.jsx("span",{className:"font-medium text-foreground",children:"8-12 weeks"})]}),J.jsxs("div",{className:"flex items-center justify-between text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Investment:"}),J.jsx("span",{className:"font-medium text-foreground",children:"$50K-$150K"})]})]})]}),J.jsxs(aU,{className:"p-6 bg-surface/30 border-outline/30 hover:border-data-teal/40 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-teal/10 flex items-center justify-center mb-4",children:J.jsx(XC,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h4",{className:"text-lg font-bold text-foreground mb-1",children:"Scale-Up AI Companies"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Series B+"}),J.jsx("p",{className:"text-data-teal font-medium mb-3",children:"Formalize and scale security"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"You have basics but need to formalize. Enterprise customers want proof."}),J.jsxs("div",{className:"space-y-3 pt-4 border-t border-outline/30",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"We Provide"}),J.jsx("p",{className:"text-sm text-foreground",children:"Comprehensive security program, multiple frameworks, governance"})]}),J.jsxs("div",{className:"flex items-center justify-between text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Timeline:"}),J.jsx("span",{className:"font-medium text-foreground",children:"12-20 weeks"})]}),J.jsxs("div",{className:"flex items-center justify-between text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Investment:"}),J.jsx("span",{className:"font-medium text-foreground",children:"$100K-$300K"})]})]})]}),J.jsxs(aU,{className:"p-6 bg-surface/30 border-outline/30 hover:border-data-orange/40 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-orange/10 flex items-center justify-center mb-4",children:J.jsx(Rn,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h4",{className:"text-lg font-bold text-foreground mb-1",children:"Enterprise AI Teams"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Large Organizations"}),J.jsx("p",{className:"text-data-orange font-medium mb-3",children:"Govern AI at scale"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"You are deploying AI organization-wide. Governance is a board concern."}),J.jsxs("div",{className:"space-y-3 pt-4 border-t border-outline/30",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide mb-1",children:"We Provide"}),J.jsx("p",{className:"text-sm text-foreground",children:"AI governance programs, multi-framework compliance, continuous assurance"})]}),J.jsxs("div",{className:"flex items-center justify-between text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Timeline:"}),J.jsx("span",{className:"font-medium text-foreground",children:"16-24 weeks+"})]}),J.jsxs("div",{className:"flex items-center justify-between text-sm",children:[J.jsx("span",{className:"text-muted-foreground",children:"Investment:"}),J.jsx("span",{className:"font-medium text-foreground",children:"$200K-$500K+"})]})]})]})]})]}),J.jsxs("div",{className:"mb-12",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-6 flex items-center gap-3",children:[J.jsx(vf,{className:"w-5 h-5 text-data-teal"}),"By Industry"]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-4",children:[J.jsxs("div",{className:"p-4 bg-surface/50 rounded-lg border border-outline/30 hover:border-data-cyan/30 transition-colors",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(cg,{className:"w-5 h-5 text-data-cyan"}),J.jsx("h4",{className:"font-medium text-foreground",children:"Healthcare & Life Sciences"})]}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"HIPAA, PHI protection, clinical AI validation"})]}),J.jsxs("div",{className:"p-4 bg-surface/50 rounded-lg border border-outline/30 hover:border-data-teal/30 transition-colors",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(Rm,{className:"w-5 h-5 text-data-teal"}),J.jsx("h4",{className:"font-medium text-foreground",children:"Financial Services & FinTech"})]}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"SOC 2, PCI DSS, model explainability, fair lending"})]}),J.jsxs("div",{className:"p-4 bg-surface/50 rounded-lg border border-outline/30 hover:border-primary/30 transition-colors",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(sc,{className:"w-5 h-5 text-primary"}),J.jsx("h4",{className:"font-medium text-foreground",children:"SaaS & Technology"})]}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"SOC 2, ISO 27001, multi-tenant AI security"})]}),J.jsxs("div",{className:"p-4 bg-surface/50 rounded-lg border border-outline/30 hover:border-data-orange/30 transition-colors",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(iM,{className:"w-5 h-5 text-data-orange"}),J.jsx("h4",{className:"font-medium text-foreground",children:"Retail & E-Commerce"})]}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"PCI DSS, recommendation security, chatbot protection"})]})]})]}),J.jsxs("div",{children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-6 flex items-center gap-3",children:[J.jsx(GI,{className:"w-5 h-5 text-data-orange"}),"By Role"]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-4",children:[J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-outline/30",children:[J.jsx("h4",{className:"font-medium text-foreground mb-2",children:"CTOs & Engineering Leaders"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI security expertise is rare. We partner to build secure systems."})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-outline/30",children:[J.jsx("h4",{className:"font-medium text-foreground mb-2",children:"CISOs & Security Leaders"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Visibility and controls for AI—integrated with existing programs."})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-outline/30",children:[J.jsx("h4",{className:"font-medium text-foreground mb-2",children:"Founders & CEOs"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Fast compliance without building a security team."})]}),J.jsxs("div",{className:"p-4 bg-surface/30 rounded-lg border border-outline/30",children:[J.jsx("h4",{className:"font-medium text-foreground mb-2",children:"Compliance & Legal"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Programs that anticipate where regulations are heading."})]})]})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"ai-security-faq",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Questions About AI Security & Compliance"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Common questions from CTOs, CISOs, and founders evaluating AI security and compliance programs."})]}),J.jsxs(R$,{type:"multiple",defaultValue:["faq-1","faq-2","faq-3"],className:"space-y-4",children:[J.jsxs(O$,{value:"faq-1",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"How is AI security different from traditional cybersecurity?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Traditional cybersecurity protects networks, endpoints, and applications. AI security addresses unique attack vectors like prompt injection, model theft, data poisoning, and adversarial inputs. AI systems have different threat models—attacks that target how models learn, reason, and respond. We specialize in both domains."})]}),J.jsxs(O$,{value:"faq-2",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"Do I need SOC 2 if I am just an AI startup?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"If you are selling to enterprises or handling customer data, increasingly yes. 60% of companies are more likely to work with SOC 2 compliant vendors. 70% of VCs prefer SOC 2 compliant companies. It is not legally required for most, but it is required by your customers."})]}),J.jsxs(O$,{value:"faq-3",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"How long does SOC 2 certification take?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"With our approach, most organizations reach SOC 2 Type I audit-ready in 8-12 weeks. Type II requires an additional observation period (typically 3-6 months). Total timeline from start to Type II report is typically 6-9 months."})]}),J.jsxs(O$,{value:"faq-4",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What is the difference between SOC 2 Type I and Type II?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Type I assesses whether controls are designed properly at a point in time. Type II assesses whether controls operated effectively over a period (usually 6-12 months). Type II is more rigorous—most enterprise customers want Type II."})]}),J.jsxs(O$,{value:"faq-5",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"Can you help if we are already using Vanta, Drata, or similar platforms?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Yes. Those platforms automate evidence collection but do not implement security controls or secure AI systems. We complement automation platforms—we do the actual security work that the platforms monitor."})]}),J.jsxs(O$,{value:"faq-6",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"Do you perform the SOC 2 audit yourselves?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"No. SOC 2 audits must be performed by licensed CPA firms. We prepare you for the audit, coordinate with auditors, and provide support throughout. We can recommend auditors or work with your chosen firm."})]}),J.jsxs(O$,{value:"faq-7",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"How do you address AI-specific compliance requirements?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"We implement controls aligned with NIST AI RMF, ISO 42001, and OWASP Top 10 for LLMs. These address AI-specific risks like model governance, training data integrity, and AI incident response. We map these to your existing compliance frameworks."})]}),J.jsxs(O$,{value:"faq-8",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What is the cost of AI security and compliance services?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"AI security assessments start at $25K-$50K. SOC 2 implementation typically ranges from $75K-$200K. Comprehensive programs range from $150K-$400K+. We provide detailed estimates after discovery."})]}),J.jsxs(O$,{value:"faq-9",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"Can you help with HIPAA compliance for healthcare AI?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Yes. Healthcare AI has unique challenges—PHI in training data, model outputs, and clinical decision support. We implement HIPAA controls specifically designed for AI systems."})]}),J.jsxs(O$,{value:"faq-10",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What about the EU AI Act and other AI-specific regulations?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"We help organizations prepare for emerging AI regulations including the EU AI Act, state AI laws, and sector-specific requirements. Our governance programs are designed to be adaptable as regulations evolve."})]}),J.jsxs(O$,{value:"faq-11",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"How do you handle penetration testing for AI systems?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"We conduct AI-specific pen testing including prompt injection attacks, model extraction attempts, adversarial input testing, and API security testing. This goes beyond traditional pen testing."})]}),J.jsxs(O$,{value:"faq-12",className:"border border-outline/30 rounded-xl bg-background px-6 overflow-hidden",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What happens after we achieve compliance?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Compliance is continuous. We offer managed services for ongoing maintenance, security monitoring, annual audit support, and control updates as your systems evolve."})]})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"ai-security-testimonial",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs(aU,{className:"p-8 md:p-12 bg-gradient-to-br from-data-teal/5 to-surface/50 border-data-teal/20 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-6 left-6 text-data-teal/20",children:J.jsx("svg",{className:"w-16 h-16",fill:"currentColor",viewBox:"0 0 32 32",children:J.jsx("path",{d:"M10 8c-3.3 0-6 2.7-6 6v10h10V14H8c0-1.1.9-2 2-2V8zm12 0c-3.3 0-6 2.7-6 6v10h10V14h-6c0-1.1.9-2 2-2V8z"})})}),J.jsxs("div",{className:"relative z-10",children:[J.jsx("blockquote",{className:"text-xl md:text-2xl text-foreground font-medium leading-relaxed mb-8 text-center",children:'"We needed SOC 2 to close a Fortune 500 deal. Allerin got us audit-ready in 10 weeks—and found AI-specific vulnerabilities our previous security firm completely missed. We closed the deal and passed the audit on the first try."'}),J.jsxs("div",{className:"flex flex-col items-center gap-4",children:[J.jsx("div",{className:"w-16 h-16 rounded-full bg-data-teal/10 flex items-center justify-center",children:J.jsx(GI,{className:"w-8 h-8 text-data-teal"})}),J.jsxs("div",{className:"text-center",children:[J.jsx("p",{className:"font-semibold text-foreground",children:"VP of Engineering"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Series B AI Startup"})]})]}),J.jsx("div",{className:"mt-8 pt-8 border-t border-outline/30",children:J.jsxs("div",{className:"grid grid-cols-3 gap-4 text-center",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-2xl font-bold text-data-teal",children:"10 weeks"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"to audit-ready"})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-2xl font-bold text-ai-green",children:"First try"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"audit passed"})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-2xl font-bold text-primary",children:"$2.4M"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"deal closed"})]})]})})]})]}),J.jsx("div",{className:"mt-12 text-center",children:J.jsxs("div",{className:"inline-flex items-center gap-3 px-6 py-3 bg-surface/50 rounded-full border border-outline/30",children:[J.jsx(Gk,{className:"w-5 h-5 text-ai-green"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"We practice what we preach: Allerin maintains SOC 2 Type II certification"})]})})]})})}),"security-compliance"===s.slug&&J.jsx("section",{id:"ai-security-pricing",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-7xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Get Started with AI Security & Compliance"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:"Clear engagement options with transparent pricing. Choose the right starting point for your organization's security and compliance needs."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8",children:[J.jsxs(aU,{className:"relative p-6 bg-surface/50 border-outline/30 hover:border-data-teal/40 transition-all duration-300 flex flex-col",children:[J.jsx(hU,{className:"absolute top-4 right-4 bg-data-teal/10 text-data-teal border-0 text-xs",children:"START HERE"}),J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"AI Security Assessment"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Understanding your AI security posture and compliance gaps"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground",children:"$25,000 – $50,000"}),J.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-2 mt-1",children:[J.jsx(Ld,{className:"w-4 h-4"}),"2-3 weeks"]})]}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h4",{className:"text-sm font-medium text-foreground mb-3",children:"Deliverables:"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"AI system and model inventory"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Security vulnerability assessment"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Compliance gap analysis"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Risk-prioritized findings"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Remediation roadmap"]})]})]}),J.jsxs(oz,{className:"w-full mt-6 bg-data-teal hover:bg-data-teal/90 text-white",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","security_pricing_cta",{tier:"assessment"}),v(!0)},children:["Request Assessment",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]}),J.jsxs(aU,{className:"relative p-6 bg-gradient-to-b from-data-teal/5 to-surface/50 border-2 border-data-teal/40 hover:border-data-teal/60 transition-all duration-300 flex flex-col",children:[J.jsx(hU,{className:"absolute top-4 right-4 bg-data-teal text-white border-0 text-xs",children:"MOST POPULAR"}),J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Compliance Fast-Track"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Startups needing SOC 2 quickly to close deals"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground",children:"$75,000 – $150,000"}),J.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-2 mt-1",children:[J.jsx(Ld,{className:"w-4 h-4"}),"8-14 weeks to audit-ready"]})]}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h4",{className:"text-sm font-medium text-foreground mb-3",children:"Deliverables:"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Single framework implementation"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Policy and procedure library"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Evidence collection system"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Auditor coordination"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Audit support"]})]})]}),J.jsxs(oz,{className:"w-full mt-6 bg-data-teal hover:bg-data-teal/90 text-white",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","security_pricing_cta",{tier:"fast-track"}),v(!0)},children:["Start Fast-Track",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]}),J.jsxs(aU,{className:"relative p-6 bg-surface/50 border-outline/30 hover:border-data-teal/40 transition-all duration-300 flex flex-col",children:[J.jsx(hU,{className:"absolute top-4 right-4 bg-primary/10 text-primary border-0 text-xs",children:"COMPREHENSIVE"}),J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"AI Security & Compliance Program"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Security and multi-framework compliance"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground",children:"$150,000 – $350,000"}),J.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-2 mt-1",children:[J.jsx(Ld,{className:"w-4 h-4"}),"14-24 weeks"]})]}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h4",{className:"text-sm font-medium text-foreground mb-3",children:"Deliverables:"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"AI security implementation"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Multiple framework compliance"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Governance program"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Continuous monitoring"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Team training"]})]})]}),J.jsxs(oz,{className:"w-full mt-6 bg-data-teal hover:bg-data-teal/90 text-white",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","security_pricing_cta",{tier:"program"}),v(!0)},children:["Plan Your Program",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs(aU,{className:"relative p-6 bg-surface/50 border-outline/30 hover:border-data-teal/40 transition-all duration-300 flex flex-col",children:[J.jsx(hU,{className:"absolute top-4 right-4 bg-data-orange/10 text-data-orange border-0 text-xs",children:"ENTERPRISE"}),J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Enterprise AI Governance"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Enterprise-wide AI security and governance"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground",children:"$250,000 – $500,000+"}),J.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-2 mt-1",children:[J.jsx(Ld,{className:"w-4 h-4"}),"20-32 weeks"]})]})]}),J.jsxs("div",{className:"md:w-1/2",children:[J.jsx("h4",{className:"text-sm font-medium text-foreground mb-3",children:"Deliverables:"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Enterprise AI security program"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Multi-framework compliance"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Board-level governance"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Risk management program"]})]})]})]}),J.jsxs(oz,{className:"w-full md:w-auto mt-6 bg-data-teal hover:bg-data-teal/90 text-white",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","security_pricing_cta",{tier:"enterprise"}),v(!0)},children:["Discuss Enterprise",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]}),J.jsxs(aU,{className:"relative p-6 bg-gradient-to-b from-primary/5 to-surface/50 border-outline/30 hover:border-primary/40 transition-all duration-300 flex flex-col",children:[J.jsx(hU,{className:"absolute top-4 right-4 bg-primary/10 text-primary border-0 text-xs",children:"ONGOING"}),J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4",children:[J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Managed Security & Compliance"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Continuous compliance without internal overhead"}),J.jsxs("div",{className:"mb-4",children:[J.jsxs("div",{className:"text-2xl font-bold text-foreground",children:["$10,000 – $50,000",J.jsx("span",{className:"text-base font-normal text-muted-foreground",children:"/month"})]}),J.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-2 mt-1",children:[J.jsx(bw,{className:"w-4 h-4"}),"Ongoing engagement"]})]})]}),J.jsxs("div",{className:"md:w-1/2",children:[J.jsx("h4",{className:"text-sm font-medium text-foreground mb-3",children:"Includes:"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Continuous compliance monitoring"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Annual audit coordination"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Security control maintenance"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-ai-green mt-0.5 flex-shrink-0"}),"Incident response support"]})]})]})]}),J.jsxs(oz,{className:"w-full md:w-auto mt-6 bg-primary hover:bg-primary/90 text-primary-foreground",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","security_pricing_cta",{tier:"managed"}),v(!0)},children:["Explore Managed Services",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]})]})]})})}),"security-compliance"===s.slug&&J.jsxs("section",{id:"ai-security-final-cta",className:"py-24 bg-foreground relative overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 opacity-5",children:J.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")"}})}),J.jsx("div",{className:"container mx-auto px-6 relative z-10",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("div",{className:"w-16 h-16 mx-auto mb-8 rounded-2xl bg-data-teal/20 flex items-center justify-center",children:J.jsx(Xk,{className:"w-8 h-8 text-data-teal"})}),J.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-background mb-6 leading-tight",children:"Your AI Is Only as Trustworthy as Its Security"}),J.jsx("p",{className:"text-lg md:text-xl text-background/80 mb-8 max-w-3xl mx-auto leading-relaxed",children:"Every AI system you deploy processes customer data, makes business decisions, or interacts with users. A single breach does not just cost millions—it destroys the trust your AI was built to create."}),J.jsx("p",{className:"text-lg text-data-teal font-medium mb-10",children:"Compliance proves you tried. Security proves you succeeded."}),J.jsxs(oz,{size:"lg",className:"bg-data-teal hover:bg-data-teal/90 text-white text-lg px-10 py-6 h-auto shadow-lg shadow-data-teal/20",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","security_final_cta_click",{cta_type:"assessment"}),v(!0)},children:["Schedule AI Security Assessment",J.jsx(Ka,{className:"w-5 h-5 ml-2"})]}),J.jsx("p",{className:"text-sm text-background/60 mt-6 max-w-xl mx-auto",children:"30-minute consultation to discuss your AI systems, compliance requirements, and security concerns. No sales pitch—expert perspective on your situation."})]})})]}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"integration-differentiators",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-6",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"What Makes FastTrack Different"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl leading-relaxed",children:"FastTrack isn't just a name—it's a methodology built on everything we've learned about why integrations fail and how to prevent it."})]}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 mt-12",children:[J.jsx("div",{className:"group",children:J.jsxs(aU,{className:"h-full p-6 lg:p-8 bg-surface/50 border-outline/30 hover:border-data-teal/40 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-teal to-data-blue flex items-center justify-center flex-shrink-0",children:J.jsx(ZS,{className:"w-6 h-6 text-white"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Outcome-First Architecture"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-muted-foreground mb-2 flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive/70"}),"The Problem"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Most integration projects start with technology—which platform, which protocol. Six months later, systems are connected but business problems aren't solved."})]}),J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-data-teal mb-2 flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4"}),"Our Approach"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"We start with what you're trying to achieve. Unified customer view? Real-time inventory? AI-ready pipelines? The outcome shapes the architecture."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-medium text-data-blue mb-2 flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4"}),"Result"]}),J.jsx("p",{className:"text-foreground font-medium text-sm leading-relaxed",children:"Integration designed for how your business works. Every connection justified by value."})]})]})]})}),J.jsx("div",{className:"group",children:J.jsxs(aU,{className:"h-full p-6 lg:p-8 bg-surface/50 border-outline/30 hover:border-data-orange/40 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-orange to-data-amber flex items-center justify-center flex-shrink-0",children:J.jsx(Rw,{className:"w-6 h-6 text-white"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Pre-Built Accelerators"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-muted-foreground mb-2 flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive/70"}),"The Problem"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Every integration starts from scratch. Custom code for common patterns. Reinventing authentication, error handling, monitoring."})]}),J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-data-orange mb-2 flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4"}),"Our Approach"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"We maintain a library of proven accelerators—pre-built components for common patterns, platforms, and use cases."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-medium text-data-blue mb-2 flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4"}),"Result"]}),J.jsx("p",{className:"text-foreground font-medium text-sm leading-relaxed",children:"Weeks instead of months. Proven patterns. Less custom code = fewer bugs."})]})]})]})}),J.jsx("div",{className:"group",children:J.jsxs(aU,{className:"h-full p-6 lg:p-8 bg-surface/50 border-outline/30 hover:border-data-blue/40 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-blue to-data-teal flex items-center justify-center flex-shrink-0",children:J.jsx(jn,{className:"w-6 h-6 text-white"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"AI-Ready Integration"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-muted-foreground mb-2 flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive/70"}),"The Problem"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Most integrations connect systems for human consumption—screens and reports. But AI needs different patterns: streaming, bulk loads, feature stores."})]}),J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-data-blue mb-2 flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4"}),"Our Approach"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"We design integrations serving both human and AI consumers. Every pipeline considers downstream ML consumption."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-medium text-data-teal mb-2 flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4"}),"Result"]}),J.jsx("p",{className:"text-foreground font-medium text-sm leading-relaxed",children:"Integrations that enable AI, not block it. Single investment serves multiple purposes."})]})]})]})}),J.jsx("div",{className:"group",children:J.jsxs(aU,{className:"h-full p-6 lg:p-8 bg-surface/50 border-outline/30 hover:border-data-teal/40 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-teal to-data-orange flex items-center justify-center flex-shrink-0",children:J.jsx(bw,{className:"w-6 h-6 text-white"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Reversible, Incremental Delivery"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-muted-foreground mb-2 flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive/70"}),"The Problem"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Big bang approaches. All-or-nothing. Integrations so tightly coupled that fixing one thing breaks three others. No rollback."})]}),J.jsxs("div",{className:"pb-4 border-b border-outline/20",children:[J.jsxs("p",{className:"text-sm font-medium text-data-teal mb-2 flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4"}),"Our Approach"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"Every integration designed for reversibility. Every phase delivers working functionality. Adjust without starting over."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-medium text-data-blue mb-2 flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4"}),"Result"]}),J.jsx("p",{className:"text-foreground font-medium text-sm leading-relaxed",children:"Value at every milestone. Lower risk. Ability to learn and adapt."})]})]})]})})]})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"integration-patterns",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Right Architecture for Your Challenge"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"Different integration challenges require different approaches. We match the pattern to your requirements—not force your requirements into our preferred technology."})]}),J.jsxs(pQ,{defaultValue:"api-led",className:"w-full",children:[J.jsxs(gQ,{className:"flex flex-wrap justify-start gap-2 mb-8 bg-transparent h-auto p-0",children:[J.jsxs(fQ,{value:"api-led",className:"data-[state=active]:bg-data-blue data-[state=active]:text-white bg-surface border border-outline/30 rounded-lg px-4 py-2 text-sm font-medium transition-all",children:[J.jsx(Lk,{className:"w-4 h-4 mr-2"}),"API-Led"]}),J.jsxs(fQ,{value:"event-driven",className:"data-[state=active]:bg-data-orange data-[state=active]:text-white bg-surface border border-outline/30 rounded-lg px-4 py-2 text-sm font-medium transition-all",children:[J.jsx($P,{className:"w-4 h-4 mr-2"}),"Event-Driven"]}),J.jsxs(fQ,{value:"ipaas",className:"data-[state=active]:bg-data-teal data-[state=active]:text-white bg-surface border border-outline/30 rounded-lg px-4 py-2 text-sm font-medium transition-all",children:[J.jsx(sc,{className:"w-4 h-4 mr-2"}),"iPaaS"]}),J.jsxs(fQ,{value:"data-etl",className:"data-[state=active]:bg-data-blue data-[state=active]:text-white bg-surface border border-outline/30 rounded-lg px-4 py-2 text-sm font-medium transition-all",children:[J.jsx(om,{className:"w-4 h-4 mr-2"}),"Data/ETL"]}),J.jsxs(fQ,{value:"file-edi",className:"data-[state=active]:bg-data-amber data-[state=active]:text-white bg-surface border border-outline/30 rounded-lg px-4 py-2 text-sm font-medium transition-all",children:[J.jsx(ux,{className:"w-4 h-4 mr-2"}),"File/EDI"]}),J.jsxs(fQ,{value:"hybrid-custom",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground bg-surface border border-outline/30 rounded-lg px-4 py-2 text-sm font-medium transition-all",children:[J.jsx(oc,{className:"w-4 h-4 mr-2"}),"Hybrid/Custom"]})]}),J.jsx(yQ,{value:"api-led",className:"mt-0",children:J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-blue/30",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-blue to-data-teal flex items-center justify-center flex-shrink-0",children:J.jsx(Lk,{className:"w-7 h-7 text-white"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"API-Led Connectivity"}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsxs(hU,{variant:"outline",className:"bg-data-blue/10 text-data-blue border-data-blue/30",children:[J.jsx(Ld,{className:"w-3 h-3 mr-1"}),"6-12 weeks foundation"]})})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-blue mb-2 flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4"}),"Best For"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"Building reusable assets, composable architecture, partner integrations"})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(zk,{className:"w-4 h-4"}),"How It Works"]}),J.jsxs("p",{className:"text-muted-foreground text-sm leading-relaxed",children:["Three-layer architecture: ",J.jsx("span",{className:"text-foreground font-medium",children:"System APIs"})," (connect to systems), ",J.jsx("span",{className:"text-foreground font-medium",children:"Process APIs"})," (orchestrate logic), ",J.jsx("span",{className:"text-foreground font-medium",children:"Experience APIs"})," (serve applications)"]})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(vf,{className:"w-4 h-4"}),"Technologies"]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"MuleSoft Anypoint"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Kong"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"AWS API Gateway"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Azure API Management"})]})]})]})]})}),J.jsx(yQ,{value:"event-driven",className:"mt-0",children:J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-orange/30",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-orange to-data-amber flex items-center justify-center flex-shrink-0",children:J.jsx($P,{className:"w-7 h-7 text-white"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"Event-Driven Integration"}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsxs(hU,{variant:"outline",className:"bg-data-orange/10 text-data-orange border-data-orange/30",children:[J.jsx(Ld,{className:"w-3 h-3 mr-1"}),"4-8 weeks infrastructure"]})})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-orange mb-2 flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4"}),"Best For"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"Real-time sync, reactive systems, high-volume processing, microservices"})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(zk,{className:"w-4 h-4"}),"How It Works"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Systems publish events on changes. Others subscribe and react. Loose coupling through async messaging."})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(vf,{className:"w-4 h-4"}),"Technologies"]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Apache Kafka"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"AWS EventBridge"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Azure Service Bus"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"RabbitMQ"})]})]})]})]})}),J.jsx(yQ,{value:"ipaas",className:"mt-0",children:J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-teal/30",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-teal to-data-blue flex items-center justify-center flex-shrink-0",children:J.jsx(sc,{className:"w-7 h-7 text-white"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"iPaaS Integration"}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsxs(hU,{variant:"outline",className:"bg-data-teal/10 text-data-teal border-data-teal/30",children:[J.jsx(Ld,{className:"w-3 h-3 mr-1"}),"2-6 weeks for SaaS"]})})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-teal mb-2 flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4"}),"Best For"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"Connecting SaaS apps, enabling business users, rapid deployment"})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(zk,{className:"w-4 h-4"}),"How It Works"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Cloud platform with pre-built connectors, visual tools, managed infrastructure"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(vf,{className:"w-4 h-4"}),"Technologies"]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Boomi"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Workato"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"SnapLogic"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Informatica Cloud"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Celigo"})]})]})]})]})}),J.jsx(yQ,{value:"data-etl",className:"mt-0",children:J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-blue/30",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-blue to-primary flex items-center justify-center flex-shrink-0",children:J.jsx(om,{className:"w-7 h-7 text-white"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"Data Integration & ETL/ELT"}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsxs(hU,{variant:"outline",className:"bg-data-blue/10 text-data-blue border-data-blue/30",children:[J.jsx(Ld,{className:"w-3 h-3 mr-1"}),"4-10 weeks depending on complexity"]})})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-blue mb-2 flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4"}),"Best For"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"Analytics pipelines, warehousing, historical migration, batch processing"})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(zk,{className:"w-4 h-4"}),"How It Works"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Extract, Transform, Load. Modern ELT loads first, transforms in destination."})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(vf,{className:"w-4 h-4"}),"Technologies"]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Fivetran"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Airbyte"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"dbt"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"AWS Glue"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Azure Data Factory"})]})]})]})]})}),J.jsx(yQ,{value:"file-edi",className:"mt-0",children:J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-amber/30",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-amber to-data-orange flex items-center justify-center flex-shrink-0",children:J.jsx(ux,{className:"w-7 h-7 text-white"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"File-Based & EDI"}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsxs(hU,{variant:"outline",className:"bg-data-amber/10 text-data-amber border-data-amber/30",children:[J.jsx(Ld,{className:"w-3 h-3 mr-1"}),"4-8 weeks per partner"]})})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-amber mb-2 flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4"}),"Best For"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"B2B partners, legacy connectivity, regulatory reporting"})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(zk,{className:"w-4 h-4"}),"How It Works"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Structured file exchange. EDI standards (X12, EDIFACT) for supply chain, healthcare."})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(vf,{className:"w-4 h-4"}),"Technologies"]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"MuleSoft B2B"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Boomi EDI"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"IBM Sterling"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"SFTP"})]})]})]})]})}),J.jsx(yQ,{value:"hybrid-custom",className:"mt-0",children:J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-primary/30",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-primary to-data-blue flex items-center justify-center flex-shrink-0",children:J.jsx(oc,{className:"w-7 h-7 text-white"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-2",children:"Hybrid & Custom"}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsxs(hU,{variant:"outline",className:"bg-primary/10 text-primary border-primary/30",children:[J.jsx(Ld,{className:"w-3 h-3 mr-1"}),"8-16 weeks for complex custom"]})})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-primary mb-2 flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4"}),"Best For"]}),J.jsx("p",{className:"text-foreground text-sm leading-relaxed",children:"Complex enterprise, legacy modernization, unique requirements"})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-2 flex items-center gap-2",children:[J.jsx(zk,{className:"w-4 h-4"}),"How It Works"]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Custom development with modern frameworks. Microservices. Containerized. CI/CD automated."})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[J.jsx(vf,{className:"w-4 h-4"}),"Technologies"]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Python"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Node.js"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Java"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Kubernetes"}),J.jsx(hU,{variant:"secondary",className:"bg-surface",children:"Docker"})]})]})]})]})})]})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"platform-expertise",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"We Speak Your Systems"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"Integration isn't about learning one platform—it's about understanding dozens. We bring expertise across the enterprise software landscape."})]}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 mb-10",children:[J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-blue/30",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-blue to-data-teal flex items-center justify-center",children:J.jsx(sc,{className:"w-5 h-5 text-white"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"iPaaS Platforms"})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/50 border border-outline/20",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/30 flex-shrink-0",children:"MuleSoft"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Full implementation, migration, managed services"})]}),J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/50 border border-outline/20",children:[J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/30 flex-shrink-0",children:"Boomi"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Implementation, B2B/EDI, MDM"})]}),J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/50 border border-outline/20",children:[J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/30 flex-shrink-0",children:"Workato"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Recipe development, automation"})]}),J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/50 border border-outline/20",children:[J.jsx(hU,{className:"bg-primary/10 text-primary border-primary/30 flex-shrink-0",children:"SnapLogic"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Pipeline development, AI integration"})]}),J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/50 border border-outline/20",children:[J.jsx(hU,{className:"bg-data-amber/10 text-data-amber border-data-amber/30 flex-shrink-0",children:"Informatica"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Data integration, MDM, quality"})]}),J.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface/50 border border-outline/20",children:[J.jsx(hU,{className:"bg-destructive/10 text-destructive border-destructive/30 flex-shrink-0",children:"TIBCO"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Event-driven, messaging"})]})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-orange/30",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-orange to-data-amber flex items-center justify-center",children:J.jsx(qk,{className:"w-5 h-5 text-white"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Cloud Integration Services"})]}),J.jsxs("div",{className:"space-y-5",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx("div",{className:"w-6 h-6 rounded bg-[#FF9900]/20 flex items-center justify-center",children:J.jsx("span",{className:"text-xs font-bold text-[#FF9900]",children:"AWS"})}),J.jsx("span",{className:"font-semibold text-foreground text-sm",children:"Amazon Web Services"})]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5 pl-8",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"API Gateway"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"EventBridge"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Step Functions"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Lambda"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Glue"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"AppFlow"})]})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx("div",{className:"w-6 h-6 rounded bg-[#0078D4]/20 flex items-center justify-center",children:J.jsx("span",{className:"text-xs font-bold text-[#0078D4]",children:"Az"})}),J.jsx("span",{className:"font-semibold text-foreground text-sm",children:"Microsoft Azure"})]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5 pl-8",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"Logic Apps"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"API Management"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Service Bus"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Data Factory"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Functions"})]})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx("div",{className:"w-6 h-6 rounded bg-[#4285F4]/20 flex items-center justify-center",children:J.jsx("span",{className:"text-xs font-bold text-[#4285F4]",children:"GC"})}),J.jsx("span",{className:"font-semibold text-foreground text-sm",children:"Google Cloud"})]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5 pl-8",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"Cloud Functions"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Pub/Sub"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Dataflow"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Apigee"})]})]})]})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-teal/30 mb-10",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-teal to-data-blue flex items-center justify-center",children:J.jsx(Rn,{className:"w-5 h-5 text-white"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Enterprise Systems"})]}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-blue mb-3 flex items-center gap-2",children:[J.jsx(GI,{className:"w-4 h-4"}),"CRM"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Salesforce"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"HubSpot"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Dynamics"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Zoho"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-orange mb-3 flex items-center gap-2",children:[J.jsx(aj,{className:"w-4 h-4"}),"ERP"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"SAP S/4HANA"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Oracle Cloud"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"NetSuite"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Dynamics 365"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-teal mb-3 flex items-center gap-2",children:[J.jsx(GI,{className:"w-4 h-4"}),"HRIS"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Workday"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"SuccessFactors"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"BambooHR"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"ADP"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-amber mb-3 flex items-center gap-2",children:[J.jsx(Rm,{className:"w-4 h-4"}),"Finance"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"QuickBooks"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Xero"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Bill.com"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Stripe"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-primary mb-3 flex items-center gap-2",children:[J.jsx(iM,{className:"w-4 h-4"}),"E-Commerce"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Shopify"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"BigCommerce"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Magento"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"WooCommerce"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-destructive mb-3 flex items-center gap-2",children:[J.jsx(Mb,{className:"w-4 h-4"}),"Marketing"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Marketo"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Pardot"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"HubSpot"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Klaviyo"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-blue mb-3 flex items-center gap-2",children:[J.jsx(rg,{className:"w-4 h-4"}),"Service"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"ServiceNow"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Zendesk"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Freshdesk"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"Intercom"})]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-sm font-semibold text-data-teal mb-3 flex items-center gap-2",children:[J.jsx(om,{className:"w-4 h-4"}),"Databases"]}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"PostgreSQL"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"MySQL"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"SQL Server"}),J.jsx(hU,{variant:"secondary",className:"bg-surface text-xs",children:"MongoDB"})]})]})]})]}),J.jsx(aU,{className:"p-6 lg:p-8 bg-gradient-to-br from-surface/80 via-background to-data-amber/5 border-data-amber/40",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-amber to-data-orange flex items-center justify-center flex-shrink-0",children:J.jsx(Uc,{className:"w-6 h-6 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Legacy Systems"}),J.jsx("p",{className:"text-muted-foreground mb-5",children:"We don't shy away from the hard stuff. Our team has deep experience connecting modern applications to legacy infrastructure:"}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-3",children:[J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded-lg bg-background/60 border border-outline/20",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Mainframe (CICS, IMS, DB2)"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded-lg bg-background/60 border border-outline/20",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"AS/400 / IBM i"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded-lg bg-background/60 border border-outline/20",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"COBOL-based systems"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded-lg bg-background/60 border border-outline/20",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"On-premise ERP (SAP ECC, Oracle EBS)"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded-lg bg-background/60 border border-outline/20",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Custom legacy applications"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded-lg bg-background/60 border border-outline/20",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Flat file & batch processes"})]})]})]})]})})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"fasttrack-process",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"FastTrack Methodology: 4 Phases to Connected Systems"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"A proven process that delivers working integrations in weeks, not months. Each phase builds on the last, with working deliverables at every milestone."})]}),J.jsx("div",{className:"hidden md:block mb-12",children:J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute top-6 left-0 right-0 h-1 bg-outline/30 rounded-full"}),J.jsx("div",{className:"absolute top-6 left-0 w-full h-1 bg-gradient-to-r from-data-blue via-data-teal to-data-orange rounded-full",style:{width:"100%"}}),J.jsxs("div",{className:"relative flex justify-between",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-blue flex items-center justify-center text-white font-bold text-sm z-10",children:"1"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-2",children:"Week 1"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-blue/80 flex items-center justify-center text-white font-bold text-sm z-10",children:"2"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-2",children:"Week 3"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-teal flex items-center justify-center text-white font-bold text-sm z-10",children:"3"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-2",children:"Week 6"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-orange flex items-center justify-center text-white font-bold text-sm z-10",children:"4"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-2",children:"Week 10"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-r from-data-orange to-primary flex items-center justify-center text-white font-bold text-sm z-10",children:J.jsx(Rw,{className:"w-5 h-5"})}),J.jsx("span",{className:"text-xs text-muted-foreground mt-2",children:"Week 12"})]})]})]})}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-10",children:[J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-blue/30 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-data-blue to-data-blue/50"}),J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-blue to-data-teal flex items-center justify-center flex-shrink-0",children:J.jsx(Mk,{className:"w-6 h-6 text-white"})}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/30 text-xs",children:"Phase 1"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Weeks 1-2"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Discovery & Assessment"})]})]}),J.jsxs("div",{className:"space-y-3 mb-5",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Map current system landscape and data flows"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Document integration requirements and priorities"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Identify quick wins vs. complex integrations"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Define success metrics and business outcomes"})]})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-blue/5 border border-data-blue/20",children:[J.jsxs("p",{className:"text-xs font-semibold text-data-blue mb-2 flex items-center gap-1",children:[J.jsx(aj,{className:"w-3 h-3"}),"Deliverables"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Integration assessment, prioritized backlog, architecture recommendations, project roadmap"})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-teal/30 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-data-teal to-data-teal/50"}),J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-teal to-data-blue flex items-center justify-center flex-shrink-0",children:J.jsx(zh,{className:"w-6 h-6 text-white"})}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/30 text-xs",children:"Phase 2"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Weeks 2-4"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Architecture & Design"})]})]}),J.jsxs("div",{className:"space-y-3 mb-5",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Design integration architecture and patterns"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Select technology platforms and tools"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Define data models and transformations"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Establish security and compliance requirements"})]})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-teal/5 border border-data-teal/20",children:[J.jsxs("p",{className:"text-xs font-semibold text-data-teal mb-2 flex items-center gap-1",children:[J.jsx(aj,{className:"w-3 h-3"}),"Deliverables"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Architecture document, API specifications, data mapping, security controls"})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-data-orange/30 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-data-orange to-data-orange/50"}),J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-data-orange to-data-amber flex items-center justify-center flex-shrink-0",children:J.jsx(mc,{className:"w-6 h-6 text-white"})}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/30 text-xs",children:"Phase 3"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Weeks 4-10"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Build & Iterate"})]})]}),J.jsxs("div",{className:"space-y-3 mb-4",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Develop integrations in priority order"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Deploy using CI/CD pipelines"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Test with real data scenarios"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Iterate based on feedback"})]})]}),J.jsx("div",{className:"p-3 rounded-lg bg-data-amber/10 border border-data-amber/30 mb-4",children:J.jsxs("p",{className:"text-sm text-foreground font-medium flex items-center gap-2",children:[J.jsx(bw,{className:"w-4 h-4 text-data-amber"}),"2-week sprints with working deliverables. Integration by integration, not big bang."]})}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-orange/5 border border-data-orange/20",children:[J.jsxs("p",{className:"text-xs font-semibold text-data-orange mb-2 flex items-center gap-1",children:[J.jsx(aj,{className:"w-3 h-3"}),"Deliverables"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Working integrations (incremental), automated tests, monitoring, documentation"})]})]}),J.jsxs(aU,{className:"p-6 lg:p-8 bg-card border-primary/30 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-primary to-data-orange"}),J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-to-br from-primary to-data-blue flex items-center justify-center flex-shrink-0",children:J.jsx(Rw,{className:"w-6 h-6 text-white"})}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(hU,{className:"bg-primary/10 text-primary border-primary/30 text-xs",children:"Phase 4"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Weeks 8-12"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Optimize & Transition"})]})]}),J.jsxs("div",{className:"space-y-3 mb-5",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Performance tuning and optimization"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Comprehensive testing (load, security, failover)"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Knowledge transfer to your team"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Transition to ongoing support model"})]})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-primary/5 border border-primary/20",children:[J.jsxs("p",{className:"text-xs font-semibold text-primary mb-2 flex items-center gap-1",children:[J.jsx(aj,{className:"w-3 h-3"}),"Deliverables"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Optimized production integrations, complete documentation, trained team, support plan"})]})]})]}),J.jsx(aU,{className:"p-6 bg-gradient-to-r from-surface via-background to-data-teal/5 border-data-teal/30",children:J.jsxs("div",{className:"flex flex-col md:flex-row items-center justify-between gap-6",children:[J.jsxs("div",{className:"flex items-center gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-br from-data-teal to-data-blue flex items-center justify-center",children:J.jsx(rg,{className:"w-6 h-6 text-white"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Ongoing: Managed Services"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Continue with 24/7 monitoring, maintenance, and optimization after launch"})]})]}),J.jsxs(oz,{variant:"outline",className:"border-data-teal/30 hover:bg-data-teal/10",onClick:()=>v(!0),children:["Learn About Support Options",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]})})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"integration-use-cases",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Integration Challenges We Solve"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"See yourself in these scenarios? We have proven solutions for each."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"p-6 bg-card border-outline/30 hover:border-data-blue/40 transition-all group",children:[J.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-blue to-data-teal flex items-center justify-center flex-shrink-0",children:J.jsx(GI,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"flex items-center justify-between mb-1",children:J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Unified Customer View"})}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"6-10 weeks"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-destructive/80 mb-1 flex items-center gap-1",children:[J.jsx(eI,{className:"w-3 h-3"}),"Challenge"]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:["Customer data scattered across CRM, support, billing, marketing, e-commerce. Sales can","'","t see support history. Marketing doesn","'","t know purchase patterns."]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-data-teal mb-1 flex items-center gap-1",children:[J.jsx(Rl,{className:"w-3 h-3"}),"Solution"]}),J.jsx("p",{className:"text-sm text-foreground",children:"Real-time customer data integration with golden record management. Single API for unified profile."})]}),J.jsx("div",{className:"pt-3 border-t border-outline/20",children:J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 text-xs",children:"5+ systems unified"}),J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs",children:"60% faster lookup"}),J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 text-xs",children:"35% cross-sell ↑"})]})})]})]}),J.jsxs(aU,{className:"p-6 bg-card border-outline/30 hover:border-data-orange/40 transition-all group",children:[J.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-orange to-data-amber flex items-center justify-center flex-shrink-0",children:J.jsx(iM,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"flex items-center justify-between mb-1",children:J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"E-Commerce + ERP"})}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"8-12 weeks"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-destructive/80 mb-1 flex items-center gap-1",children:[J.jsx(eI,{className:"w-3 h-3"}),"Challenge"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Orders in Shopify, inventory in SAP, fulfillment in WMS. Manual entry causing delays. Inventory mismatches causing oversells."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-data-teal mb-1 flex items-center gap-1",children:[J.jsx(Rl,{className:"w-3 h-3"}),"Solution"]}),J.jsx("p",{className:"text-sm text-foreground",children:"Real-time order flow. Inventory sync. Automated fulfillment triggering."})]}),J.jsx("div",{className:"pt-3 border-t border-outline/20",children:J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 text-xs",children:"2 days → 2 hours"}),J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs",children:"99%+ accuracy"}),J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 text-xs",children:"0 manual entry"})]})})]})]}),J.jsxs(aU,{className:"p-6 bg-card border-outline/30 hover:border-data-teal/40 transition-all group",children:[J.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-teal to-data-blue flex items-center justify-center flex-shrink-0",children:J.jsx(jn,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"flex items-center justify-between mb-1",children:J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"AI/ML Data Pipeline"})}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"6-10 weeks"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-destructive/80 mb-1 flex items-center gap-1",children:[J.jsx(eI,{className:"w-3 h-3"}),"Challenge"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI team blocked by data access. Training data in production databases, marketing systems, third-party sources. No feature store."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-data-teal mb-1 flex items-center gap-1",children:[J.jsx(Rl,{className:"w-3 h-3"}),"Solution"]}),J.jsx("p",{className:"text-sm text-foreground",children:"Streaming pipelines feeding feature store. Historical backfill. Real-time inference access."})]}),J.jsx("div",{className:"pt-3 border-t border-outline/20",children:J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 text-xs",children:"+40% DS productivity"}),J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs",children:"-60% training time"}),J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 text-xs",children:"AI unblocked"})]})})]})]}),J.jsxs(aU,{className:"p-6 bg-card border-outline/30 hover:border-primary/40 transition-all group",children:[J.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-primary to-data-teal flex items-center justify-center flex-shrink-0",children:J.jsx(FP,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"flex items-center justify-between mb-1",children:J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Workflow Automation"})}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"4-8 weeks"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-destructive/80 mb-1 flex items-center gap-1",children:[J.jsx(eI,{className:"w-3 h-3"}),"Challenge"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Business processes spanning multiple systems require manual handoffs. Each handoff = delay + error."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-data-teal mb-1 flex items-center gap-1",children:[J.jsx(Rl,{className:"w-3 h-3"}),"Solution"]}),J.jsx("p",{className:"text-sm text-foreground",children:"Orchestrated workflows spanning all systems. Event-driven triggers. Automatic exception handling."})]}),J.jsx("div",{className:"pt-3 border-t border-outline/20",children:J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 text-xs",children:"-70% process time"}),J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs",children:"-85% manual work"}),J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 text-xs",children:"-90% errors"})]})})]})]}),J.jsxs(aU,{className:"p-6 bg-card border-outline/30 hover:border-data-amber/40 transition-all group",children:[J.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-amber to-data-orange flex items-center justify-center flex-shrink-0",children:J.jsx(Rn,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"flex items-center justify-between mb-1",children:J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"B2B Partner Integration"})}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"8-12 weeks"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-destructive/80 mb-1 flex items-center gap-1",children:[J.jsx(eI,{className:"w-3 h-3"}),"Challenge"]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Each partner = unique integration. EDI, API, flat files. New partner onboarding takes months."})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-data-teal mb-1 flex items-center gap-1",children:[J.jsx(Rl,{className:"w-3 h-3"}),"Solution"]}),J.jsx("p",{className:"text-sm text-foreground",children:"Partner platform with flexible adapters. Standardized internal, partner-specific external."})]}),J.jsx("div",{className:"pt-3 border-t border-outline/20",children:J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 text-xs",children:"Months → weeks"}),J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs",children:"-60% overhead"}),J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 text-xs",children:"-75% errors"})]})})]})]}),J.jsxs(aU,{className:"p-6 bg-card border-outline/30 hover:border-data-blue/40 transition-all group",children:[J.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-data-blue to-primary flex items-center justify-center flex-shrink-0",children:J.jsx(Uc,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("div",{className:"flex items-center justify-between mb-1",children:J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Legacy Modernization"})}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"6-12 weeks"})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-destructive/80 mb-1 flex items-center gap-1",children:[J.jsx(eI,{className:"w-3 h-3"}),"Challenge"]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:["Critical logic in 20-year-old mainframe. Can","'","t replace (too risky). Can","'","t integrate (no APIs). Blocking modernization."]})]}),J.jsxs("div",{children:[J.jsxs("p",{className:"text-xs font-semibold text-data-teal mb-1 flex items-center gap-1",children:[J.jsx(Rl,{className:"w-3 h-3"}),"Solution"]}),J.jsx("p",{className:"text-sm text-foreground",children:"API wrapper around legacy. Real-time access without modifying legacy. Gradual migration path."})]}),J.jsx("div",{className:"pt-3 border-t border-outline/20",children:J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 text-xs",children:"Modern APIs"}),J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs",children:"Unblocked"}),J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 text-xs",children:"Investment safe"})]})})]})]})]})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"integration-audience",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Integration Solutions by Role and Industry"}),J.jsxs("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:["Whether you","'","re leading technology strategy or waiting on data to ship features, we speak your language."]})]}),J.jsxs("div",{className:"mb-16",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-8 flex items-center gap-3",children:[J.jsx(GI,{className:"w-5 h-5 text-primary"}),"By Role"]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsx(aU,{className:"bg-card border border-outline/30 p-6 hover:border-primary/30 transition-all duration-300",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Xc,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"CTOs & Technical Leadership"}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["You","'","re responsible for technology strategy. Integration failures impact your credibility and team","'","s ability to execute."]}),J.jsxs("div",{className:"pt-3 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-semibold text-primary mb-1",children:"We Provide:"}),J.jsx("p",{className:"text-sm text-foreground",children:"Clear architecture recommendations, risk mitigation, measurable outcomes"})]})]})]})}),J.jsx(aU,{className:"bg-card border border-outline/30 p-6 hover:border-primary/30 transition-all duration-300",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-blue/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Rn,{className:"w-6 h-6 text-data-blue"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"IT Directors & Enterprise Architects"}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["You","'","re managing 897+ applications trying to create coherence from chaos. Every new system adds complexity."]}),J.jsxs("div",{className:"pt-3 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-semibold text-data-blue mb-1",children:"We Provide:"}),J.jsx("p",{className:"text-sm text-foreground",children:"Scalable architecture, governance frameworks, platform expertise"})]})]})]})}),J.jsx(aU,{className:"bg-card border border-outline/30 p-6 hover:border-primary/30 transition-all duration-300",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-teal/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Wo,{className:"w-6 h-6 text-data-teal"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"Product Managers & Business Owners"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"You need data from System A + System B to deliver features. You care about outcomes, not plumbing."}),J.jsxs("div",{className:"pt-3 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal mb-1",children:"We Provide:"}),J.jsx("p",{className:"text-sm text-foreground",children:"Business-focused delivery, fast timelines, outcome-oriented approach"})]})]})]})}),J.jsx(aU,{className:"bg-card border border-outline/30 p-6 hover:border-primary/30 transition-all duration-300",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(jn,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"AI/ML Team Leads"}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["You","'","re blocked by data access. The data exists but it","'","s trapped in systems designed for humans."]}),J.jsxs("div",{className:"pt-3 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-semibold text-data-orange mb-1",children:"We Provide:"}),J.jsx("p",{className:"text-sm text-foreground",children:"AI-ready pipelines, feature store integration, ML ops connectivity"})]})]})]})})]})]}),J.jsxs("div",{children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-8 flex items-center gap-3",children:[J.jsx(ph,{className:"w-5 h-5 text-primary"}),"By Industry"]}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-4",children:[J.jsxs("div",{className:"bg-surface/50 border border-outline/20 rounded-lg p-4 hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(cf,{className:"w-5 h-5 text-primary"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Financial Services"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Open banking, real-time payments, fraud detection, compliance"})]}),J.jsxs("div",{className:"bg-surface/50 border border-outline/20 rounded-lg p-4 hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(cg,{className:"w-5 h-5 text-data-blue"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Healthcare"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"EHR interoperability, HL7 FHIR, HIPAA-compliant patient data"})]}),J.jsxs("div",{className:"bg-surface/50 border border-outline/20 rounded-lg p-4 hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(iM,{className:"w-5 h-5 text-data-teal"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Retail & E-Commerce"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Omnichannel, inventory visibility, order management"})]}),J.jsxs("div",{className:"bg-surface/50 border border-outline/20 rounded-lg p-4 hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(sc,{className:"w-5 h-5 text-data-orange"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"SaaS & Technology"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Product integrations, embedded iPaaS, marketplace connectivity"})]}),J.jsxs("div",{className:"bg-surface/50 border border-outline/20 rounded-lg p-4 hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(ph,{className:"w-5 h-5 text-primary"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Manufacturing"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Industry 4.0, IoT integration, ERP connectivity"})]}),J.jsxs("div",{className:"bg-surface/50 border border-outline/20 rounded-lg p-4 hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx(An,{className:"w-5 h-5 text-data-blue"}),J.jsx("h4",{className:"font-semibold text-foreground",children:"Professional Services"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Client data unification, project system integration"})]})]})]})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"integration-pricing",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Get Started with Integration FastTrack"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"Clear engagement options for every integration need—from initial assessment to ongoing managed services."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs(aU,{className:"bg-card border border-outline/30 p-6 flex flex-col",children:[J.jsx("div",{className:"mb-4",children:J.jsx(hU,{className:"bg-primary/10 text-primary border-primary/20 text-xs font-semibold",children:"START HERE"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Integration Assessment"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Understanding your integration landscape and priorities"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("p",{className:"text-2xl font-bold text-foreground",children:"$15,000 – $35,000"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"2-3 weeks"})]}),J.jsxs("ul",{className:"space-y-2 mb-6 flex-1",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Current state assessment"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Integration opportunity analysis"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Prioritized roadmap"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Architecture recommendations"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Business case with ROI estimates"]})]}),J.jsxs(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:["Request Assessment ",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]}),J.jsxs(aU,{className:"bg-card border-2 border-primary p-6 flex flex-col relative shadow-lg shadow-primary/10",children:[J.jsx("div",{className:"mb-4",children:J.jsx(hU,{className:"bg-primary text-primary-foreground text-xs font-semibold",children:"MOST POPULAR"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"FastTrack Implementation"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Specific integration projects with defined scope"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("p",{className:"text-2xl font-bold text-foreground",children:"$50,000 – $200,000"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"6-12 weeks"})]}),J.jsxs("ul",{className:"space-y-2 mb-6 flex-1",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Working integrations (incremental)"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Technical documentation"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Testing and validation"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"Knowledge transfer"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),"30-day support"]})]}),J.jsxs(oz,{className:"w-full",onClick:()=>v(!0),children:["Discuss Your Project ",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]}),J.jsxs(aU,{className:"bg-card border border-outline/30 p-6 flex flex-col",children:[J.jsx("div",{className:"mb-4",children:J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 text-xs font-semibold",children:"ENTERPRISE"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Integration Transformation"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Enterprise-wide integration modernization"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("p",{className:"text-2xl font-bold text-foreground",children:"$200,000 – $750,000+"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"4-12 months"})]}),J.jsxs("ul",{className:"space-y-2 mb-6 flex-1",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),"Integration platform implementation"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),"Multiple system integrations"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),"API management setup"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),"Governance framework"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),"Team training and enablement"]})]}),J.jsxs(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:["Plan Transformation ",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]}),J.jsxs(aU,{className:"bg-card border border-outline/30 p-6 flex flex-col",children:[J.jsx("div",{className:"mb-4",children:J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 text-xs font-semibold",children:"ONGOING"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Managed Services"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Integration operations without internal overhead"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("p",{className:"text-2xl font-bold text-foreground",children:"$15,000 – $75,000"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"per month"})]}),J.jsxs("ul",{className:"space-y-2 mb-6 flex-1",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"24/7 monitoring and alerting"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Incident response and resolution"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Change management and evolution"]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Capacity planning and optimization"]})]}),J.jsxs(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:["Explore Managed Services ",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]})]})]}),J.jsx("div",{className:"mt-8 text-center",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:["Investment varies based on scope, complexity, and platform requirements.",J.jsx("span",{className:"text-foreground font-medium",children:" Schedule a discovery call for a detailed estimate."})]})})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{id:"integration-faq",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Questions About Integration FastTrack"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Answers to the questions we hear most often from integration teams and technology leaders."})]}),J.jsxs(R$,{type:"multiple",defaultValue:["faq-1","faq-2","faq-3"],className:"space-y-4",children:[J.jsxs(O$,{value:"faq-1",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"How long does a typical integration project take?"}),J.jsxs(q$,{className:"text-muted-foreground pb-5",children:["Simple SaaS-to-SaaS integrations: 2-4 weeks. Standard enterprise integrations: 6-10 weeks. Complex multi-system: 10-16 weeks. Our methodology delivers value incrementally, so you","'","re not waiting months for first results."]})]}),J.jsxs(O$,{value:"faq-2",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"Why do 70% of integration projects fail?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Common causes: underestimating complexity, inadequate testing, big bang approaches, technology-first design, insufficient planning. Our methodology specifically addresses each of these failure modes with incremental delivery and proven patterns."})]}),J.jsxs(O$,{value:"faq-3",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"What platforms and technologies do you work with?"}),J.jsxs(q$,{className:"text-muted-foreground pb-5",children:["We","'","re platform-agnostic. Deep expertise in MuleSoft, Boomi, Workato, and other iPaaS platforms; AWS, Azure, and GCP integration services; major enterprise systems like Salesforce, SAP, Oracle, NetSuite; and custom development."]})]}),J.jsxs(O$,{value:"faq-4",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"Can you integrate with our legacy systems?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Yes. We regularly integrate mainframes, AS/400, COBOL systems, and custom legacy applications. Wrapping legacy with modern APIs is often the first modernization step."})]}),J.jsxs(O$,{value:"faq-5",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"How do you handle data security and compliance?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Security is built in. We implement encryption, role-based access, audit logging, and controls for GDPR, HIPAA, SOC 2, PCI-DSS. We work within your frameworks or recommend improvements."})]}),J.jsxs(O$,{value:"faq-6",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"What happens after the integration is built?"}),J.jsxs(q$,{className:"text-muted-foreground pb-5",children:["We provide documentation, knowledge transfer, and training. You can manage internally, or we offer managed services for ongoing operation. Your choice—we don","'","t create dependency."]})]}),J.jsxs(O$,{value:"faq-7",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"How is FastTrack different from hiring an iPaaS platform directly?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Platforms are tools; expertise solves problems. We bring implementation experience across dozens of platforms and hundreds of integrations. We know which patterns work and provide platform-agnostic recommendations."})]}),J.jsxs(O$,{value:"faq-8",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"Can you work with our existing integration team?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Absolutely. We frequently augment internal teams, accelerate delivery, or handle complex integrations while your team manages simpler ones. We also provide training to build capabilities."})]}),J.jsxs(O$,{value:"faq-9",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"What does integration cost?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Varies by complexity. Simple: $25K-$50K. Standard enterprise: $75K-$200K. Complex transformation: $200K-$500K+. Detailed estimates after discovery."})]}),J.jsxs(O$,{value:"faq-10",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"How do you handle changing requirements?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Our incremental approach expects change. Frequent working deliverables mean we adapt as we learn. Much higher success rates than big bang methods."})]}),J.jsxs(O$,{value:"faq-11",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsxs(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:["We","'","ve had integration projects fail before. Why would this be different?"]}),J.jsxs(q$,{className:"text-muted-foreground pb-5",children:["Previous failures often result from factors we specifically address. We","'","d understand what went wrong and ensure our approach addresses those issues."]})]}),J.jsxs(O$,{value:"faq-12",className:"bg-card rounded-lg border border-outline/30 px-6",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:"How do you support AI and machine learning initiatives?"}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Integration is often the AI blocker. We design for both human and AI consumers: streaming for inference, batch for training, feature stores for reusability, versioning for reproducibility."})]})]}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How long does a typical integration project take?",acceptedAnswer:{"@type":"Answer",text:"Simple SaaS-to-SaaS integrations: 2-4 weeks. Standard enterprise integrations: 6-10 weeks. Complex multi-system: 10-16 weeks. Our methodology delivers value incrementally, so you're not waiting months for first results."}},{"@type":"Question",name:"Why do 70% of integration projects fail?",acceptedAnswer:{"@type":"Answer",text:"Common causes: underestimating complexity, inadequate testing, big bang approaches, technology-first design, insufficient planning. Our methodology specifically addresses each of these failure modes with incremental delivery and proven patterns."}},{"@type":"Question",name:"What platforms and technologies do you work with?",acceptedAnswer:{"@type":"Answer",text:"We're platform-agnostic. Deep expertise in MuleSoft, Boomi, Workato, and other iPaaS platforms; AWS, Azure, and GCP integration services; major enterprise systems like Salesforce, SAP, Oracle, NetSuite; and custom development."}},{"@type":"Question",name:"Can you integrate with our legacy systems?",acceptedAnswer:{"@type":"Answer",text:"Yes. We regularly integrate mainframes, AS/400, COBOL systems, and custom legacy applications. Wrapping legacy with modern APIs is often the first modernization step."}},{"@type":"Question",name:"How do you handle data security and compliance?",acceptedAnswer:{"@type":"Answer",text:"Security is built in. We implement encryption, role-based access, audit logging, and controls for GDPR, HIPAA, SOC 2, PCI-DSS. We work within your frameworks or recommend improvements."}},{"@type":"Question",name:"What happens after the integration is built?",acceptedAnswer:{"@type":"Answer",text:"We provide documentation, knowledge transfer, and training. You can manage internally, or we offer managed services for ongoing operation. Your choice—we don't create dependency."}},{"@type":"Question",name:"How is FastTrack different from hiring an iPaaS platform directly?",acceptedAnswer:{"@type":"Answer",text:"Platforms are tools; expertise solves problems. We bring implementation experience across dozens of platforms and hundreds of integrations. We know which patterns work and provide platform-agnostic recommendations."}},{"@type":"Question",name:"Can you work with our existing integration team?",acceptedAnswer:{"@type":"Answer",text:"Absolutely. We frequently augment internal teams, accelerate delivery, or handle complex integrations while your team manages simpler ones. We also provide training to build capabilities."}},{"@type":"Question",name:"What does integration cost?",acceptedAnswer:{"@type":"Answer",text:"Varies by complexity. Simple: $25K-$50K. Standard enterprise: $75K-$200K. Complex transformation: $200K-$500K+. Detailed estimates after discovery."}},{"@type":"Question",name:"How do you handle changing requirements?",acceptedAnswer:{"@type":"Answer",text:"Our incremental approach expects change. Frequent working deliverables mean we adapt as we learn. Much higher success rates than big bang methods."}},{"@type":"Question",name:"We've had integration projects fail before. Why would this be different?",acceptedAnswer:{"@type":"Answer",text:"Previous failures often result from factors we specifically address. We'd understand what went wrong and ensure our approach addresses those issues."}},{"@type":"Question",name:"How do you support AI and machine learning initiatives?",acceptedAnswer:{"@type":"Answer",text:"Integration is often the AI blocker. We design for both human and AI consumers: streaming for inference, batch for training, feature stores for reusability, versioning for reproducibility."}}]})}})]})})}),"integration-fasttrack"===s.slug&&J.jsxs("section",{id:"integration-final-cta",className:"py-24 bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 relative overflow-hidden",children:[J.jsxs("div",{className:"absolute inset-0 opacity-10",children:[J.jsx("div",{className:"absolute top-0 left-0 w-72 h-72 bg-primary rounded-full blur-3xl"}),J.jsx("div",{className:"absolute bottom-0 right-0 w-96 h-96 bg-data-blue rounded-full blur-3xl"})]}),J.jsx("div",{className:"container mx-auto px-6 relative z-10",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-white mb-6 leading-tight",children:"Stop Letting Disconnected Systems Hold Your Business Back"}),J.jsxs("p",{className:"text-lg md:text-xl text-slate-300 mb-10 leading-relaxed max-w-3xl mx-auto",children:["Your data is your competitive advantage—but only if you can access and use it. Every day with disconnected systems is another day of lost productivity, missed insights, and blocked initiatives. ","Let's"," talk about what connected systems could enable for your business."]}),J.jsxs(oz,{size:"lg",className:"bg-primary hover:bg-primary/90 text-primary-foreground px-10 py-6 text-lg font-semibold shadow-xl shadow-primary/30 hover:shadow-2xl hover:shadow-primary/40 transition-all duration-300",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","integration_final_cta_click",{event_category:"CTA",event_label:"Integration FastTrack Final CTA"}),v(!0)},children:["Schedule Integration Consultation ",J.jsx(Ka,{className:"w-5 h-5 ml-2"})]}),J.jsx("p",{className:"text-sm text-slate-400 mt-6 max-w-lg mx-auto",children:"Free 30-minute consultation to discuss your integration challenges and opportunities. No sales pitch—just expert perspective on your situation."}),J.jsxs("div",{className:"mt-16 pt-12 border-t border-slate-700/50",children:[J.jsx("p",{className:"text-sm font-medium text-slate-400 uppercase tracking-wider mb-8",children:"Expertise Across Leading Platforms"}),J.jsxs("div",{className:"flex flex-wrap justify-center items-center gap-8 md:gap-12",children:[J.jsxs("div",{className:"flex items-center gap-2 text-slate-400 hover:text-slate-200 transition-colors",children:[J.jsx(Pv,{className:"w-6 h-6"}),J.jsx("span",{className:"text-sm font-medium",children:"MuleSoft"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-slate-400 hover:text-slate-200 transition-colors",children:[J.jsx(sc,{className:"w-6 h-6"}),J.jsx("span",{className:"text-sm font-medium",children:"Boomi"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-slate-400 hover:text-slate-200 transition-colors",children:[J.jsx(FP,{className:"w-6 h-6"}),J.jsx("span",{className:"text-sm font-medium",children:"Workato"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-slate-400 hover:text-slate-200 transition-colors",children:[J.jsx(qk,{className:"w-6 h-6"}),J.jsx("span",{className:"text-sm font-medium",children:"AWS"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-slate-400 hover:text-slate-200 transition-colors",children:[J.jsx(om,{className:"w-6 h-6"}),J.jsx("span",{className:"text-sm font-medium",children:"Azure"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-slate-400 hover:text-slate-200 transition-colors",children:[J.jsx(bp,{className:"w-6 h-6"}),J.jsx("span",{className:"text-sm font-medium",children:"GCP"})]})]})]})]})})]}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-problems",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Expensive Mistake Most Founders Make"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"The startup graveyard is filled with well-funded companies that built impressive products nobody wanted. The pattern is painfully predictable:"})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(ZS,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground pt-2",children:"The Assumption Trap"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"You have an idea you believe in. Your team believes in it. Maybe even early investors believe in it. But belief isn't validation. Without testing your assumptions against real users and real market conditions, you're gambling with time and capital you can't afford to lose."})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx(vf,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground pt-2",children:"The Feature Creep Spiral"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:'You start with a clear vision, then add "just one more feature" to make it perfect. Six months later, you\'ve built a complex product and spent $200K—only to discover users wanted something simpler. Or something completely different.'})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(oc,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground pt-2",children:"The Technical Fantasy"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Your concept sounds great in pitch decks, but can it actually be built with your timeline and budget? Many founders discover technical limitations after they've already committed resources. A feasibility assessment upfront prevents expensive surprises."})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10",children:J.jsx(Rm,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground pt-2",children:"The Funding Fumble"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:'Investors have seen too many "great ideas" fail. They want evidence. Walking into a pitch with just slides and enthusiasm isn\'t enough anymore. A working prototype with user validation data changes the conversation from "trust me" to "look at this."'})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-destructive/10",children:J.jsx(bw,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground pt-2",children:"The Pivot Paralysis"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"The longer you build without validation, the harder it becomes to change direction. Sunk cost fallacy kicks in. Teams get attached to solutions. By the time you realize you're building the wrong thing, you've burned through months or years of runway."})]})]}),J.jsxs("div",{className:"bg-gradient-to-br from-data-orange/10 via-background to-data-teal/10 rounded-xl p-8 border border-data-orange/20",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-6",children:"The Numbers Don't Lie:"}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs("div",{className:"text-center sm:text-left",children:[J.jsx("div",{className:"text-3xl md:text-4xl font-bold text-data-orange mb-2",children:"42%"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"of startups fail because there's no market need"})]}),J.jsxs("div",{className:"text-center sm:text-left",children:[J.jsx("div",{className:"text-3xl md:text-4xl font-bold text-data-orange mb-2",children:"29%"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"run out of cash—often spent building the wrong thing"})]}),J.jsxs("div",{className:"text-center sm:text-left",children:[J.jsx("div",{className:"text-3xl md:text-4xl font-bold text-data-orange mb-2",children:"70%+"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"of premature scaling leads to failure"})]}),J.jsxs("div",{className:"text-center sm:text-left",children:[J.jsx("div",{className:"text-3xl md:text-4xl font-bold text-data-orange mb-2",children:"$1.3M"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"average burn before a failed startup shuts down"})]})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-what-is",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"text-left mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Rapid Prototyping: From Idea to Validated Concept in Weeks, Not Months"})}),J.jsxs("div",{className:"bg-gradient-to-br from-primary/5 via-background to-data-teal/5 rounded-xl p-8 border-l-4 border-primary mb-16",children:[J.jsx("p",{className:"text-lg text-foreground leading-relaxed mb-4",children:"Rapid prototyping is a structured approach to validating product ideas before committing to full-scale development. Instead of spending 6-12 months building a complete product, you create a working prototype that lets you test your core assumptions with real users."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"The goal isn't to build a perfect product. It's to learn whether your idea is worth building at all—and if so, exactly what to build."})]}),J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-8",children:"What You Get"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-16",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(TM,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground pt-2",children:"A Working Prototype"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Not wireframes. Not mockups. A clickable, interactive prototype that looks and feels like a real product. Users can tap buttons, navigate screens, and experience the core functionality. This isn't a sketch of your vision—it's a tangible representation users can actually test."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(GI,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground pt-2",children:"Real User Research"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"We don't guess what users want. We ask them. Through structured interviews, usability testing, and feedback sessions, we uncover what resonates, what confuses, and what's missing. You'll hear directly from your target market—not filtered through assumptions."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10",children:J.jsx(zk,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground pt-2",children:"Technical Feasibility Assessment"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Can your idea actually be built? What technologies make sense? Where are the technical risks? Our engineering team evaluates architecture, integration requirements, scalability considerations, and potential blockers before you commit to development."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-green-500/10",children:J.jsx(Rl,{className:"w-6 h-6 text-green-500"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground pt-2",children:"A Clear Go/No-Go Decision"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"This is the outcome that matters most. Based on user feedback, technical assessment, and market signals, you'll have the evidence to decide: move forward with confidence, pivot to a better approach, or kill the project before it wastes more resources."})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsx("div",{className:"p-6 border-b border-outline/30",children:J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"What We Build vs. What Others Offer"})}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs("table",{className:"w-full",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"bg-muted/30",children:[J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"Prototype Type"}),J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"What It Is"}),J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"Validation Power"}),J.jsx("th",{className:"text-left p-4 text-sm font-semibold text-foreground",children:"Our Approach"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-t border-outline/20",children:[J.jsx("td",{className:"p-4 text-sm font-medium text-foreground",children:"Wireframes"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Basic layout sketches"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Low - users can't interact"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Starting point only"})]}),J.jsxs("tr",{className:"border-t border-outline/20",children:[J.jsx("td",{className:"p-4 text-sm font-medium text-foreground",children:"Static Mockups"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Visual designs without interaction"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Medium - shows look, not feel"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Intermediate step"})]}),J.jsxs("tr",{className:"border-t border-outline/20 bg-primary/5",children:[J.jsx("td",{className:"p-4 text-sm font-bold text-primary",children:"Clickable Prototype"}),J.jsx("td",{className:"p-4 text-sm text-foreground",children:"Interactive screens with navigation"}),J.jsx("td",{className:"p-4 text-sm text-foreground font-medium",children:"High - users experience the flow"}),J.jsxs("td",{className:"p-4 text-sm font-bold text-primary flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4"})," Our deliverable"]})]}),J.jsxs("tr",{className:"border-t border-outline/20",children:[J.jsx("td",{className:"p-4 text-sm font-medium text-foreground",children:"Functional Prototype"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Working code with real data"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Very High - users test real functionality"}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:"Available for complex validations"})]})]})]})})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-process",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-8",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The 2-3 Week Validation Sprint"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"Our rapid prototyping process is designed for speed without sacrificing rigor. Every exercise, every deliverable, every decision point exists because it accelerates learning and reduces risk."})]}),J.jsxs("div",{className:"space-y-8",children:[J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsxs("div",{className:"flex items-center gap-4 p-6 border-b border-outline/20 bg-primary/5",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-full bg-primary flex items-center justify-center",children:J.jsx(yc,{className:"w-6 h-6 text-primary-foreground"})}),J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Days 1-3"}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Discovery & Alignment"})]})})]}),J.jsxs("div",{className:"p-6 space-y-6",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"What Happens"}),J.jsx("p",{className:"text-muted-foreground",children:"We immerse ourselves in your vision, your market, and your assumptions. This isn't a requirements gathering exercise—it's an assumption mapping session."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"Key Activities"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Stakeholder interviews to understand the vision and success criteria"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Assumption mapping to identify what must be true for success"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Target user profiling to define who we're validating with"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Competitive landscape review to understand market context"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Risk identification to prioritize what to test"})]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Deliverable"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Validation Plan documenting key assumptions, target users, success metrics, and testing approach"})]}),J.jsxs("div",{className:"bg-primary/5 rounded-lg p-4 border-l-2 border-primary",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Why It Matters"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Most validation efforts fail because they test the wrong things. This phase ensures we're focused on the assumptions that will make or break your product."})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsxs("div",{className:"flex items-center gap-4 p-6 border-b border-outline/20 bg-data-teal/5",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-full bg-data-teal flex items-center justify-center",children:J.jsx(GI,{className:"w-6 h-6 text-white"})}),J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Days 3-7"}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"User Research"})]})})]}),J.jsxs("div",{className:"p-6 space-y-6",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"What Happens"}),J.jsx("p",{className:"text-muted-foreground",children:"We talk to real users in your target market. Not friends. Not family. Not people who will tell you what you want to hear. Real potential customers who will give honest feedback."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"Key Activities"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Recruiting 8-12 participants matching your target user profile"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Conducting structured interviews to understand pain points and needs"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Exploring current solutions and workarounds"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Testing initial concepts and value propositions"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Identifying language users actually use (for marketing and UX)"})]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Deliverable"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Research Synthesis with key insights, user quotes, and validated/invalidated assumptions"})]}),J.jsxs("div",{className:"bg-data-teal/5 rounded-lg p-4 border-l-2 border-data-teal",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Why It Matters"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"User research at this stage prevents the most expensive mistake in product development: building something users don't actually want."})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsxs("div",{className:"flex items-center gap-4 p-6 border-b border-outline/20 bg-data-blue/5",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-full bg-data-blue flex items-center justify-center",children:J.jsx(zj,{className:"w-6 h-6 text-white"})}),J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Days 5-12"}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Prototype Development"})]})})]}),J.jsxs("div",{className:"p-6 space-y-6",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"What Happens"}),J.jsx("p",{className:"text-muted-foreground",children:"Based on research insights, we design and build an interactive prototype that embodies your validated value proposition. This happens in parallel with late-stage user research."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"Key Activities"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Information architecture and user flow design"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"UI/UX design aligned with user expectations"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Interactive prototype development in Figma/prototyping tools"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Internal testing and refinement"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Preparation for user testing sessions"})]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Deliverable"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Clickable Prototype ready for user validation"})]}),J.jsxs("div",{className:"bg-data-blue/5 rounded-lg p-4 border-l-2 border-data-blue",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Why It Matters"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"A picture is worth a thousand words. A prototype is worth a thousand pictures. Users can interact with something tangible, revealing insights that interviews alone can't surface."})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsxs("div",{className:"flex items-center gap-4 p-6 border-b border-outline/20 bg-data-orange/5",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-full bg-data-orange flex items-center justify-center",children:J.jsx(jk,{className:"w-6 h-6 text-white"})}),J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Days 10-14"}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Validation Testing"})]})})]}),J.jsxs("div",{className:"p-6 space-y-6",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"What Happens"}),J.jsx("p",{className:"text-muted-foreground",children:"We put the prototype in front of users and watch what happens. This is where assumptions meet reality."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"Key Activities"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Moderated usability testing sessions with target users"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Task completion tracking and friction point identification"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Concept validation and value proposition testing"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Pricing and willingness-to-pay exploration (when relevant)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Competitive comparison reactions"})]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Deliverable"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Validation Report with test results, user feedback synthesis, and recommendations"})]}),J.jsxs("div",{className:"bg-data-orange/5 rounded-lg p-4 border-l-2 border-data-orange",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Why It Matters"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"This is the moment of truth. Users either validate your concept or reveal the gaps. Either outcome is valuable—but only if you get it before building."})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsxs("div",{className:"flex items-center gap-4 p-6 border-b border-outline/20 bg-purple-500/5",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-full bg-purple-500 flex items-center justify-center",children:J.jsx(zk,{className:"w-6 h-6 text-white"})}),J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Parallel Track"}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Technical Assessment"})]})})]}),J.jsxs("div",{className:"p-6 space-y-6",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"What Happens"}),J.jsx("p",{className:"text-muted-foreground",children:"While design and testing proceed, our engineering team evaluates the technical feasibility and requirements for building the real product."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"Key Activities"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Architecture options analysis"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Technology stack recommendations"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Integration requirements identification"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Scalability considerations"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Security and compliance review (when relevant)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Development effort estimation"})]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Deliverable"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Technical Feasibility Report with architecture recommendations, risk assessment, and development roadmap"})]}),J.jsxs("div",{className:"bg-purple-500/5 rounded-lg p-4 border-l-2 border-purple-500",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Why It Matters"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"A validated concept that can't be built affordably isn't valuable. Technical assessment ensures you understand not just if users want it, but if you can actually deliver it."})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsxs("div",{className:"flex items-center gap-4 p-6 border-b border-outline/20 bg-green-500/5",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-full bg-green-500 flex items-center justify-center",children:J.jsx(Lx,{className:"w-6 h-6 text-white"})}),J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Days 12-15"}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Decision & Roadmap"})]})})]}),J.jsxs("div",{className:"p-6 space-y-6",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"What Happens"}),J.jsx("p",{className:"text-muted-foreground",children:"We synthesize everything—user research, validation testing, technical assessment—into a clear recommendation and actionable next steps."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-3",children:"Key Activities"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Findings synthesis across all workstreams"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Go/no-go recommendation with supporting evidence"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Development roadmap (if go decision)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Pivot recommendations (if adjustments needed)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-green-500 mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Kill criteria discussion (if fundamental issues identified)"})]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Deliverable"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Executive Summary with decision recommendation, supporting evidence, and detailed next steps"})]}),J.jsxs("div",{className:"bg-green-500/5 rounded-lg p-4 border-l-2 border-green-500",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Why It Matters"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"The entire sprint leads to this: a defensible decision backed by evidence. Whether you proceed, pivot, or pause—you'll know why."})]})]})]})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-deliverables",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"text-left mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Your Complete Validation Package"})}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(TM,{className:"w-5 h-5 text-primary"})}),J.jsx("span",{className:"text-xs font-medium text-muted-foreground bg-muted px-2 py-1 rounded",children:"01"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Interactive Prototype"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"A clickable, high-fidelity prototype you can share with stakeholders, investors, and potential customers. Includes all core screens and user flows. Delivered in Figma with export options."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(ux,{className:"w-5 h-5 text-data-teal"})}),J.jsx("span",{className:"text-xs font-medium text-muted-foreground bg-muted px-2 py-1 rounded",children:"02"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"User Research Report"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Comprehensive synthesis of user interviews and research findings. Includes verbatim quotes, insight themes, validated/invalidated assumptions, and user personas refined by actual data."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(pd,{className:"w-5 h-5 text-data-orange"})}),J.jsx("span",{className:"text-xs font-medium text-muted-foreground bg-muted px-2 py-1 rounded",children:"03"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Validation Test Results"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Detailed documentation of usability testing outcomes. Task completion rates, friction points identified, user sentiment analysis, and specific recommendations for addressing issues."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-blue/10 flex items-center justify-center",children:J.jsx(zk,{className:"w-5 h-5 text-data-blue"})}),J.jsx("span",{className:"text-xs font-medium text-muted-foreground bg-muted px-2 py-1 rounded",children:"04"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Technical Feasibility Assessment"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Engineering evaluation of your concept including recommended architecture, technology stack, integration considerations, scalability analysis, and risk identification with mitigation strategies."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-purple-500/10 flex items-center justify-center",children:J.jsx(ep,{className:"w-5 h-5 text-purple-500"})}),J.jsx("span",{className:"text-xs font-medium text-muted-foreground bg-muted px-2 py-1 rounded",children:"05"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Development Roadmap"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"If proceeding, a detailed roadmap for MVP development. Includes feature prioritization, development phases, timeline estimates, resource requirements, and budget ranges."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-green-500/10 flex items-center justify-center",children:J.jsx(ZS,{className:"w-5 h-5 text-green-500"})}),J.jsx("span",{className:"text-xs font-medium text-muted-foreground bg-muted px-2 py-1 rounded",children:"06"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Go/No-Go Recommendation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Executive summary with clear recommendation, supporting evidence, and confidence level. If pivoting, includes alternative directions to explore. If proceeding, includes immediate next steps."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft md:col-span-2 lg:col-span-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-muted flex items-center justify-center",children:J.jsx(pn,{className:"w-5 h-5 text-foreground"})}),J.jsx("span",{className:"text-xs font-medium text-muted-foreground bg-muted px-2 py-1 rounded",children:"07"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"All Source Materials"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Raw research recordings (with permission), design files, research notes, and technical documentation. Everything you need for internal review or to continue with another team."})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-use-cases",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"text-left mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"When Rapid Prototyping Makes Sense"})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"use-case-1",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Ef,{className:"w-5 h-5 text-primary"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Startup Idea Validation"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"The Situation"}),J.jsx("p",{className:"text-muted-foreground",children:"You have a startup idea and initial funding or bootstrapped resources. You could spend 6+ months building an MVP, or you could validate first."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"What We Do"}),J.jsx("p",{className:"text-muted-foreground",children:"Compress months of assumption-making into 2-3 weeks of evidence gathering. Test whether your target market actually wants what you're planning to build."})]}),J.jsxs("div",{className:"bg-primary/5 rounded-lg p-4 border-l-2 border-primary",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"The Outcome"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Go forward with validated confidence, pivot to a better approach, or save your capital for an idea with better market fit."})]})]})})]}),J.jsxs(O$,{value:"use-case-2",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(ZC,{className:"w-5 h-5 text-data-teal rotate-180"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Pre-Seed/Seed Fundraising Prep"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"The Situation"}),J.jsx("p",{className:"text-muted-foreground",children:"You're preparing to raise funding but investors keep asking for traction or validation evidence. Slides and enthusiasm aren't cutting it anymore."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"What We Do"}),J.jsx("p",{className:"text-muted-foreground",children:'Create a working prototype and collect user validation data that demonstrates market demand. Transform your pitch from "trust me" to "look at the evidence."'})]}),J.jsxs("div",{className:"bg-data-teal/5 rounded-lg p-4 border-l-2 border-data-teal",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"The Outcome"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Walk into investor meetings with a tangible product and research backing your market thesis."})]})]})})]}),J.jsxs(O$,{value:"use-case-3",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-blue/10 flex items-center justify-center",children:J.jsx(_N,{className:"w-5 h-5 text-data-blue"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"New Feature Validation"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"The Situation"}),J.jsx("p",{className:"text-muted-foreground",children:'Your product team has ideas for major new features, but internal debate is endless. Building and launching to "see what happens" is expensive and risky.'})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"What We Do"}),J.jsx("p",{className:"text-muted-foreground",children:"Prototype the feature and test it with your existing users or target market. Get evidence before committing engineering resources."})]}),J.jsxs("div",{className:"bg-data-blue/5 rounded-lg p-4 border-l-2 border-data-blue",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"The Outcome"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Prioritize features based on validated user demand, not loudest internal voice."})]})]})})]}),J.jsxs(O$,{value:"use-case-4",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(Rn,{className:"w-5 h-5 text-data-orange"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Enterprise Innovation Projects"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"The Situation"}),J.jsx("p",{className:"text-muted-foreground",children:"Corporate innovation team has identified an opportunity, but getting budget requires evidence. Internal stakeholders are skeptical of unvalidated concepts."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"What We Do"}),J.jsx("p",{className:"text-muted-foreground",children:"Rapidly prototype the concept and gather external validation. Create the business case evidence that internal sponsors need."})]}),J.jsxs("div",{className:"bg-data-orange/5 rounded-lg p-4 border-l-2 border-data-orange",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"The Outcome"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Present leadership with validated concept, user evidence, and realistic development roadmap."})]})]})})]}),J.jsxs(O$,{value:"use-case-5",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-purple-500/10 flex items-center justify-center",children:J.jsx(GI,{className:"w-5 h-5 text-purple-500"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Non-Technical Founder Validation"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"The Situation"}),J.jsx("p",{className:"text-muted-foreground",children:"You have deep domain expertise and a compelling product vision, but no technical background. You're not sure if your idea is technically feasible or how to communicate it to developers."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"What We Do"}),J.jsx("p",{className:"text-muted-foreground",children:"Translate your vision into a working prototype while assessing technical feasibility. Give you something tangible to show technical co-founders or development partners."})]}),J.jsxs("div",{className:"bg-purple-500/5 rounded-lg p-4 border-l-2 border-purple-500",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"The Outcome"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"A validated prototype, technical roadmap, and the vocabulary to have informed conversations about building your product."})]})]})})]}),J.jsxs(O$,{value:"use-case-6",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-green-500/10 flex items-center justify-center",children:J.jsx(bw,{className:"w-5 h-5 text-green-500"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Pivot Validation"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"The Situation"}),J.jsx("p",{className:"text-muted-foreground",children:"Your current product isn't gaining traction. You have hypotheses about what might work better, but pivoting without validation led you here in the first place."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-2",children:"What We Do"}),J.jsx("p",{className:"text-muted-foreground",children:"Test pivot hypotheses quickly with prototypes and user research. Validate the new direction before committing resources."})]}),J.jsxs("div",{className:"bg-green-500/5 rounded-lg p-4 border-l-2 border-green-500",children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"The Outcome"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Evidence-backed pivot decision or confirmation that you should explore different directions."})]})]})})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-audience",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("div",{className:"text-left mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Is Rapid Prototyping Right for You?"})}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft flex flex-col",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Rw,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Startup Founders"})]}),J.jsxs("div",{className:"space-y-4 flex-1",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Your Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Limited runway, unlimited uncertainty. Every dollar and week spent on unvalidated assumptions is risk you can't afford."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"How We Help"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Compress months of guessing into weeks of knowing. Get evidence that your idea has market fit—or save your resources for something that does."})]})]}),J.jsxs("div",{className:"mt-4 pt-4 border-t border-outline/20",children:[J.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Best For"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Pre-seed to Series A"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"First-time founders"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Repeat founders"})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft flex flex-col",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(pd,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Product Managers"})]}),J.jsxs("div",{className:"space-y-4 flex-1",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Your Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Stakeholders want new features, engineering capacity is limited, and building the wrong thing damages credibility. You need evidence to prioritize effectively."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"How We Help"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Validate feature concepts before they enter the development queue. Give your team confidence that they're building what users actually want."})]})]}),J.jsxs("div",{className:"mt-4 pt-4 border-t border-outline/20",children:[J.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Best For"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Startup PMs"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Product leaders"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Backlog overflow"})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft flex flex-col",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-blue/10 flex items-center justify-center",children:J.jsx(GI,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Non-Technical Founders"})]}),J.jsxs("div",{className:"space-y-4 flex-1",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Your Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"You have domain expertise and a compelling vision, but the technical world is unfamiliar. You're not sure what's possible, what it costs, or how to evaluate development partners."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"How We Help"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Translate your vision into something tangible. Assess technical feasibility in plain language. Prepare you to have informed conversations with technical partners."})]})]}),J.jsxs("div",{className:"mt-4 pt-4 border-t border-outline/20",children:[J.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Best For"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Domain experts"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Consultants"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Industry veterans"})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft flex flex-col",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(Ef,{className:"w-5 h-5 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Innovation Teams"})]}),J.jsxs("div",{className:"space-y-4 flex-1",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Your Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:'Corporate politics require evidence before budget approval. "Build it and see" isn\'t an option in risk-averse organizations.'})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"How We Help"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Generate the external validation evidence that internal sponsors need. Create professional deliverables suitable for executive review."})]})]}),J.jsxs("div",{className:"mt-4 pt-4 border-t border-outline/20",children:[J.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Best For"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Innovation labs"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Intrapreneurs"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"R&D teams"})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft flex flex-col md:col-span-2 lg:col-span-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-purple-500/10 flex items-center justify-center",children:J.jsx(oc,{className:"w-5 h-5 text-purple-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Technical Leaders"})]}),J.jsxs("div",{className:"space-y-4 flex-1",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Your Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"You can build anything, but should you? Engineering time is your most precious resource. Committing to unvalidated concepts wastes it."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"How We Help"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Provide the user validation layer your technical expertise needs. Ensure you're building the right thing, not just building things right."})]})]}),J.jsxs("div",{className:"mt-4 pt-4 border-t border-outline/20",children:[J.jsx("h4",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Best For"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"CTOs"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Engineering leads"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Technical co-founders"})]})]})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-faq",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("div",{className:"text-left mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Questions We Hear Often"})}),J.jsx(iz,{children:J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What's the difference between rapid prototyping and MVP development?",acceptedAnswer:{"@type":"Answer",text:"Rapid prototyping is about validation—testing whether your idea has merit before building. An MVP is actual product development with minimal features. Think of rapid prototyping as the step before you commit to building an MVP. It helps you validate that the MVP is worth building in the first place."}},{"@type":"Question",name:"How is this different from a design sprint?",acceptedAnswer:{"@type":"Answer",text:"A design sprint (popularized by Google Ventures) is a 5-day process focused on solving a specific design challenge. Our rapid prototyping sprint is broader—it includes design sprint elements but adds user research, technical feasibility assessment, and explicit go/no-go decision framing. Design sprints produce prototypes. We produce validated decisions."}},{"@type":"Question",name:"What if the validation shows my idea won't work?",acceptedAnswer:{"@type":"Answer",text:"Then we've saved you months of development time and potentially hundreds of thousands of dollars. A 'no' is actually one of the most valuable outcomes—it redirects your resources to something with better odds. We also provide pivot recommendations based on what we learn."}},{"@type":"Question",name:"Can I use the prototype to raise funding?",acceptedAnswer:{"@type":"Answer",text:"Absolutely. The prototype is designed to be shareable with investors, advisors, and potential customers. Combined with the validation data, it transforms your fundraising conversation from abstract pitch to concrete evidence."}},{"@type":"Question",name:"What if I already have wireframes or designs?",acceptedAnswer:{"@type":"Answer",text:"Great—we can work with what you have. If existing designs are validated by research, we'll build on them. If they're based on assumptions, we might recommend testing them before investing in higher fidelity."}},{"@type":"Question",name:"How do you recruit users for research and testing?",acceptedAnswer:{"@type":"Answer",text:"We use a combination of methods depending on your target market: screened panels for consumer products, LinkedIn/professional networks for B2B, and your existing contacts when appropriate. We handle recruitment unless you have specific participants in mind."}},{"@type":"Question",name:"What happens after the sprint?",acceptedAnswer:{"@type":"Answer",text:"You have several options. If validated, we can continue into MVP development. You can take the deliverables to another development partner. Or you can use the technical assessment to build internally. The deliverables are yours regardless of next steps."}},{"@type":"Question",name:"What industries do you work with?",acceptedAnswer:{"@type":"Answer",text:"We work across sectors including SaaS/software, fintech, healthcare technology, marketplace businesses, enterprise applications, and consumer products. The validation methodology applies regardless of industry—the specifics adapt to your context."}},{"@type":"Question",name:"Do you sign NDAs?",acceptedAnswer:{"@type":"Answer",text:"Yes. We sign NDAs as standard practice and keep all project information confidential. Many of our clients are pre-launch startups or corporate innovation projects where confidentiality is essential."}},{"@type":"Question",name:"What's the typical investment for a rapid prototyping sprint?",acceptedAnswer:{"@type":"Answer",text:"Most engagements fall in the $25,000-$75,000 range depending on complexity, prototype fidelity required, and research scope. We provide detailed scoping after an initial conversation about your specific needs."}},{"@type":"Question",name:"Can you work with remote teams?",acceptedAnswer:{"@type":"Answer",text:"Absolutely. Our process is designed for remote collaboration. We've worked with founders across time zones. Key sessions are scheduled to accommodate your availability, and async communication handles the rest."}},{"@type":"Question",name:"What's your success rate?",acceptedAnswer:{"@type":"Answer",text:"Defining 'success' is nuanced. About 60-70% of projects we validate proceed to development. The other 30-40% either pivot (which is a success—early redirection) or decide not to proceed (also a success—saved resources). The only failure is building the wrong thing."}}]})})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-3",children:[J.jsxs(O$,{value:"faq-1",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What's the difference between rapid prototyping and MVP development?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"Rapid prototyping is about validation—testing whether your idea has merit before building. An MVP is actual product development with minimal features. Think of rapid prototyping as the step before you commit to building an MVP. It helps you validate that the MVP is worth building in the first place."})]}),J.jsxs(O$,{value:"faq-2",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"How is this different from a design sprint?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"A design sprint (popularized by Google Ventures) is a 5-day process focused on solving a specific design challenge. Our rapid prototyping sprint is broader—it includes design sprint elements but adds user research, technical feasibility assessment, and explicit go/no-go decision framing. Design sprints produce prototypes. We produce validated decisions."})]}),J.jsxs(O$,{value:"faq-3",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What if the validation shows my idea won't work?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:'Then we\'ve saved you months of development time and potentially hundreds of thousands of dollars. A "no" is actually one of the most valuable outcomes—it redirects your resources to something with better odds. We also provide pivot recommendations based on what we learn.'})]}),J.jsxs(O$,{value:"faq-4",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"Can I use the prototype to raise funding?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"Absolutely. The prototype is designed to be shareable with investors, advisors, and potential customers. Combined with the validation data, it transforms your fundraising conversation from abstract pitch to concrete evidence."})]}),J.jsxs(O$,{value:"faq-5",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What if I already have wireframes or designs?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"Great—we can work with what you have. If existing designs are validated by research, we'll build on them. If they're based on assumptions, we might recommend testing them before investing in higher fidelity."})]}),J.jsxs(O$,{value:"faq-6",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"How do you recruit users for research and testing?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"We use a combination of methods depending on your target market: screened panels for consumer products, LinkedIn/professional networks for B2B, and your existing contacts when appropriate. We handle recruitment unless you have specific participants in mind."})]}),J.jsxs(O$,{value:"faq-7",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What happens after the sprint?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"You have several options. If validated, we can continue into MVP development. You can take the deliverables to another development partner. Or you can use the technical assessment to build internally. The deliverables are yours regardless of next steps."})]}),J.jsxs(O$,{value:"faq-8",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What industries do you work with?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"We work across sectors including SaaS/software, fintech, healthcare technology, marketplace businesses, enterprise applications, and consumer products. The validation methodology applies regardless of industry—the specifics adapt to your context."})]}),J.jsxs(O$,{value:"faq-9",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"Do you sign NDAs?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"Yes. We sign NDAs as standard practice and keep all project information confidential. Many of our clients are pre-launch startups or corporate innovation projects where confidentiality is essential."})]}),J.jsxs(O$,{value:"faq-10",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What's the typical investment for a rapid prototyping sprint?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"Most engagements fall in the $25,000-$75,000 range depending on complexity, prototype fidelity required, and research scope. We provide detailed scoping after an initial conversation about your specific needs."})]}),J.jsxs(O$,{value:"faq-11",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"Can you work with remote teams?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:"Absolutely. Our process is designed for remote collaboration. We've worked with founders across time zones. Key sessions are scheduled to accommodate your availability, and async communication handles the rest."})]}),J.jsxs(O$,{value:"faq-12",className:"bg-card rounded-xl border border-outline/30 px-6",children:[J.jsx(D$,{className:"py-5 hover:no-underline text-left",children:J.jsx("span",{className:"font-medium text-foreground",children:"What's your success rate?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground",children:'Defining "success" is nuanced. About 60-70% of projects we validate proceed to development. The other 30-40% either pivot (which is a success—early redirection) or decide not to proceed (also a success—saved resources). The only failure is building the wrong thing.'})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-technology",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"text-left mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Tools & Technologies We Use"})}),J.jsxs("div",{className:"grid gap-8",children:[J.jsxs("div",{className:"bg-card border border-outline/30 rounded-2xl p-8",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(vf,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Prototyping Platforms"})]}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"We select tools based on your specific needs—balancing fidelity, speed, and what you'll use after the sprint:"}),J.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#F24E1E]/10 flex items-center justify-center flex-shrink-0",children:J.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"#F24E1E",children:[J.jsx("path",{d:"M5.5 8C5.5 6.067 7.067 4.5 9 4.5H12V11.5H9C7.067 11.5 5.5 9.933 5.5 8Z"}),J.jsx("path",{d:"M12 4.5H15C16.933 4.5 18.5 6.067 18.5 8C18.5 9.933 16.933 11.5 15 11.5H12V4.5Z"}),J.jsx("path",{d:"M18.5 16C18.5 17.933 16.933 19.5 15 19.5C13.067 19.5 11.5 17.933 11.5 16C11.5 14.067 13.067 12.5 15 12.5C16.933 12.5 18.5 14.067 18.5 16Z"}),J.jsx("path",{d:"M5.5 16C5.5 14.067 7.067 12.5 9 12.5H12V16C12 17.933 10.433 19.5 8.5 19.5C6.567 19.5 5.5 17.933 5.5 16Z"}),J.jsx("path",{d:"M5.5 8C5.5 6.067 7.067 4.5 9 4.5H12V11.5H9C7.067 11.5 5.5 9.933 5.5 8Z",opacity:"0.5"})]})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground",children:"Figma"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Our primary platform for interactive prototypes. Powerful, collaborative, and industry standard."})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#0055FF]/10 flex items-center justify-center flex-shrink-0",children:J.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"#0055FF",children:J.jsx("path",{d:"M4 2h16a2 2 0 012 2v16a2 2 0 01-2 2H4a2 2 0 01-2-2V4a2 2 0 012-2zm8 4l-6 6 6 6V8z"})})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground",children:"Framer"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"For more complex interactions and near-functional prototypes."})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#4353FF]/10 flex items-center justify-center flex-shrink-0",children:J.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"#4353FF",children:J.jsx("path",{d:"M21 2H3v20h18V2zM7 18V6h5v12H7zm7-6h3v6h-3v-6z"})})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground",children:"Webflow"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"When web-based prototypes need to look and feel production-ready."})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#3E4C59]/10 flex items-center justify-center flex-shrink-0",children:J.jsx(om,{className:"w-4 h-4 text-[#3E4C59]"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground",children:"Bubble / Glide"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"For functional prototypes that need real data interactions."})]})]})]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-2xl p-8",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(Mk,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Research Methods"})]}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"Different questions require different approaches:"}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-4",children:[J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(Mb,{className:"w-5 h-5 text-data-teal flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Structured Interviews"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Deep qualitative insights from target users"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(nv,{className:"w-5 h-5 text-data-teal flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Usability Testing"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Moderated sessions observing users interact with prototypes"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(Ef,{className:"w-5 h-5 text-data-teal flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Concept Testing"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Validating value propositions before detailed design"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(pd,{className:"w-5 h-5 text-data-teal flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Surveys"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Quantitative validation when sample size matters"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(Wo,{className:"w-5 h-5 text-data-teal flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Analytics Integration"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"When testing with live prototypes"})]})]})]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-2xl p-8",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(zk,{className:"w-5 h-5 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Technical Assessment"})]}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"Our engineering team evaluates feasibility across:"}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-4",children:[J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(ep,{className:"w-5 h-5 text-data-orange flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Architecture Options"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Monolith vs microservices, build vs buy decisions"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(oc,{className:"w-5 h-5 text-data-orange flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Technology Stacks"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Frontend, backend, mobile, infrastructure recommendations"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(_f,{className:"w-5 h-5 text-data-orange flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Integration Requirements"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"APIs, third-party services, data sources"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(XC,{className:"w-5 h-5 text-data-orange flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Scalability Considerations"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Performance requirements and growth implications"})]})]}),J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-xl",children:[J.jsx(Xk,{className:"w-5 h-5 text-data-orange flex-shrink-0 mt-0.5"}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Security & Compliance"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Relevant regulatory and security requirements"})]})]})]})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsx("section",{id:"rapid-prototyping-investment",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("div",{className:"text-left mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Investment & Engagement Options"})}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-16",children:[J.jsxs("div",{className:"bg-card border border-outline/30 rounded-2xl p-8 flex flex-col",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Validation Sprint"}),J.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"$25,000-$45,000"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"2-3 weeks"})]}),J.jsx("div",{className:"text-sm font-medium text-primary mb-4",children:"Best For: Early-stage concept validation"}),J.jsxs("div",{className:"space-y-3 mb-8 flex-1",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Discovery and assumption mapping"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"User research (8-10 participants)"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Clickable prototype (core flows)"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Usability testing (5-8 sessions)"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Technical feasibility overview"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Go/no-go recommendation"})]})]}),J.jsxs("div",{className:"bg-surface/50 rounded-lg p-3 text-xs text-muted-foreground mb-6",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best for:"})," Pre-seed startups, early concept validation, limited scope testing"]}),J.jsx(oz,{className:"w-full",variant:"outline",onClick:()=>v(!0),children:"Schedule Consultation"})]}),J.jsxs("div",{className:"bg-card border-2 border-primary rounded-2xl p-8 flex flex-col relative",children:[J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-semibold px-3 py-1 rounded-full",children:"Most Popular"}),J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Comprehensive Validation"}),J.jsx("div",{className:"text-3xl font-bold text-primary mb-1",children:"$45,000-$75,000"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"3-4 weeks"})]}),J.jsx("div",{className:"text-sm font-medium text-primary mb-4",children:"Best For: Investor-ready validation"}),J.jsxs("div",{className:"space-y-3 mb-8 flex-1",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Everything in Validation Sprint, plus:"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Extended user research (12-15 participants)"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Higher fidelity prototype"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Detailed technical architecture assessment"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Development roadmap with estimates"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Investor-ready documentation"})]})]}),J.jsxs("div",{className:"bg-primary/5 rounded-lg p-3 text-xs text-muted-foreground mb-6",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best for:"})," Seed-stage startups, fundraising preparation, complex product concepts"]}),J.jsx(oz,{className:"w-full",onClick:()=>v(!0),children:"Get Started"})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-2xl p-8 flex flex-col",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Custom Engagements"}),J.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"Starting at $75,000"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"4+ weeks"})]}),J.jsx("div",{className:"text-sm font-medium text-primary mb-4",children:"Best For: Enterprise or multi-product validation"}),J.jsxs("div",{className:"space-y-3 mb-8 flex-1",children:[J.jsx("div",{className:"text-sm font-medium text-foreground mb-2",children:"For complex requirements:"}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Multiple concepts to validate"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Enterprise integration considerations"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Extensive compliance/security review"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Functional prototype requirements"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(el,{className:"w-4 h-4 text-green-500 flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Extended stakeholder alignment"})]})]}),J.jsxs("div",{className:"bg-surface/50 rounded-lg p-3 text-xs text-muted-foreground mb-6",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best for:"})," Corporate innovation, enterprise product launches, platform concepts"]}),J.jsx(oz,{className:"w-full",variant:"outline",onClick:()=>v(!0),children:"Discuss Requirements"})]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-2xl p-8",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"What Affects Investment"}),J.jsxs("div",{className:"grid sm:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(vf,{className:"w-4 h-4 text-primary"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Prototype complexity"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Number of screens, interaction depth, fidelity level"})]})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-data-teal/10 flex items-center justify-center flex-shrink-0",children:J.jsx(GI,{className:"w-4 h-4 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Research scope"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Number of participants, geographic distribution, recruitment difficulty"})]})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(zk,{className:"w-4 h-4 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Technical depth"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Architecture complexity, integration requirements, compliance needs"})]})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"w-8 h-8 rounded-lg bg-data-blue/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Ld,{className:"w-4 h-4 text-data-blue"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground text-sm",children:"Timeline"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Compressed timelines require additional resources"})]})]})]})]})]})})}),"rapid-prototyping"===s.slug&&J.jsxs("section",{id:"rapid-prototyping-final-cta",className:"py-24 bg-gradient-to-br from-primary via-primary to-primary/90 relative overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 opacity-10",children:J.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255,255,255,0.1) 0%, transparent 50%), radial-gradient(circle at 40% 80%, rgba(255,255,255,0.1) 0%, transparent 50%)"}})}),J.jsx("div",{className:"container mx-auto px-6 relative z-10",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-8",children:"Stop Guessing. Start Validating."}),J.jsxs("div",{className:"space-y-4 text-lg text-white/90 leading-relaxed mb-10",children:[J.jsx("p",{children:"Every week you spend building without validation is a week of risk. Every dollar spent on assumptions is a dollar that might be wasted."}),J.jsx("p",{children:"Get a working prototype, real user feedback, and a clear decision in 2-3 weeks. Whether you proceed, pivot, or pause—you'll know why."})]}),J.jsxs(oz,{size:"lg",className:"min-h-[56px] px-10 text-lg bg-white text-primary hover:bg-white/90 font-semibold shadow-xl hover:shadow-2xl hover:scale-105 transition-all duration-300 mb-8",onClick:()=>{v(!0),"undefined"!=typeof window&&window.gtag&&window.gtag("event","rapid_prototyping_final_cta",{event_category:"engagement",event_label:"validate_idea_click"})},children:["Validate Your Idea",J.jsx(Ka,{className:"ml-2 w-5 h-5"})]}),J.jsxs("div",{className:"text-white/80 text-sm",children:[J.jsx("p",{className:"mb-2",children:"Have questions about whether rapid prototyping is right for your situation?"}),J.jsxs("button",{onClick:()=>{v(!0),"undefined"!=typeof window&&window.gtag&&window.gtag("event","rapid_prototyping_consultation_cta",{event_category:"engagement",event_label:"consultation_click"})},className:"text-white font-medium hover:underline inline-flex items-center gap-1",children:["Schedule a 30-Minute Consultation",J.jsx(Ka,{className:"w-4 h-4"})]})]})]})})]}),"ai-orchestration"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsxs("div",{className:"text-center mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"AI Costs Are Spiraling. And Nobody Knows Why."}),J.jsxs("div",{className:"max-w-3xl mx-auto space-y-4 text-lg text-muted-foreground leading-relaxed",children:[J.jsx("p",{children:"Your AI spending last month surprised you. This month will be worse. Enterprises are discovering an uncomfortable truth: the same flexibility that makes AI powerful also makes it expensive and unpredictable."}),J.jsx("p",{children:"Teams spin up new AI features without visibility into costs. Developers default to the most capable (and expensive) models for every task. And when the invoice arrives, nobody can explain where the money went."}),J.jsx("p",{className:"font-medium text-foreground",children:"This isn't a technology problem. It's an orchestration problem."})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 lg:gap-8",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(ZC,{className:"w-6 h-6 text-data-orange rotate-180"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:'The "GPT-4 Everything" Problem'})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Every team uses the most powerful model for every task—summarization, classification, simple Q&A. You're paying premium prices for work that cheaper models handle equally well."}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"10-40x overspend on routine AI tasks"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx($l,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Visibility Gap"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Your finance team asks which department is driving AI costs. Your engineering team can't answer because usage is scattered across direct API calls, different providers, and multiple projects with no unified tracking."}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"No accountability, no optimization, no forecasting"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(Zk,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Governance Vacuum"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Different teams use different AI providers with different security postures. Sensitive data flows through APIs without consistent controls. Compliance asks for an audit trail. You don't have one."}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Compliance risk, security exposure, audit failures"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10",children:J.jsx(_f,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Vendor Lock-In Trap"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"You built your application around OpenAI's API. Now you want to test Claude or use a self-hosted model for sensitive data. But your code is tightly coupled to one provider, making any switch a major rewrite."}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"No leverage, no flexibility, no negotiating power"})]})]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{id:"data-analytics-problems",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-center mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"You Have More Data Than Ever. And Less Insight."}),J.jsx("div",{className:"max-w-3xl mx-auto space-y-4 text-lg text-muted-foreground leading-relaxed",children:J.jsx("p",{children:'The promise of data-driven decision making has become a data-driven frustration. Every system generates data. Every tool has a dashboard. But when leadership asks a simple question—"How are we actually performing?"—nobody has a consistent answer.'})})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(bg,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Data Prep Death Spiral"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Your analysts are supposed to uncover insights. Instead, they spend 80% of their time wrangling data from different sources, fixing inconsistencies, and reconciling numbers that don't match. By the time the report is ready, the decision has already been made."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"30% of enterprise time wasted on low-value data work"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx(ep,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Single Source of Lies"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:'You were promised a "single source of truth." What you got was multiple databases, conflicting definitions, and endless debates about whose numbers are right. When executives can\'t trust the data, they fall back on gut instinct.'}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"67% of organizations don't trust their data for decisions"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(Wo,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The BI Tool Graveyard"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"You've invested in Power BI, Tableau, or Looker. But adoption is low because getting data into these tools requires IT tickets, custom development, and weeks of waiting. Users default to Excel exports and email attachments."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Tool investment without business value"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10",children:J.jsx(Zk,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Governance Gap"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Who has access to customer data? Where does that revenue number come from? Can you prove compliance in an audit? Without governance, you're one bad actor away from a data breach and one regulator away from a fine."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Average data breach costs $4.88M; poor data costs 12% of revenue"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(jn,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The AI Readiness Crisis"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Everyone wants to use AI and machine learning. But AI is only as good as the data it's trained on. Fragmented, ungoverned, inconsistent data means AI projects fail before they start."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"62% say lack of governance inhibits AI initiatives"})]})]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-problems",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-center mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Production Gap: Where ML Projects Go to Die"}),J.jsxs("div",{className:"max-w-3xl mx-auto space-y-4 text-lg text-muted-foreground leading-relaxed",children:[J.jsx("p",{children:"The hard truth about enterprise machine learning isn't that building models is difficult. It's that deploying and maintaining them in production is a completely different challenge—one that most organizations aren't prepared for."}),J.jsx("p",{children:"Gartner found only 54% of AI models make it from pilot to production. Rexer Analytics puts the number at 32%. O'Reilly research shows only 26% of organizations have models actively deployed. This isn't a data science problem. It's an operations problem."})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(Zb,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Notebook Trap"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Your best model lives in a Jupyter notebook on a data scientist's laptop. It works perfectly there. But the moment you try to deploy it—different Python versions, missing dependencies, data format mismatches—everything breaks."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Models that never deliver business value"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx(ZC,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Silent Degradation"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"You deployed a model six months ago. It was accurate then. But real-world data has shifted. Your model is making predictions based on patterns that no longer exist—and nobody knows because there's no monitoring."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"85% of deployed models degrade within 2 years"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(bg,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Deployment Bottleneck"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Data scientists build. ML engineers translate. DevOps deploys. Each handoff introduces delays. A model that took 2 weeks to develop takes 6 months to deploy—if it ever gets deployed at all."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Time-to-value measured in months, not weeks"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(Zk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Governance Vacuum"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Regulators are asking about your AI models. Which version is in production? What data was it trained on? Can you prove it's not discriminating? Without governance, you can't answer these questions."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Regulatory risk and compliance exposure"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(Pl,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Scaling Ceiling"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"One model in production is manageable. Ten models becomes a full-time job. A hundred models is impossible without automation. Your AI strategy is constrained by operational bottlenecks."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"AI ambitions limited by infrastructure"})]})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{id:"platform-modernization-problems",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Legacy Trap: Why Standing Still Costs More Than Moving Forward"}),J.jsxs("div",{className:"max-w-4xl space-y-4 text-lg text-muted-foreground leading-relaxed",children:[J.jsx("p",{children:"Legacy systems aren't just old technology. They're a strategic liability that compounds daily. Every year you delay modernization, the gap between your capabilities and market expectations grows wider. The cost to maintain increases. The talent willing to work on it decreases. The security vulnerabilities multiply."}),J.jsxs("p",{children:["The numbers are sobering: Accenture found that legacy system maintenance drains ",J.jsx("span",{className:"text-foreground font-semibold",children:"$1.14 trillion in productivity annually"})," from U.S. companies alone. The average cost to maintain a single legacy system is ",J.jsx("span",{className:"text-foreground font-semibold",children:"$30 million per year"}),". And 72% of C-suite executives say their legacy platforms are actively holding them back."]})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(bg,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Maintenance Drain"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:'Your IT team spends 60-80% of their time keeping legacy systems running. Every hour on maintenance is an hour not spent on innovation. Critical developers become "keepers of the flame" for systems nobody else understands.'}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"IT teams trapped in reactive mode, unable to drive business value"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx(eI,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Deployment Bottleneck"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Deploying new features takes weeks—sometimes months. Testing is manual. Rollbacks are terrifying. Meanwhile, competitors ship multiple times per day. Your pace of innovation is constrained by your infrastructure."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"10-100x slower time-to-market than modern competitors"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-destructive/10",children:J.jsx(Zk,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Security Time Bomb"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Legacy systems run on frameworks that no longer receive security updates. Vulnerabilities accumulate. Compliance becomes harder with each audit. The systems handling your most critical data are the least protected."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"$4.45 million average data breach cost, plus regulatory penalties"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx($l,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Talent Crisis"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Try hiring a COBOL developer. Or finding someone excited to work on that 15-year-old codebase. Modern developers want modern tools. Your legacy systems limit your talent pool to specialists who are retiring."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Higher salaries, longer hiring cycles, increased attrition"})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(Pl,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Scale Ceiling"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Your architecture was designed for a different era. Vertical scaling only goes so far. Monolithic databases create bottlenecks. When traffic spikes, your system crashes. Your infrastructure can't flex with your business."}),J.jsxs("div",{className:"flex items-start gap-2 px-4 py-2 rounded-lg bg-destructive/10 border border-destructive/20",children:[J.jsx("span",{className:"text-sm font-semibold text-destructive whitespace-nowrap",children:"Cost:"}),J.jsx("span",{className:"text-sm text-destructive/90",children:"Lost revenue during outages, over-provisioning to handle peaks"})]})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{id:"platform-modernization-why-fail",className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Why 70% of Modernization Projects Fail—And How to Be in the 30%"}),J.jsx("div",{className:"max-w-4xl",children:J.jsxs("p",{className:"text-lg text-muted-foreground leading-relaxed",children:["Digital transformation has become a ",J.jsx("span",{className:"text-foreground font-semibold",children:"$2.3 trillion graveyard"})," of failed projects. McKinsey found that 70% of transformations fail to meet their objectives. Bain's 2024 study puts the failure rate at 88%. These aren't small projects failing—these are multi-million dollar initiatives with executive sponsorship. So why do they fail?"]})})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:J.jsxs("div",{className:"p-6 lg:p-8",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx($P,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"The Big Bang Approach"})]}),J.jsxs("div",{className:"mb-4 p-4 rounded-lg bg-destructive/5 border border-destructive/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Problem"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"\"We'll replace everything at once.\" It sounds efficient. It's actually catastrophic. Big bang migrations mean big bang failures. When a complete cutover fails, there's nowhere to fall back."})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-teal/5 border border-data-teal/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-data-teal",children:"The Alternative"})]}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["Incremental migration using the ",J.jsx("span",{className:"text-foreground font-medium",children:"strangler fig pattern"}),"—gradually replacing functionality while keeping the legacy system running."]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:J.jsxs("div",{className:"p-6 lg:p-8",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(sc,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Lift and Shift Without Modernizing"})]}),J.jsxs("div",{className:"mb-4 p-4 rounded-lg bg-destructive/5 border border-destructive/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Problem"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"\"We'll just move it to the cloud.\" But moving a monolith to AWS doesn't make it cloud-native. It just makes it an expensive monolith. Lift-and-shift often increases costs while delivering none of the expected benefits."})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-teal/5 border border-data-teal/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-data-teal",children:"The Alternative"})]}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["Right-sizing the modernization approach—",J.jsx("span",{className:"text-foreground font-medium",children:"rehost what makes sense, refactor what needs it, rebuild what requires fundamental change"}),"."]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:J.jsxs("div",{className:"p-6 lg:p-8",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(Uc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Technology Without Strategy"})]}),J.jsxs("div",{className:"mb-4 p-4 rounded-lg bg-destructive/5 border border-destructive/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Problem"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:'"Containers will solve everything." Tools matter, but they\'re not strategy. Organizations adopt Kubernetes without understanding how to operate it. Technology change without process change is just expensive chaos.'})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-teal/5 border border-data-teal/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-data-teal",children:"The Alternative"})]}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[J.jsx("span",{className:"text-foreground font-medium",children:"Business-driven modernization"})," that aligns technology choices with operational capabilities and business objectives."]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:J.jsxs("div",{className:"p-6 lg:p-8",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(GI,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Ignoring Organizational Change"})]}),J.jsxs("div",{className:"mb-4 p-4 rounded-lg bg-destructive/5 border border-destructive/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-destructive"}),J.jsx("span",{className:"text-sm font-semibold text-destructive",children:"The Problem"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"\"The new system is better, so people will use it.\" They won't. Change management isn't optional. Teams resist new systems. Training gets cut. Six months after go-live, people use workarounds that recreate the old process."})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-teal/5 border border-data-teal/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-data-teal",children:"The Alternative"})]}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["Modernization programs that treat ",J.jsx("span",{className:"text-foreground font-medium",children:"organizational change as a first-class deliverable"}),", not an afterthought."]})]})]})})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{id:"platform-modernization-approach",className:"py-20 md:py-24 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Reversible Modernization: Progress Without Risk"}),J.jsx("div",{className:"max-w-4xl",children:J.jsxs("p",{className:"text-lg text-muted-foreground leading-relaxed",children:["We approach modernization differently. Not as a single project with a fixed end date, but as a ",J.jsx("span",{className:"text-foreground font-semibold",children:"continuous capability"})," that transforms your technology safely over time. Every change is reversible. Every migration is incremental. Your business never stops running while we modernize the systems beneath it."]})})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(vf,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Strangler Fig Pattern"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-5",children:"Instead of replacing systems wholesale, we gradually strangle legacy functionality. New features get built on modern infrastructure. Existing functionality migrates piece by piece. The old system shrinks as the new system grows."}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-teal/5 border border-data-teal/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-data-teal",children:"Why It Works"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"No big bang cutover risk. Continuous value delivery. Ability to pause or reverse at any point."})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(bw,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Reversible Everything"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-5",children:"Every change we make can be undone. Database migrations have rollback scripts. Feature deployments have kill switches. Infrastructure changes are version-controlled. If something goes wrong, we go back—not scramble forward."}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-orange/5 border border-data-orange/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-semibold text-data-orange",children:"Why It Works"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Confidence to move fast because you can always go back."})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(ZC,{className:"w-6 h-6 text-primary transform rotate-180"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Value at Every Step"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-5",children:"Modernization that only pays off at the end isn't modernization—it's a bet. We structure programs so every phase delivers measurable value. Three months in, you see results. The full transformation compounds on earlier wins."}),J.jsxs("div",{className:"p-4 rounded-lg bg-primary/5 border border-primary/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(Ef,{className:"w-4 h-4 text-primary"}),J.jsx("span",{className:"text-sm font-semibold text-primary",children:"Why It Works"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"ROI that builds rather than waits, maintaining stakeholder support."})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium transition-shadow",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx(Xk,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Business Continuity First"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-5",children:"Your business doesn't stop while we modernize. Production stays up. Customers stay served. We operate around your operations—deploying in windows that work, testing exhaustively, maintaining fallback options at every stage."}),J.jsxs("div",{className:"p-4 rounded-lg bg-data-amber/5 border border-data-amber/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-amber"}),J.jsx("span",{className:"text-sm font-semibold text-data-amber",children:"Why It Works"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Modernization that enhances rather than disrupts."})]})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{id:"platform-modernization-6rs",className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-left mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"What is the 6 Rs of Migration? Choosing the Right Modernization Strategy"}),J.jsxs("div",{className:"max-w-4xl space-y-4",children:[J.jsxs("p",{className:"text-lg text-muted-foreground leading-relaxed",children:[J.jsx("strong",{children:"The 6 Rs framework"})," categorizes ",J.jsx("strong",{children:"application modernization strategies"}),": ",J.jsx("strong",{children:"Rehost"})," (lift and shift), ",J.jsx("strong",{children:"Replatform"})," (lift and reshape), ",J.jsx("strong",{children:"Refactor"})," (re-architect), ",J.jsx("strong",{children:"Repurchase"})," (replace with SaaS), ",J.jsx("strong",{children:"Retire"})," (decommission), and ",J.jsx("strong",{children:"Retain"})," (keep for now). This ",J.jsx("strong",{children:"cloud migration strategy"})," helps organizations match the right approach to each application's business value, technical debt, and strategic importance."]}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Understanding ",J.jsx("strong",{children:"rehost vs replatform vs refactor"})," is critical for successful ",J.jsx("strong",{children:"enterprise cloud migration"}),". Not every application needs the same treatment—",J.jsx("strong",{children:"application portfolio rationalization"})," identifies which systems warrant full rearchitecture and which simply need modern infrastructure."]})]})]}),J.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-xl p-6 mb-8",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"What is the Strangler Fig Pattern?"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["The ",J.jsx("strong",{children:"strangler fig pattern"})," is an ",J.jsx("strong",{children:"incremental modernization"})," approach where new functionality is built around the legacy system, gradually replacing it piece by piece while keeping the old system operational. Traffic is progressively shifted to modern components until the legacy system can be safely decommissioned. This pattern enables ",J.jsx("strong",{children:"monolith to microservices"})," migration without the risk of big-bang cutovers, making it ideal for ",J.jsx("strong",{children:"legacy application migration"})," where business continuity is non-negotiable."]})]}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"rehost",className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft",children:[J.jsx(D$,{className:"px-6 py-5 hover:no-underline hover:bg-surface/50 [&[data-state=open]]:bg-surface/50",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(sc,{className:"w-5 h-5 text-data-teal"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Rehost"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-teal/30 text-data-teal",children:"Lift & Shift"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Move to cloud without code changes"})]}),J.jsxs("div",{className:"hidden sm:flex items-center gap-2 text-sm",children:[J.jsx("span",{className:"text-data-teal font-semibold",children:"$"}),J.jsx("span",{className:"text-muted-foreground",children:"Lowest cost"})]})]})}),J.jsx(q$,{className:"px-6 pb-6 pt-2",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mt-2",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Description"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Move the application to cloud infrastructure without code changes. Same architecture, new home."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Applications that work well but need infrastructure modernization. Quick wins to reduce data center footprint."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Weeks to months"})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Cost"}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:"text-lg font-bold text-data-teal",children:"$"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Lowest upfront"})]})]})]})]})})]}),J.jsxs(O$,{value:"replatform",className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft",children:[J.jsx(D$,{className:"px-6 py-5 hover:no-underline hover:bg-surface/50 [&[data-state=open]]:bg-surface/50",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(zk,{className:"w-5 h-5 text-data-orange"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Replatform"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-orange/30 text-data-orange",children:"Lift & Reshape"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Targeted optimizations during migration"})]}),J.jsxs("div",{className:"hidden sm:flex items-center gap-2 text-sm",children:[J.jsx("span",{className:"text-data-orange font-semibold",children:"$$"}),J.jsx("span",{className:"text-muted-foreground",children:"Moderate"})]})]})}),J.jsx(q$,{className:"px-6 pb-6 pt-2",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mt-2",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Description"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Make targeted optimizations while migrating—like switching to managed database services without changing application code."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Applications that would benefit from managed services. Systems where operational overhead is the main pain point."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"1-3 months"})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Cost"}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:"text-lg font-bold text-data-orange",children:"$$"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Moderate"})]})]})]})]})})]}),J.jsxs(O$,{value:"refactor",className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft",children:[J.jsx(D$,{className:"px-6 py-5 hover:no-underline hover:bg-surface/50 [&[data-state=open]]:bg-surface/50",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(oc,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Refactor"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-primary/30 text-primary",children:"Re-architect"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Modify code for cloud-native capabilities"})]}),J.jsxs("div",{className:"hidden sm:flex items-center gap-2 text-sm",children:[J.jsx("span",{className:"text-primary font-semibold",children:"$$$"}),J.jsx("span",{className:"text-muted-foreground",children:"Higher upfront"})]})]})}),J.jsx(q$,{className:"px-6 pb-6 pt-2",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mt-2",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Description"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Modify application code to better leverage cloud-native capabilities. May include microservices, containerization, or serverless patterns."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Strategic applications needing modern capabilities. Systems requiring dynamic scaling. Applications with frequent updates."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"3-12 months"})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Cost"}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:"text-lg font-bold text-primary",children:"$$$"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Significant long-term benefits"})]})]})]})]})})]}),J.jsxs(O$,{value:"repurchase",className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft",children:[J.jsx(D$,{className:"px-6 py-5 hover:no-underline hover:bg-surface/50 [&[data-state=open]]:bg-surface/50",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-amber/10 flex items-center justify-center",children:J.jsx(aj,{className:"w-5 h-5 text-data-amber"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Repurchase"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-data-amber/30 text-data-amber",children:"Replace with SaaS"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Replace custom software with commercial solutions"})]}),J.jsxs("div",{className:"hidden sm:flex items-center gap-2 text-sm",children:[J.jsx("span",{className:"text-data-amber font-semibold",children:"$$"}),J.jsx("span",{className:"text-muted-foreground",children:"Subscription model"})]})]})}),J.jsx(q$,{className:"px-6 pb-6 pt-2",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mt-2",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Description"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Replace custom or on-premises software with commercial SaaS solutions. Let vendors handle the infrastructure."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Commodity functions (email, CRM, HR). Applications where differentiation doesn't matter."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"1-6 months"})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Cost"}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:"text-lg font-bold text-data-amber",children:"$$"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Subscription replaces capital"})]})]})]})]})})]}),J.jsxs(O$,{value:"retire",className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft",children:[J.jsx(D$,{className:"px-6 py-5 hover:no-underline hover:bg-surface/50 [&[data-state=open]]:bg-surface/50",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-destructive/10 flex items-center justify-center",children:J.jsx(OP,{className:"w-5 h-5 text-destructive"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Retire"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-destructive/30 text-destructive",children:"Decommission"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Shut down applications no longer needed"})]}),J.jsxs("div",{className:"hidden sm:flex items-center gap-2 text-sm",children:[J.jsx("span",{className:"text-data-teal font-semibold",children:"−$"}),J.jsx("span",{className:"text-muted-foreground",children:"Saves money"})]})]})}),J.jsx(q$,{className:"px-6 pb-6 pt-2",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mt-2",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Description"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Decommission applications that are no longer needed. Turn off the lights and stop paying the bills."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Redundant applications. Systems superseded by other initiatives. Zombie applications nobody uses."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Immediate to weeks"})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Cost"}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:"text-lg font-bold text-data-teal",children:"−$"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Negative cost—saves money"})]})]})]})]})})]}),J.jsxs(O$,{value:"retain",className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft",children:[J.jsx(D$,{className:"px-6 py-5 hover:no-underline hover:bg-surface/50 [&[data-state=open]]:bg-surface/50",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-muted/50 flex items-center justify-center",children:J.jsx(Ld,{className:"w-5 h-5 text-muted-foreground"})}),J.jsxs("div",{className:"flex-1",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Retain"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium border-muted-foreground/30 text-muted-foreground",children:"Revisit Later"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Keep as-is with plan to modernize later"})]}),J.jsxs("div",{className:"hidden sm:flex items-center gap-2 text-sm",children:[J.jsx("span",{className:"text-muted-foreground font-semibold",children:"~"}),J.jsx("span",{className:"text-muted-foreground",children:"Maintenance costs"})]})]})}),J.jsx(q$,{className:"px-6 pb-6 pt-2",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mt-2",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Description"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Keep the application as-is for now, with a plan to modernize later. Not every application needs immediate attention."})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Recently upgraded systems. Applications with pending business decisions. Systems blocked by other dependencies."})]}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"N/A (deferred)"})]}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:"Cost"}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("span",{className:"text-lg font-bold text-muted-foreground",children:"~"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:"Continued maintenance costs"})]})]})]})]})})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{id:"process-section",className:"py-20 md:py-24 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"From Assessment to Production: Our Modernization Journey"}),J.jsx("div",{className:"hidden lg:block",children:J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute top-16 left-0 right-0 h-1 bg-gradient-to-r from-primary via-data-teal to-primary rounded-full"}),J.jsxs("div",{className:"grid grid-cols-5 gap-4",children:[J.jsxs("div",{className:"relative pt-4",children:[J.jsx("div",{className:"absolute top-14 left-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm z-10",children:"1"}),J.jsxs("div",{className:"mt-24 bg-card border border-outline/30 rounded-xl p-5 shadow-soft hover:shadow-md transition-shadow group",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 mb-4",children:J.jsx(Mk,{className:"w-5 h-5 text-primary"})}),J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Weeks 1-4"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Discovery & Assessment"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We analyze your entire application portfolio to understand what you have, what it costs, and what each system's strategic importance is."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Portfolio assessment report"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Modernization roadmap"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Strategy per application (6 Rs)"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Business case with ROI"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Risk assessment"]})]})})]})]})]}),J.jsxs("div",{className:"relative pt-4",children:[J.jsx("div",{className:"absolute top-14 left-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm z-10",children:"2"}),J.jsxs("div",{className:"mt-24 bg-card border border-outline/30 rounded-xl p-5 shadow-soft hover:shadow-md transition-shadow group",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 mb-4",children:J.jsx(zh,{className:"w-5 h-5 text-primary"})}),J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Weeks 4-8"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Architecture & Planning"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We design the target architecture and detailed migration plan for prioritized applications. Every decision documented, every risk identified."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Target architecture"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Detailed migration plan"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Infrastructure as code templates"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Testing frameworks"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Operational runbooks"]})]})})]})]})]}),J.jsxs("div",{className:"relative pt-4",children:[J.jsx("div",{className:"absolute top-14 left-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm z-10",children:"3"}),J.jsxs("div",{className:"mt-24 bg-card border border-outline/30 rounded-xl p-5 shadow-soft hover:shadow-md transition-shadow group",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 mb-4",children:J.jsx(qk,{className:"w-5 h-5 text-primary"})}),J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Weeks 6-12"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Foundation & Infrastructure"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We build the modern infrastructure foundation—cloud environments, container platforms, CI/CD pipelines, observability stack."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Cloud infrastructure"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Kubernetes clusters"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"CI/CD pipelines"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Monitoring dashboards"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Security baselines"]})]})})]})]})]}),J.jsxs("div",{className:"relative pt-4",children:[J.jsx("div",{className:"absolute top-14 left-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-data-teal flex items-center justify-center text-primary-foreground font-bold text-sm z-10",children:"4"}),J.jsxs("div",{className:"mt-24 bg-card border border-data-teal/30 rounded-xl p-5 shadow-soft hover:shadow-md transition-shadow group",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-data-teal/10 mb-4",children:J.jsx($a,{className:"w-5 h-5 text-data-teal"})}),J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Ongoing"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Migration & Modernization"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We execute the modernization roadmap—migrating applications, refactoring code, implementing new capabilities with continuous validation."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-data-teal hover:text-data-teal/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Modernized applications"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Validated data migrations"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Integration verified"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Performance benchmarks met"]})]})})]})]})]}),J.jsxs("div",{className:"relative pt-4",children:[J.jsx("div",{className:"absolute top-14 left-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-data-teal flex items-center justify-center text-primary-foreground font-bold text-sm z-10",children:"5"}),J.jsxs("div",{className:"mt-24 bg-card border border-data-teal/30 rounded-xl p-5 shadow-soft hover:shadow-md transition-shadow group",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-data-teal/10 mb-4",children:J.jsx(Rw,{className:"w-5 h-5 text-data-teal"})}),J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Ongoing"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Optimization & Handoff"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We optimize modernized systems, transfer knowledge to your team, and establish practices that keep systems modern going forward."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-data-teal hover:text-data-teal/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Optimized systems"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Documentation"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Trained team"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Continuous improvement playbook"]})]})})]})]})]})]})]})}),J.jsxs("div",{className:"lg:hidden space-y-6",children:[J.jsxs("div",{className:"flex gap-4",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm flex-shrink-0",children:"1"}),J.jsx("div",{className:"w-0.5 flex-1 bg-gradient-to-b from-primary to-primary/50 mt-2"})]}),J.jsx("div",{className:"flex-1 pb-6",children:J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-5 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10",children:J.jsx(Mk,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal",children:"Weeks 1-4"}),J.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Discovery & Assessment"})]})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We analyze your entire application portfolio to understand what you have, what it costs, and what each system's strategic importance is."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Portfolio assessment report"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Modernization roadmap"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Strategy per application (6 Rs)"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Business case with ROI"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Risk assessment"]})]})})]})]})})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm flex-shrink-0",children:"2"}),J.jsx("div",{className:"w-0.5 flex-1 bg-gradient-to-b from-primary to-primary/50 mt-2"})]}),J.jsx("div",{className:"flex-1 pb-6",children:J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-5 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10",children:J.jsx(zh,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal",children:"Weeks 4-8"}),J.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Architecture & Planning"})]})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We design the target architecture and detailed migration plan for prioritized applications. Every decision documented, every risk identified."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Target architecture"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Detailed migration plan"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Infrastructure as code templates"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Testing frameworks"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Operational runbooks"]})]})})]})]})})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm flex-shrink-0",children:"3"}),J.jsx("div",{className:"w-0.5 flex-1 bg-gradient-to-b from-primary to-data-teal mt-2"})]}),J.jsx("div",{className:"flex-1 pb-6",children:J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-5 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10",children:J.jsx(qk,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal",children:"Weeks 6-12"}),J.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Foundation & Infrastructure"})]})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We build the modern infrastructure foundation—cloud environments, container platforms, CI/CD pipelines, observability stack."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Cloud infrastructure"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Kubernetes clusters"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"CI/CD pipelines"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Monitoring dashboards"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Security baselines"]})]})})]})]})})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-data-teal flex items-center justify-center text-primary-foreground font-bold text-sm flex-shrink-0",children:"4"}),J.jsx("div",{className:"w-0.5 flex-1 bg-gradient-to-b from-data-teal to-data-teal/80 mt-2"})]}),J.jsx("div",{className:"flex-1 pb-6",children:J.jsxs("div",{className:"bg-card border border-data-teal/30 rounded-xl p-5 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-data-teal/10",children:J.jsx($a,{className:"w-5 h-5 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal",children:"Ongoing"}),J.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Migration & Modernization"})]})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We execute the modernization roadmap—migrating applications, refactoring code, implementing new capabilities with continuous validation."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-data-teal hover:text-data-teal/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Modernized applications"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Validated data migrations"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Integration verified"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Performance benchmarks met"]})]})})]})]})})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsx("div",{className:"flex flex-col items-center",children:J.jsx("div",{className:"w-10 h-10 rounded-full bg-data-teal flex items-center justify-center text-primary-foreground font-bold text-sm flex-shrink-0",children:"5"})}),J.jsx("div",{className:"flex-1",children:J.jsxs("div",{className:"bg-card border border-data-teal/30 rounded-xl p-5 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-data-teal/10",children:J.jsx(Rw,{className:"w-5 h-5 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal",children:"Ongoing"}),J.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Optimization & Handoff"})]})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We optimize modernized systems, transfer knowledge to your team, and establish practices that keep systems modern going forward."}),J.jsxs(RU,{children:[J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-data-teal hover:text-data-teal/80 transition-colors",children:[J.jsx(al,{className:"w-3 h-3"}),"View Deliverables"]}),J.jsx(DU,{className:"pt-3",children:J.jsxs("ul",{className:"space-y-1.5 text-xs text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Optimized systems"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Documentation"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Trained team"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0 mt-0.5"}),"Continuous improvement playbook"]})]})})]})]})})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"Where Platform Modernization Delivers Value"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsx("div",{className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft hover:shadow-md transition-shadow group",children:J.jsxs("div",{className:"p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(vf,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Legacy Monolith to Microservices"})]}),J.jsx(RU,{children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-amber"}),J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wide",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Monolithic application can't keep up. Every change requires full regression. Different teams step on each other."})]}),J.jsxs(DU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(WM,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Decompose using strangler fig pattern. Critical paths modernized first. APIs enable independent velocity."})]}),J.jsxs("div",{className:"bg-data-teal/5 border border-data-teal/20 rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Deployment frequency increases 10x. Teams ship independently. Cost per transaction decreases."})]})]}),J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors w-full pt-2",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),J.jsx("span",{className:"group-data-[state=open]:hidden",children:"View Solution & Outcome"}),J.jsx("span",{className:"hidden group-data-[state=open]:inline",children:"Show Less"})]})]})})]})}),J.jsx("div",{className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft hover:shadow-md transition-shadow group",children:J.jsxs("div",{className:"p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(sc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Data Center Exit"})]}),J.jsx(RU,{children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-amber"}),J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wide",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Data center lease expiring. Hundreds of applications need to move. Risk of bad migration is business-stopping."})]}),J.jsxs(DU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(WM,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Systematic assessment, ordered migration, retire what's not needed, lift what works, modernize what matters."})]}),J.jsxs("div",{className:"bg-data-teal/5 border border-data-teal/20 rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Complete exit on schedule. No business disruption. Infrastructure costs reduced."})]})]}),J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors w-full pt-2",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),J.jsx("span",{className:"group-data-[state=open]:hidden",children:"View Solution & Outcome"}),J.jsx("span",{className:"hidden group-data-[state=open]:inline",children:"Show Less"})]})]})})]})}),J.jsx("div",{className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft hover:shadow-md transition-shadow group",children:J.jsxs("div",{className:"p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(qk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Mainframe Modernization"})]}),J.jsx(RU,{children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-amber"}),J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wide",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Critical logic on mainframe costing millions. Specialists retiring. Risk of touching it seems higher than keeping it."})]}),J.jsxs(DU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(WM,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Incremental extraction. Modern APIs expose data. Workloads migrate as validated. Footprint shrinks with each phase."})]}),J.jsxs("div",{className:"bg-data-teal/5 border border-data-teal/20 rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Mainframe costs reduced 60-80%. Knowledge captured. Modern developers can work on code."})]})]}),J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors w-full pt-2",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),J.jsx("span",{className:"group-data-[state=open]:hidden",children:"View Solution & Outcome"}),J.jsx("span",{className:"hidden group-data-[state=open]:inline",children:"Show Less"})]})]})})]})}),J.jsx("div",{className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft hover:shadow-md transition-shadow group",children:J.jsxs("div",{className:"p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Rm,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Cloud Cost Optimization"})]}),J.jsx(RU,{children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-amber"}),J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wide",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Lifted and shifted to cloud, but costs higher than on-prem. Not getting expected benefits."})]}),J.jsxs(DU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(WM,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Right-size workloads, implement auto-scaling, refactor to cloud-native services."})]}),J.jsxs("div",{className:"bg-data-teal/5 border border-data-teal/20 rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Cloud costs reduced 30-50%. Benefits finally realized. Predictable spending."})]})]}),J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors w-full pt-2",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),J.jsx("span",{className:"group-data-[state=open]:hidden",children:"View Solution & Outcome"}),J.jsx("span",{className:"hidden group-data-[state=open]:inline",children:"Show Less"})]})]})})]})}),J.jsx("div",{className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft hover:shadow-md transition-shadow group",children:J.jsxs("div",{className:"p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Xk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Security Modernization"})]}),J.jsx(RU,{children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-amber"}),J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wide",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Legacy systems on unsupported software. Known vulnerabilities. Compliance audits increasingly difficult."})]}),J.jsxs(DU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(WM,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Migrate to supported platforms with security built in. Modern identity. Network segmentation. Automated scanning."})]}),J.jsxs("div",{className:"bg-data-teal/5 border border-data-teal/20 rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Audit-ready compliance. Reduced vulnerability surface. Automated threat detection."})]})]}),J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors w-full pt-2",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),J.jsx("span",{className:"group-data-[state=open]:hidden",children:"View Solution & Outcome"}),J.jsx("span",{className:"hidden group-data-[state=open]:inline",children:"Show Less"})]})]})})]})}),J.jsx("div",{className:"bg-card border border-outline/30 rounded-xl overflow-hidden shadow-soft hover:shadow-md transition-shadow group",children:J.jsxs("div",{className:"p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(ZC,{className:"w-6 h-6 text-primary rotate-180"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Scale-Up Architecture"})]}),J.jsx(RU,{children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-amber"}),J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wide",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Growing fast but architecture designed for company you were 3 years ago. Every growth milestone is a crisis."})]}),J.jsxs(DU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(WM,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Horizontal scaling, database sharding, caching, auto-scaling. Architecture for 10x current load."})]}),J.jsxs("div",{className:"bg-data-teal/5 border border-data-teal/20 rounded-lg p-4",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Systems scale automatically. Growth is engineering non-event. Costs scale linearly."})]})]}),J.jsxs(OU,{className:"flex items-center gap-2 text-xs font-medium text-primary hover:text-primary/80 transition-colors w-full pt-2",children:[J.jsx(al,{className:"w-3 h-3 transition-transform group-data-[state=open]:rotate-180"}),J.jsx("span",{className:"group-data-[state=open]:hidden",children:"View Solution & Outcome"}),J.jsx("span",{className:"hidden group-data-[state=open]:inline",children:"Show Less"})]})]})})]})})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"Complete Modernization Infrastructure"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(sc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Cloud Infrastructure"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Production-ready cloud environments on AWS, Azure, or GCP. Infrastructure as code ensures everything is reproducible and auditable."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(pn,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Container Platform"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Kubernetes infrastructure for containerized workloads. Service mesh. Container registry. GitOps pipelines."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(ep,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"CI/CD Pipelines"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Automated build, test, and deployment enabling multiple deploys per day. Feature flags. Automated rollback."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(Ns,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Observability Stack"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Monitoring, logging, and tracing for visibility into systems. Dashboards. Alerts. Distributed tracing."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(Xk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Security Controls"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Security embedded throughout. IAM. Network segmentation. Secrets management. Compliance controls."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(Rw,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Modernized Applications"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Applications transformed according to their 6 Rs strategy. Containerized, cloud-native, or replatformed."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(Qi,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Operational Runbooks"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Documentation for day-to-day operations. Incident response. Troubleshooting guides. Scaling procedures."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(Np,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Training & Knowledge Transfer"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Team training on new technologies. Paired work. No forced dependency—you operate independently."})]})]})]})})}),"platform-modernization"===s.slug&&J.jsxs("section",{className:"py-20 md:py-24 bg-muted/30",children:[J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"Frequently Asked Questions"}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"faq-1",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"How long does cloud migration take?"}),J.jsxs(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:[J.jsx("strong",{children:"Cloud migration"})," timeline varies based on scope. Single application: 2-4 months. Full portfolio transformation: 12-24 months. We structure programs to deliver value incrementally using ",J.jsx("strong",{children:"cloud migration best practices"}),", so you see results in the first quarter."]})]}),J.jsxs(O$,{value:"faq-2",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"How do you minimize business disruption during modernization?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Three principles: incremental migration (no big bang), reversible changes (every deployment can roll back), and business continuity first (production stays up). We use the strangler fig pattern to gradually replace functionality."})]}),J.jsxs(O$,{value:"faq-3",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"What if the modernization fails? How do we roll back?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Every change is reversible by design. Database migrations have rollback scripts. Application deployments have instant rollback. Infrastructure changes are version-controlled. If something goes wrong, we go back to last known good state."})]}),J.jsxs(O$,{value:"faq-4",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"What is the difference between rehost vs replatform vs refactor?"}),J.jsxs(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:[J.jsx("strong",{children:"Rehost"})," (lift and shift) moves applications to cloud without code changes. ",J.jsx("strong",{children:"Replatform"})," makes targeted optimizations during migration. ",J.jsx("strong",{children:"Refactor"})," modifies code for cloud-native capabilities. Using the ",J.jsx("strong",{children:"6 Rs of migration"})," framework, we assess each application based on business value, technical debt, and strategic importance to choose the right approach."]})]}),J.jsxs(O$,{value:"faq-5",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"How do you approach mainframe modernization?"}),J.jsxs(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:[J.jsx("strong",{children:"Mainframe modernization"})," is one of our specialties. We've helped organizations extract mainframe functionality to cloud-native systems, containerize COBOL workloads, and expose mainframe data through modern APIs. The key to successful ",J.jsx("strong",{children:"legacy system modernization"})," is incremental migration—never a risky big bang cutover."]})]}),J.jsxs(O$,{value:"faq-6",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"What about data migration? That's what worries us most."}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Data migration is where many projects fail. We use staged migration: replicate first, validate exhaustively, cut over when confident, maintain rollback. Zero-downtime migration is possible with proper planning."})]}),J.jsxs(O$,{value:"faq-7",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"How do you handle compliance requirements?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Compliance is first-class consideration. We design target architectures with your requirements built in—SOC 2, HIPAA, PCI-DSS, or industry-specific. Security controls from the start."})]}),J.jsxs(O$,{value:"faq-8",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"What happens when you leave? Can our team operate this?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"You operate independently—that's the goal. We transfer knowledge through paired work, documentation, and training. Everything built on standard tools with active communities."})]}),J.jsxs(O$,{value:"faq-9",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"How much does platform modernization cost?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Assessment: $50K-$100K. Single application: $150K-$500K+. Full transformation: $1-5M+ over 12-24 months. We provide detailed estimates after assessment and structure for incremental ROI."})]}),J.jsxs(O$,{value:"faq-10",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"We tried modernization before and it failed. Why would this be different?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Most failures stem from specific causes: big bang approaches, inadequate assessment, technology without strategy, or ignoring organizational change. We address each systematically."})]}),J.jsxs(O$,{value:"faq-11",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"Should we modernize everything at once or prioritize?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Prioritize. Not every application is worth the same investment. We help identify highest ROI applications, what can be retired, and what should wait. Build momentum with wins."})]}),J.jsxs(O$,{value:"faq-12",className:"bg-card border border-outline/30 rounded-xl px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left text-foreground font-medium hover:no-underline py-5",children:"What's the ROI on platform modernization?"}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Common benefits: 40-60% infrastructure cost reduction, 30-50% operational burden reduction, 10x deployment frequency improvement, elimination of security vulnerabilities. Positive ROI typically within 12-18 months."})]})]})]})}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How long does cloud migration take?",acceptedAnswer:{"@type":"Answer",text:"Cloud migration timeline varies based on scope. Single application: 2-4 months. Full portfolio transformation: 12-24 months. We structure programs to deliver value incrementally using cloud migration best practices, so you see results in the first quarter."}},{"@type":"Question",name:"How do you minimize business disruption during modernization?",acceptedAnswer:{"@type":"Answer",text:"Three principles: incremental migration (no big bang), reversible changes (every deployment can roll back), and business continuity first (production stays up). We use the strangler fig pattern to gradually replace functionality."}},{"@type":"Question",name:"What if the modernization fails? How do we roll back?",acceptedAnswer:{"@type":"Answer",text:"Every change is reversible by design. Database migrations have rollback scripts. Application deployments have instant rollback. Infrastructure changes are version-controlled. If something goes wrong, we go back to last known good state."}},{"@type":"Question",name:"What is the difference between rehost vs replatform vs refactor?",acceptedAnswer:{"@type":"Answer",text:"Rehost (lift and shift) moves applications to cloud without code changes. Replatform makes targeted optimizations during migration. Refactor modifies code for cloud-native capabilities. Using the 6 Rs of migration framework, we assess each application based on business value, technical debt, and strategic importance to choose the right approach."}},{"@type":"Question",name:"How do you approach mainframe modernization?",acceptedAnswer:{"@type":"Answer",text:"We've helped organizations extract mainframe functionality to cloud-native systems, containerize COBOL workloads, and expose mainframe data through modern APIs. Mainframe modernization requires incremental migration to manage risk."}},{"@type":"Question",name:"What about data migration? That's what worries us most.",acceptedAnswer:{"@type":"Answer",text:"Data migration is where many projects fail. We use staged migration: replicate first, validate exhaustively, cut over when confident, maintain rollback. Zero-downtime migration is possible with proper planning."}},{"@type":"Question",name:"How do you handle compliance requirements?",acceptedAnswer:{"@type":"Answer",text:"Compliance is first-class consideration. We design target architectures with your requirements built in—SOC 2, HIPAA, PCI-DSS, or industry-specific. Security controls from the start."}},{"@type":"Question",name:"What happens when you leave? Can our team operate this?",acceptedAnswer:{"@type":"Answer",text:"You operate independently—that's the goal. We transfer knowledge through paired work, documentation, and training. Everything built on standard tools with active communities."}},{"@type":"Question",name:"How much does platform modernization cost?",acceptedAnswer:{"@type":"Answer",text:"Assessment: $50K-$100K. Single application: $150K-$500K+. Full transformation: $1-5M+ over 12-24 months. We provide detailed estimates after assessment and structure for incremental ROI."}},{"@type":"Question",name:"We tried modernization before and it failed. Why would this be different?",acceptedAnswer:{"@type":"Answer",text:"Most failures stem from specific causes: big bang approaches, inadequate assessment, technology without strategy, or ignoring organizational change. We address each systematically."}},{"@type":"Question",name:"Should we modernize everything at once or prioritize?",acceptedAnswer:{"@type":"Answer",text:"Prioritize. Not every application is worth the same investment. We help identify highest ROI applications, what can be retired, and what should wait. Build momentum with wins."}},{"@type":"Question",name:"What's the ROI on platform modernization?",acceptedAnswer:{"@type":"Answer",text:"Common benefits: 40-60% infrastructure cost reduction, 30-50% operational burden reduction, 10x deployment frequency improvement, elimination of security vulnerabilities. Positive ROI typically within 12-18 months."}}]})}})]}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"Who Benefits from Platform Modernization"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(GI,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"CTOs & Engineering Leadership"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"You know modernization is necessary. You've seen the horror stories. You need a partner who can execute without betting the company."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(qk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"IT Operations Teams"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"You're drowning in maintenance. Legacy systems consume every hour. Innovation is a luxury you can't afford when keeping lights on is all-consuming."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(oc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Development Teams"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"You want to ship faster. You want modern tools. You're tired of fighting infrastructure designed before you graduated college."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(Xk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Security & Compliance"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Every audit surfaces new vulnerabilities. Unsupported software is everywhere. The risk register grows while resources don't."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(ZC,{className:"w-6 h-6 text-primary rotate-180"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Scale-Up Companies"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"You've outgrown your initial architecture. What worked for first 1,000 customers won't work for next 100,000."})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-16 md:py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-8 text-left",children:"Industries We Modernize"}),J.jsxs("p",{className:"text-muted-foreground mb-8 max-w-3xl",children:["We bring ",J.jsx("strong",{children:"application modernization consulting"})," expertise to organizations across regulated and high-growth industries where legacy systems create competitive disadvantage."]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-4",children:[J.jsxs("div",{className:"bg-card border border-outline/30 rounded-lg p-5 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 mb-3",children:J.jsx(Rn,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Financial Services"}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[J.jsx("strong",{children:"Financial services modernization"})," for core banking, payment systems, and trading platforms with compliance preservation."]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-lg p-5 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 mb-3",children:J.jsx(Xk,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Healthcare"}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[J.jsx("strong",{children:"Healthcare IT modernization"})," for EHR systems, clinical workflows, and patient portals with HIPAA compliance built-in."]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-lg p-5 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 mb-3",children:J.jsx(On,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Government"}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[J.jsx("strong",{children:"Government IT modernization"})," for citizen services, case management, and legacy mainframe systems with FedRAMP pathways."]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-lg p-5 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 mb-3",children:J.jsx(ph,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Manufacturing & Retail"}),J.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[J.jsx("strong",{children:"Manufacturing digital transformation"})," and ",J.jsx("strong",{children:"retail digital transformation"})," for ERP, supply chain, and omnichannel platforms."]})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-left",children:"Modern Technology Stack"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"We implement using proven, industry-standard technologies—no proprietary lock-in."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(sc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Cloud Migration Services"}),J.jsx("p",{className:"text-sm text-primary font-medium mb-2",children:"AWS Migration, Azure Migration, GCP Migration"}),J.jsxs("p",{className:"text-muted-foreground text-sm leading-relaxed",children:["Expert ",J.jsx("strong",{children:"AWS migration services"}),", ",J.jsx("strong",{children:"Azure migration services"}),", and ",J.jsx("strong",{children:"GCP migration"}),". Cloud-agnostic architecture where possible, cloud-native optimization where it delivers value. Multi-cloud and hybrid strategies supported."]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(pn,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Kubernetes Migration"}),J.jsx("p",{className:"text-sm text-primary font-medium mb-2",children:"EKS, AKS, GKE, OpenShift"}),J.jsxs("p",{className:"text-muted-foreground text-sm leading-relaxed",children:["Expert ",J.jsx("strong",{children:"Kubernetes migration"})," and ",J.jsx("strong",{children:"container migration"})," services. ",J.jsx("strong",{children:"Docker to Kubernetes migration"}),", ",J.jsx("strong",{children:"VMware to cloud migration"}),", and ",J.jsx("strong",{children:"containerization services"})," with production-grade networking, security, and observability."]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(zh,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Infrastructure as Code"}),J.jsx("p",{className:"text-sm text-primary font-medium mb-2",children:"Terraform, Pulumi, CloudFormation, ARM"}),J.jsxs("p",{className:"text-muted-foreground text-sm leading-relaxed",children:[J.jsx("strong",{children:"Terraform consulting"})," and IaC expertise. Everything defined in code, version controlled, reproducible, auditable. Enables consistent deployments across environments."]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(ep,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"CI/CD & GitOps"}),J.jsx("p",{className:"text-sm text-primary font-medium mb-2",children:"GitHub Actions, GitLab CI, ArgoCD"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Automated pipelines from commit to production."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(Ns,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Observability"}),J.jsx("p",{className:"text-sm text-primary font-medium mb-2",children:"Prometheus, Grafana, Datadog, OpenTelemetry"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Metrics, logs, traces correlated."})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 mb-4",children:J.jsx(om,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Databases"}),J.jsx("p",{className:"text-sm text-primary font-medium mb-2",children:"PostgreSQL, MySQL, MongoDB, managed services"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Right database for workload. Migration strategies for zero downtime."})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"Investment & Engagement Options"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-12",children:[J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Modernization Assessment"}),J.jsx("div",{className:"text-3xl font-bold text-primary mb-1",children:"$50,000 - $100,000"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"4-6 weeks"}),J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Portfolio inventory"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Technical debt assessment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"6 Rs strategy per application"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Prioritized roadmap"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Business case with ROI"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Risk assessment"})]})]})]}),J.jsxs("div",{className:"bg-primary/5 border-2 border-primary rounded-xl p-6 shadow-lg relative",children:[J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2",children:J.jsx(hU,{className:"bg-primary text-primary-foreground",children:"Most Popular"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Targeted Modernization"}),J.jsx("div",{className:"text-3xl font-bold text-primary mb-1",children:"$150,000 - $500,000"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"3-6 months"}),J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Assessment for target applications"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Architecture design"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Infrastructure implementation"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Application modernization"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Data migration"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Training & knowledge transfer"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"30 days post-launch support"})]})]})]}),J.jsxs("div",{className:"bg-card border border-outline/30 rounded-xl p-6 shadow-soft",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Platform Transformation"}),J.jsx("div",{className:"text-3xl font-bold text-primary mb-1",children:"$500K - $2M+"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"12-24 months"}),J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Complete portfolio assessment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Enterprise architecture"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Cloud foundation & container platform"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Multiple application modernization"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"CI/CD & security controls"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Change management"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary shrink-0 mt-0.5"}),J.jsx("span",{className:"text-muted-foreground text-sm",children:"Extended support"})]})]})]})]}),J.jsx("div",{className:"bg-primary/5 border border-primary/20 rounded-xl p-8",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-lg bg-primary/10 shrink-0",children:J.jsx(ZC,{className:"w-6 h-6 text-primary rotate-180"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Typical ROI"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Platform modernization typically delivers: ",J.jsx("span",{className:"font-medium text-foreground",children:"40-60% infrastructure cost reduction"}),", ",J.jsx("span",{className:"font-medium text-foreground",children:"30-50% operational burden reduction"}),", ",J.jsx("span",{className:"font-medium text-foreground",children:"10x deployment velocity"}),", elimination of security vulnerabilities. Positive ROI typically within 12-18 months."]})]})]})})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-gradient-to-b from-primary/5 to-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Modernize Without the Risk"}),J.jsxs("div",{className:"space-y-6 mb-10",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Your legacy systems aren't going to modernize themselves. Every month of delay increases technical debt, security risk, and competitive disadvantage. But modernization doesn't have to be a terrifying bet-the-company project."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Start with an assessment. We'll analyze your portfolio, identify quick wins and critical risks, and develop a roadmap that delivers value incrementally. Clear strategy. Reversible execution. Measurable progress."}),J.jsx("p",{className:"text-xl font-semibold text-foreground",children:"Join the 30% who succeed at modernization."})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[J.jsxs(oz,{size:"lg",className:"text-base px-8",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","cta_click",{event_category:"engagement",event_label:"platform_modernization_final_cta",service:"platform-modernization"}),v(!0)},children:["Schedule Modernization Assessment",J.jsx(Ka,{className:"ml-2 h-5 w-5"})]}),J.jsxs(oz,{variant:"outline",size:"lg",className:"text-base px-8",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","download_click",{event_category:"engagement",event_label:"modernization_readiness_guide",service:"platform-modernization"}),v(!0)},children:[J.jsx(zm,{className:"mr-2 h-5 w-5"}),"Download Modernization Readiness Guide"]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-approach",className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"What is MLOps? The Missing Infrastructure for Production ML"}),J.jsxs("div",{className:"max-w-4xl mb-12 space-y-4",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"MLOps—Machine Learning Operations—is the discipline of deploying, monitoring, and maintaining ML models in production reliably and efficiently. Think of it as DevOps specifically designed for the unique challenges of machine learning."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Unlike traditional software, ML models have characteristics that require specialized infrastructure: models degrade over time as data changes, reproducibility requires versioning of code, data, and environment, and testing model quality is fundamentally different from testing software correctness. MLOps provides the automation, monitoring, and governance that bridges data science experimentation with production operations."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-border rounded-lg p-6 hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(ep,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Automated Deployment Pipelines"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"CI/CD designed for ML: automated testing, validation, and deployment that understands model quality. Safe rollouts with canary deployments and automatic rollback."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-lg p-6 hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(om,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Model Registry & Versioning"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Central repository for all model artifacts with full versioning. Track which model is in production, what data it was trained on, who approved it."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-lg p-6 hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Ns,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Drift Detection & Monitoring"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Continuous monitoring that detects when data diverges from training distributions or when input-output relationships change. Alerts before performance degrades."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-lg p-6 hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(bw,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Automated Retraining"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"When drift is detected or performance drops, automatically trigger retraining with fresh data. Models stay current without manual intervention."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-lg p-6 hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Gk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Model Governance"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Complete audit trail: who trained the model, what data was used, who approved deployment. Compliance-ready documentation generated automatically."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-lg p-6 hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Gx,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Experiment Tracking"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Every experiment logged: parameters, metrics, artifacts. Compare runs, reproduce results, build on what works. Data scientists stay productive."})]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-approach",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Production MLOps in 8 Weeks"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"We don't sell MLOps platforms and leave you to figure out implementation. We build production-ready infrastructure tailored to your models, your data, and your deployment requirements—operational within 8 weeks, not 8 months."})]}),J.jsxs("div",{className:"hidden lg:block",children:[J.jsxs("div",{className:"relative mb-8",children:[J.jsx("div",{className:"absolute top-6 left-0 right-0 h-1 bg-border rounded-full"}),J.jsx("div",{className:"absolute top-6 left-0 w-full h-1 bg-gradient-to-r from-data-teal via-data-orange to-primary rounded-full"}),J.jsxs("div",{className:"relative flex justify-between",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-teal flex items-center justify-center z-10 shadow-lg",children:J.jsx(yc,{className:"w-6 h-6 text-white"})}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-data-teal",children:"Weeks 1-2"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-orange flex items-center justify-center z-10 shadow-lg",children:J.jsx(vf,{className:"w-6 h-6 text-white"})}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-data-orange",children:"Weeks 2-4"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-amber flex items-center justify-center z-10 shadow-lg",children:J.jsx(zk,{className:"w-6 h-6 text-white"})}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-data-amber",children:"Weeks 4-6"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary flex items-center justify-center z-10 shadow-lg",children:J.jsx(Rw,{className:"w-6 h-6 text-white"})}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-primary",children:"Weeks 6-8"})]})]})]}),J.jsxs("div",{className:"grid grid-cols-4 gap-6 mt-12",children:[J.jsxs("div",{className:"bg-card border border-data-teal/30 rounded-xl p-6 hover:shadow-lg transition-all group",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Assessment & Architecture"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We analyze your current ML workflow, existing infrastructure, and production requirements. You get a clear picture of your MLOps maturity and a concrete roadmap."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-data-teal cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"ML workflow assessment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Infrastructure inventory"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Production requirements documentation"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"MLOps architecture design"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Technology recommendations"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Implementation roadmap"})]})]})]})]}),J.jsxs("div",{className:"bg-card border border-data-orange/30 rounded-xl p-6 hover:shadow-lg transition-all group",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Pipeline Foundation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We implement core infrastructure: version control for ML artifacts, experiment tracking, and the foundation for automated pipelines. Your team starts working production-ready."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-data-orange cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Model registry deployment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Experiment tracking setup"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data and model versioning"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Feature store (if required)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Development environment standardization"})]})]})]})]}),J.jsxs("div",{className:"bg-card border border-data-amber/30 rounded-xl p-6 hover:shadow-lg transition-all group",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Deployment Automation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We build automated deployment pipelines that take models from trained to production with confidence. CI/CD for ML with testing, validation, and safe rollouts."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-data-amber cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"ML CI/CD pipeline"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Automated model testing"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Validation and quality gates"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Canary deployment configuration"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Rollback automation"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Model serving infrastructure"})]})]})]})]}),J.jsxs("div",{className:"bg-card border border-primary/30 rounded-xl p-6 hover:shadow-lg transition-all group",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Monitoring & Launch"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We implement continuous monitoring, configure alerting, set up automated retraining triggers. Models go to production with visibility and governance built in."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-primary cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Performance monitoring dashboard"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Drift detection configuration"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Automated alerting"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Retraining pipeline triggers"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Governance and audit trails"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Training and documentation"})]})]})]})]})]})]}),J.jsxs("div",{className:"lg:hidden space-y-6",children:[J.jsxs("div",{className:"relative pl-8 border-l-2 border-data-teal pb-8",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-data-teal flex items-center justify-center",children:J.jsx(yc,{className:"w-3 h-3 text-white"})}),J.jsxs("div",{className:"bg-card border border-data-teal/30 rounded-xl p-5",children:[J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider",children:"Weeks 1-2"}),J.jsx("h3",{className:"text-lg font-bold text-foreground mt-1 mb-2",children:"Assessment & Architecture"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-3",children:"We analyze your current ML workflow, existing infrastructure, and production requirements. You get a clear picture of your MLOps maturity and a concrete roadmap."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-data-teal cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"ML workflow assessment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Infrastructure inventory"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Production requirements documentation"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"MLOps architecture design"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Technology recommendations"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Implementation roadmap"})]})]})]})]})]}),J.jsxs("div",{className:"relative pl-8 border-l-2 border-data-orange pb-8",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-data-orange flex items-center justify-center",children:J.jsx(vf,{className:"w-3 h-3 text-white"})}),J.jsxs("div",{className:"bg-card border border-data-orange/30 rounded-xl p-5",children:[J.jsx("span",{className:"text-xs font-semibold text-data-orange uppercase tracking-wider",children:"Weeks 2-4"}),J.jsx("h3",{className:"text-lg font-bold text-foreground mt-1 mb-2",children:"Pipeline Foundation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-3",children:"We implement core infrastructure: version control for ML artifacts, experiment tracking, and the foundation for automated pipelines."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-data-orange cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Model registry deployment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Experiment tracking setup"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data and model versioning"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Feature store (if required)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Development environment standardization"})]})]})]})]})]}),J.jsxs("div",{className:"relative pl-8 border-l-2 border-data-amber pb-8",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-data-amber flex items-center justify-center",children:J.jsx(zk,{className:"w-3 h-3 text-white"})}),J.jsxs("div",{className:"bg-card border border-data-amber/30 rounded-xl p-5",children:[J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wider",children:"Weeks 4-6"}),J.jsx("h3",{className:"text-lg font-bold text-foreground mt-1 mb-2",children:"Deployment Automation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-3",children:"We build automated deployment pipelines that take models from trained to production with confidence."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-data-amber cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"ML CI/CD pipeline"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Automated model testing"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Validation and quality gates"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Canary deployment configuration"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Rollback automation"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Model serving infrastructure"})]})]})]})]})]}),J.jsxs("div",{className:"relative pl-8 border-l-2 border-primary",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-primary flex items-center justify-center",children:J.jsx(Rw,{className:"w-3 h-3 text-white"})}),J.jsxs("div",{className:"bg-card border border-primary/30 rounded-xl p-5",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wider",children:"Weeks 6-8"}),J.jsx("h3",{className:"text-lg font-bold text-foreground mt-1 mb-2",children:"Monitoring & Launch"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-3",children:"We implement continuous monitoring, configure alerting, set up automated retraining triggers."}),J.jsxs("details",{className:"group/details",children:[J.jsxs("summary",{className:"text-sm font-medium text-primary cursor-pointer hover:underline flex items-center gap-2",children:[J.jsx("span",{children:"View Deliverables"}),J.jsx(al,{className:"w-4 h-4 transition-transform group-open/details:rotate-180"})]}),J.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Performance monitoring dashboard"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Drift detection configuration"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Automated alerting"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Retraining pipeline triggers"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Governance and audit trails"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Training and documentation"})]})]})]})]})]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-deliverables",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Complete MLOps Infrastructure"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:"Everything you need to move from experimental notebooks to production ML—delivered as operational infrastructure, not as a platform you have to figure out."})]}),J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-teal/10 flex items-center justify-center mb-4 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(ep,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Production ML Pipeline"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"End-to-end automated pipeline from training to production. Version-controlled, tested, reproducible. Deploy with confidence, roll back with one command."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-orange/10 flex items-center justify-center mb-4 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(om,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Model Registry"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"Centralized storage for all model artifacts with versioning. Track lineage, compare versions, manage staging-to-production promotion with approvals."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-amber/10 flex items-center justify-center mb-4 group-hover:bg-data-amber/20 transition-colors",children:J.jsx(Wo,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Experiment Tracking"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"Complete visibility into all experiments: parameters, metrics, artifacts. Compare runs, reproduce results, collaborate effectively."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-blue/10 flex items-center justify-center mb-4 group-hover:bg-data-blue/20 transition-colors",children:J.jsx(Ns,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Drift Monitoring System"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"Continuous monitoring for data and concept drift. Statistical tests detect distribution shifts. Configurable alerts and automated responses."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(qk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Model Serving Infrastructure"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"Production-grade serving with auto-scaling, low-latency inference, A/B testing. Serve multiple versions for safe experimentation."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-teal/10 flex items-center justify-center mb-4 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(Gk,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Governance Framework"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"Complete audit trail for compliance. Model cards, access controls, approval workflows. Regulatory-ready documentation generated automatically."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-orange/10 flex items-center justify-center mb-4 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(bw,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Automated Retraining"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"Trigger-based retraining when drift is detected. Fresh models trained, validated, promoted automatically."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-primary/30 transition-all group h-full flex flex-col",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-data-amber/10 flex items-center justify-center mb-4 group-hover:bg-data-amber/20 transition-colors",children:J.jsx(Qi,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Documentation & Training"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1",children:"Technical documentation for operations. Training for data scientists, ML engineers, platform teams. Runbooks for common scenarios."})]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-drift",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Model Drift: The Silent Killer of Production ML"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"The model that worked perfectly at launch is quietly degrading. Real-world data is shifting. Without drift monitoring, you won't know until predictions become noticeably wrong—and by then, the damage is done."})]}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-8 mb-12",children:[J.jsxs("div",{className:"bg-card border-l-4 border-l-data-teal border border-border rounded-xl p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(om,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Data Drift"})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"What it is"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"The statistical distribution of input features changes over time."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"Example"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed italic",children:"A credit model trained on pre-pandemic data receives applications with different income patterns and spending behaviors."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"Impact"}),J.jsx("p",{className:"text-sm text-destructive/80 leading-relaxed",children:"Model receives inputs it wasn't trained to handle. Predictions become unreliable."})]}),J.jsxs("div",{className:"pt-2 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Statistical tests compare current feature distributions against training baselines."})]})]})]}),J.jsxs("div",{className:"bg-card border-l-4 border-l-data-orange border border-border rounded-xl p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(ZC,{className:"w-5 h-5 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Concept Drift"})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"What it is"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"The relationship between inputs and outputs changes. What used to predict success no longer does."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"Example"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed italic",children:"A churn model learned certain behaviors predicted cancellation. A new competitor enters, and different behaviors now signal risk."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"Impact"}),J.jsx("p",{className:"text-sm text-destructive/80 leading-relaxed",children:"Model's learned patterns no longer reflect reality. Predictions are fundamentally wrong."})]}),J.jsxs("div",{className:"pt-2 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-data-orange uppercase tracking-wider mb-1",children:"Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Monitor prediction accuracy against actual outcomes. Watch for divergence."})]})]})]}),J.jsxs("div",{className:"bg-card border-l-4 border-l-data-amber border border-border rounded-xl p-6",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-data-amber/10 flex items-center justify-center",children:J.jsx(Ns,{className:"w-5 h-5 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Prediction Drift"})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"What it is"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"The distribution of model predictions shifts, even if underlying patterns haven't changed."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"Example"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed italic",children:"A fraud model suddenly flags twice as many transactions after launching in a new market."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",children:"Impact"}),J.jsx("p",{className:"text-sm text-destructive/80 leading-relaxed",children:"May indicate data drift, concept drift, or business changes requiring recalibration."})]}),J.jsxs("div",{className:"pt-2 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-data-amber uppercase tracking-wider mb-1",children:"Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Monitor prediction distributions over time. Alert when shifts exceed thresholds."})]})]})]})]}),J.jsxs("div",{className:"bg-gradient-to-br from-primary/5 via-background to-data-teal/5 border border-primary/20 rounded-2xl p-8",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center",children:J.jsx(vf,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Our Multi-Layer Detection"})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-8",children:[J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-data-teal/20 flex items-center justify-center flex-shrink-0 text-sm font-bold text-data-teal",children:"1"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold text-foreground mb-1",children:"Data Quality"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Missing values, outliers, schema violations"})]})]}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-data-orange/20 flex items-center justify-center flex-shrink-0 text-sm font-bold text-data-orange",children:"2"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold text-foreground mb-1",children:"Feature Drift"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Distribution shifts in input features"})]})]}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-data-amber/20 flex items-center justify-center flex-shrink-0 text-sm font-bold text-data-amber",children:"3"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold text-foreground mb-1",children:"Prediction Drift"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Changes in model output patterns"})]})]}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center flex-shrink-0 text-sm font-bold text-primary",children:"4"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold text-foreground mb-1",children:"Performance Drift"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Degradation in accuracy metrics"})]})]})]}),J.jsxs("div",{className:"bg-card/50 rounded-xl p-5 border border-border",children:[J.jsx("p",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wider mb-3",children:"When drift is detected:"}),J.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[J.jsx("span",{className:"bg-data-teal/10 text-data-teal px-3 py-1.5 rounded-lg font-medium",children:"Alert teams"}),J.jsx(ol,{className:"w-4 h-4 text-muted-foreground hidden sm:block"}),J.jsx("span",{className:"bg-data-orange/10 text-data-orange px-3 py-1.5 rounded-lg font-medium",children:"Generate diagnostics"}),J.jsx(ol,{className:"w-4 h-4 text-muted-foreground hidden sm:block"}),J.jsx("span",{className:"bg-data-amber/10 text-data-amber px-3 py-1.5 rounded-lg font-medium",children:"Optionally trigger retraining"}),J.jsx(ol,{className:"w-4 h-4 text-muted-foreground hidden sm:block"}),J.jsx("span",{className:"bg-primary/10 text-primary px-3 py-1.5 rounded-lg font-medium",children:"Log for audit"})]})]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-use-cases",className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Where MLOps Delivers Value"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Real scenarios where production MLOps infrastructure transforms ML operations from fragile to reliable."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden group hover:shadow-lg transition-all",children:J.jsxs("details",{className:"group/details",children:[J.jsx("summary",{className:"p-6 cursor-pointer list-none",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-teal/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Rw,{className:"w-6 h-6 text-data-teal"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2 group-hover:text-primary transition-colors",children:"First Model to Production"}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:"From data science experiments to production deployment"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground transition-transform group-open/details:rotate-180 flex-shrink-0 mt-1"})]})}),J.jsxs("div",{className:"px-6 pb-6 space-y-4 border-t border-border pt-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"You have a data science team building models, but nothing has made it to production yet. Each deployment attempt hits different blockers."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"Solution"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"We implement MLOps infrastructure alongside your first production deployment. You get infrastructure for all future models."})]}),J.jsxs("div",{className:"bg-data-teal/5 rounded-lg p-3",children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"First model in production within 8 weeks. Capability ready for every model that follows."})]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden group hover:shadow-lg transition-all",children:J.jsxs("details",{className:"group/details",children:[J.jsx("summary",{className:"p-6 cursor-pointer list-none",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(vf,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2 group-hover:text-primary transition-colors",children:"Scaling from 1 to 100 Models"}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:"Standardize and automate for portfolio growth"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground transition-transform group-open/details:rotate-180 flex-shrink-0 mt-1"})]})}),J.jsxs("div",{className:"px-6 pb-6 space-y-4 border-t border-border pt-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Manual processes don't scale. Each new model requires custom work. Your ML engineering team is overwhelmed."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-orange uppercase tracking-wider mb-1",children:"Solution"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"We standardize and automate deployment. Models go through consistent, automated process with monitoring built in."})]}),J.jsxs("div",{className:"bg-data-orange/5 rounded-lg p-3",children:[J.jsx("p",{className:"text-xs font-semibold text-data-orange uppercase tracking-wider mb-1",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Deploy new models in days instead of months. Consistent monitoring across all models."})]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden group hover:shadow-lg transition-all",children:J.jsxs("details",{className:"group/details",children:[J.jsx("summary",{className:"p-6 cursor-pointer list-none",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-amber/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Ns,{className:"w-6 h-6 text-data-amber"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2 group-hover:text-primary transition-colors",children:"Model Performance Degradation"}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:"Detect drift before business impact"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground transition-transform group-open/details:rotate-180 flex-shrink-0 mt-1"})]})}),J.jsxs("div",{className:"px-6 pb-6 space-y-4 border-t border-border pt-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Production models are quietly degrading. You only discover problems when business metrics suffer or users complain."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-amber uppercase tracking-wider mb-1",children:"Solution"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Comprehensive drift monitoring and automated alerting. Problems detected before business impact."})]}),J.jsxs("div",{className:"bg-data-amber/5 rounded-lg p-3",children:[J.jsx("p",{className:"text-xs font-semibold text-data-amber uppercase tracking-wider mb-1",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Early warning for degradation. Proactive intervention. Automated retraining to keep models current."})]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden group hover:shadow-lg transition-all",children:J.jsxs("details",{className:"group/details",children:[J.jsx("summary",{className:"p-6 cursor-pointer list-none",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center flex-shrink-0",children:J.jsx(Gk,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2 group-hover:text-primary transition-colors",children:"Regulatory Compliance"}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:"Audit-ready ML governance"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground transition-transform group-open/details:rotate-180 flex-shrink-0 mt-1"})]})}),J.jsxs("div",{className:"px-6 pb-6 space-y-4 border-t border-border pt-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Regulators asking questions you can't answer: What model is in production? How was it trained? Can you prove it's not discriminating?"})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-1",children:"Solution"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Model governance with complete audit trails. Every deployment documented automatically."})]}),J.jsxs("div",{className:"bg-primary/5 rounded-lg p-3",children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-1",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Audit-ready documentation. Demonstrable compliance. Reduced regulatory risk."})]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden group hover:shadow-lg transition-all",children:J.jsxs("details",{className:"group/details",children:[J.jsx("summary",{className:"p-6 cursor-pointer list-none",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-teal/10 flex items-center justify-center flex-shrink-0",children:J.jsx(ep,{className:"w-6 h-6 text-data-teal"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2 group-hover:text-primary transition-colors",children:"A/B Testing ML Models"}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:"Safe experimentation in production"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground transition-transform group-open/details:rotate-180 flex-shrink-0 mt-1"})]})}),J.jsxs("div",{className:"px-6 pb-6 space-y-4 border-t border-border pt-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"You want to test new model versions against production, but rolling out is all-or-nothing."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"Solution"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"A/B testing infrastructure for ML. Route traffic, measure differences, promote winners."})]}),J.jsxs("div",{className:"bg-data-teal/5 rounded-lg p-3",children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Safe experimentation in production. Data-driven model promotion."})]})]})]})}),J.jsx("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden group hover:shadow-lg transition-all",children:J.jsxs("details",{className:"group/details",children:[J.jsx("summary",{className:"p-6 cursor-pointer list-none",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-xl bg-data-orange/10 flex items-center justify-center flex-shrink-0",children:J.jsx(qk,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2 group-hover:text-primary transition-colors",children:"Real-Time Inference at Scale"}),J.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:"Auto-scaling production serving"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground transition-transform group-open/details:rotate-180 flex-shrink-0 mt-1"})]})}),J.jsxs("div",{className:"px-6 pb-6 space-y-4 border-t border-border pt-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Models need to serve predictions at high volume with low latency. Current infrastructure can't handle the load."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-orange uppercase tracking-wider mb-1",children:"Solution"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Auto-scaling serving infrastructure. Scale up during peaks, scale down to save costs."})]}),J.jsxs("div",{className:"bg-data-orange/5 rounded-lg p-3",children:[J.jsx("p",{className:"text-xs font-semibold text-data-orange uppercase tracking-wider mb-1",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Production inference that scales. Consistent latency at any volume."})]})]})]})})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-audience",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Who Benefits from Production MLOps"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Production MLOps infrastructure serves different needs across your organization. Here's how we help each team."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8",children:[J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 p-8 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-teal/20 to-data-teal/5 flex items-center justify-center mb-6 group-hover:scale-105 transition-transform",children:J.jsx(jn,{className:"w-7 h-7 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Data Science Teams"}),J.jsx("p",{className:"text-sm font-medium text-data-teal mb-4",children:"Your best work deserves production"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"You build great models. But getting them to production isn't your job—and the current process is frustrating. Your best work sits in notebooks."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"MLOps infrastructure that lets you focus on modeling. Experiment tracking keeps work organized. Automated pipelines deploy without manual translation."})]})]}),J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 p-8 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-orange/20 to-data-orange/5 flex items-center justify-center mb-6 group-hover:scale-105 transition-transform",children:J.jsx(mc,{className:"w-7 h-7 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"ML Engineers"}),J.jsx("p",{className:"text-sm font-medium text-data-orange mb-4",children:"Stop building the same pipeline twice"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"You're the bridge between data science and production. Without infrastructure, every deployment is custom. You're fighting the same battles repeatedly."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Standardized infrastructure that makes deployment repeatable. Templates for common patterns. Expertise goes into improving the system, not fighting it."})]})]}),J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 p-8 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-amber/20 to-data-amber/5 flex items-center justify-center mb-6 group-hover:scale-105 transition-transform",children:J.jsx(qk,{className:"w-7 h-7 text-data-amber"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Platform/DevOps Teams"}),J.jsx("p",{className:"text-sm font-medium text-data-amber mb-4",children:"ML workloads that fit your platform"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"ML is different from software, and your CI/CD doesn't quite work. Data scientists need things that don't fit your tooling."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"ML-native infrastructure that integrates with your existing platform. Kubernetes-native where appropriate. ML becomes a supported workload, not an exception."})]})]}),J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 p-8 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-primary/20 to-primary/5 flex items-center justify-center mb-6 group-hover:scale-105 transition-transform",children:J.jsx(ZS,{className:"w-7 h-7 text-primary"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"CTOs & Engineering Leadership"}),J.jsx("p",{className:"text-sm font-medium text-primary mb-4",children:"ROI from your AI investment"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"You've invested in data science. The models look impressive in demos. But production deployment is taking too long, and ROI is hard to demonstrate."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Production MLOps in 8 weeks, not 8 months. Clear timeline, measurable outcomes. AI investments deliver business value faster."})]})]}),J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 p-8 hover:shadow-lg transition-all group lg:col-span-1 md:col-span-2 lg:col-start-2",children:[J.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-data-teal/20 to-data-teal/5 flex items-center justify-center mb-6 group-hover:scale-105 transition-transform",children:J.jsx(Gk,{className:"w-7 h-7 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Compliance & Risk Teams"}),J.jsx("p",{className:"text-sm font-medium text-data-teal mb-4",children:"Audit-ready AI"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"AI regulations are increasing. Model decisions need to be explainable and auditable. Current documentation is inadequate."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"Governance from the start. Complete audit trails. Documentation generated automatically. Compliance built into pipeline."})]})]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsxs("section",{id:"mlops-faq",className:"py-20 bg-muted/30",children:[J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"Frequently Asked Questions"}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"faq-1",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"How long does it take to implement MLOps infrastructure?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"Standard implementations take 8 weeks from kickoff to production-ready infrastructure. This includes assessment (2 weeks), pipeline foundation (2 weeks), deployment automation (2 weeks), and monitoring/launch (2 weeks). Complex enterprise environments may extend to 12-16 weeks."})]}),J.jsxs(O$,{value:"faq-2",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"We already have some MLOps tooling. Do we need to replace everything?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"Not necessarily. We assess your existing tools and integrate with what works. If you have MLflow for experiment tracking, we build around it. We replace components that aren't meeting needs and add missing capabilities—not rip-and-replace unless warranted."})]}),J.jsxs(O$,{value:"faq-3",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"What if our models aren't in Python?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"MLOps infrastructure is largely language-agnostic at deployment level. While most tooling has strong Python support, we implement serving infrastructure for models in R, Java, or other languages. Pipelines, monitoring, and governance work regardless of implementation language."})]}),J.jsxs(O$,{value:"faq-4",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"How do you handle different model types (batch vs. real-time)?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"We implement infrastructure for both patterns. Real-time models get low-latency serving with auto-scaling. Batch models get scheduled pipeline execution. Many organizations need both, and we design for that from the start."})]}),J.jsxs(O$,{value:"faq-5",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"What about model governance and compliance?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"Governance is built into infrastructure from day one. Every deployment is documented: training data lineage, parameters, metrics, approval workflow, deployment history. We configure for your specific requirements (SOC 2, HIPAA, GDPR, emerging AI regulations)."})]}),J.jsxs(O$,{value:"faq-6",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"We have 50+ models in production. Can you help us get them under control?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"Yes. We often work with organizations that have existing models needing better management. We implement infrastructure and migrate existing models incrementally—maintaining production stability while improving operational visibility."})]}),J.jsxs(O$,{value:"faq-7",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"How does drift monitoring work in practice?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"We configure statistical tests appropriate for your data types. The system continuously compares production data against baselines. When drift exceeds thresholds, alerts fire. Optionally, automated retraining triggers. You choose the response: fully automated, human-in-the-loop, or alert-only."})]}),J.jsxs(O$,{value:"faq-8",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"What happens when you leave? Can our team maintain this?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"You operate independently. We transfer knowledge through paired work, documentation, and training. Everything uses standard tools with active communities. We offer ongoing support but never create forced dependency."})]}),J.jsxs(O$,{value:"faq-9",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"How much does MLOps implementation cost?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"Infrastructure costs (compute, storage, tooling) typically run $1,000-$10,000/month depending on model count and traffic. Implementation services range from $75,000-$200,000+ depending on complexity. We provide specific estimates after assessment."})]}),J.jsxs(O$,{value:"faq-10",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"text-left text-lg font-semibold text-foreground hover:no-underline py-6",children:"We're just getting started with ML. Is it too early for MLOps?"}),J.jsx(q$,{className:"text-muted-foreground pb-6 leading-relaxed",children:"If you're deploying your first model to production, it's the perfect time. Implementing proper infrastructure alongside your first deployment is far easier than retrofitting later. You avoid technical debt and start with good practices from day one."})]})]})]})}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How long does it take to implement MLOps infrastructure?",acceptedAnswer:{"@type":"Answer",text:"Standard implementations take 8 weeks from kickoff to production-ready infrastructure. This includes assessment (2 weeks), pipeline foundation (2 weeks), deployment automation (2 weeks), and monitoring/launch (2 weeks). Complex enterprise environments may extend to 12-16 weeks."}},{"@type":"Question",name:"We already have some MLOps tooling. Do we need to replace everything?",acceptedAnswer:{"@type":"Answer",text:"Not necessarily. We assess your existing tools and integrate with what works. If you have MLflow for experiment tracking, we build around it. We replace components that aren't meeting needs and add missing capabilities—not rip-and-replace unless warranted."}},{"@type":"Question",name:"What if our models aren't in Python?",acceptedAnswer:{"@type":"Answer",text:"MLOps infrastructure is largely language-agnostic at deployment level. While most tooling has strong Python support, we implement serving infrastructure for models in R, Java, or other languages. Pipelines, monitoring, and governance work regardless of implementation language."}},{"@type":"Question",name:"How do you handle different model types (batch vs. real-time)?",acceptedAnswer:{"@type":"Answer",text:"We implement infrastructure for both patterns. Real-time models get low-latency serving with auto-scaling. Batch models get scheduled pipeline execution. Many organizations need both, and we design for that from the start."}},{"@type":"Question",name:"What about model governance and compliance?",acceptedAnswer:{"@type":"Answer",text:"Governance is built into infrastructure from day one. Every deployment is documented: training data lineage, parameters, metrics, approval workflow, deployment history. We configure for your specific requirements (SOC 2, HIPAA, GDPR, emerging AI regulations)."}},{"@type":"Question",name:"We have 50+ models in production. Can you help us get them under control?",acceptedAnswer:{"@type":"Answer",text:"Yes. We often work with organizations that have existing models needing better management. We implement infrastructure and migrate existing models incrementally—maintaining production stability while improving operational visibility."}},{"@type":"Question",name:"How does drift monitoring work in practice?",acceptedAnswer:{"@type":"Answer",text:"We configure statistical tests appropriate for your data types. The system continuously compares production data against baselines. When drift exceeds thresholds, alerts fire. Optionally, automated retraining triggers. You choose the response: fully automated, human-in-the-loop, or alert-only."}},{"@type":"Question",name:"What happens when you leave? Can our team maintain this?",acceptedAnswer:{"@type":"Answer",text:"You operate independently. We transfer knowledge through paired work, documentation, and training. Everything uses standard tools with active communities. We offer ongoing support but never create forced dependency."}},{"@type":"Question",name:"How much does MLOps implementation cost?",acceptedAnswer:{"@type":"Answer",text:"Infrastructure costs (compute, storage, tooling) typically run $1,000-$10,000/month depending on model count and traffic. Implementation services range from $75,000-$200,000+ depending on complexity. We provide specific estimates after assessment."}},{"@type":"Question",name:"We're just getting started with ML. Is it too early for MLOps?",acceptedAnswer:{"@type":"Answer",text:"If you're deploying your first model to production, it's the perfect time. Implementing proper infrastructure alongside your first deployment is far easier than retrofitting later. You avoid technical debt and start with good practices from day one."}}]})}})]}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-technology",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"Modern MLOps Stack"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed mb-12 max-w-4xl",children:"We implement using proven, industry-standard tools—no proprietary lock-in. Your team can operate and extend the infrastructure after we leave. We choose tools based on your requirements, not vendor relationships."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 hover:shadow-lg transition-all",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-data-amber/20 to-data-amber/5 flex items-center justify-center mb-4",children:J.jsx(Gx,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Experiment Tracking & Model Registry"}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"MLflow"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Weights & Biases"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Neptune"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Centralized tracking for all experiments. Model registry with versioning, staging, and promotion workflows."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 hover:shadow-lg transition-all",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-primary/20 to-primary/5 flex items-center justify-center mb-4",children:J.jsx(FP,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"ML Pipelines & Orchestration"}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Kubeflow"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Airflow"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Prefect"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Dagster"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Workflow orchestration for training, validation, deployment. Reproducible pipelines with dependency management."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 hover:shadow-lg transition-all",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-data-teal/20 to-data-teal/5 flex items-center justify-center mb-4",children:J.jsx($P,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Model Serving"}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"KServe"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Seldon"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"BentoML"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Triton"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Production inference with auto-scaling, A/B testing, canary deployments. Multi-framework support."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 hover:shadow-lg transition-all",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-data-orange/20 to-data-orange/5 flex items-center justify-center mb-4",children:J.jsx(Ns,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Monitoring & Observability"}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Evidently"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"WhyLabs"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Arize"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Prometheus"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Drift detection, performance monitoring, alerting. Integration with existing observability stack."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 hover:shadow-lg transition-all",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-purple-500/20 to-purple-500/5 flex items-center justify-center mb-4",children:J.jsx(om,{className:"w-6 h-6 text-purple-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Feature Store"}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Feast"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Tecton"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Hopsworks"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Consistent feature computation for training and serving. Versioning and lineage tracking."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 hover:shadow-lg transition-all",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-slate-500/20 to-slate-500/5 flex items-center justify-center mb-4",children:J.jsx(qk,{className:"w-6 h-6 text-slate-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Infrastructure"}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Kubernetes"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"AWS"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"GCP"}),J.jsx("span",{className:"text-xs font-medium px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Azure"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Cloud-native, containerized. Infrastructure as code. Cost-optimized resource allocation."})]})]})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-investment",className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-center",children:"Investment & Engagement Options"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-12",children:[J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 p-8 flex flex-col",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"MLOps Assessment"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"2-3 weeks"})]}),J.jsx("div",{className:"mb-6",children:J.jsx("p",{className:"text-3xl font-bold text-foreground",children:"$15,000 - $25,000"})}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Comprehensive analysis of your ML workflow and production requirements with specific recommendations."}),J.jsxs("div",{className:"border-t border-border pt-6 flex-grow",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-4",children:"Includes"}),J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"ML workflow assessment"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Maturity evaluation"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Architecture recommendations"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Tool selection guidance"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Implementation roadmap"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Executive summary"})]})]})]}),J.jsx("div",{className:"mt-8",children:J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Start Assessment"})})]}),J.jsxs("div",{className:"bg-card rounded-2xl border-2 border-primary p-8 flex flex-col relative shadow-lg",children:[J.jsx("div",{className:"absolute -top-4 left-1/2 -translate-x-1/2",children:J.jsx("span",{className:"bg-primary text-primary-foreground text-xs font-semibold px-4 py-1.5 rounded-full",children:"Most Popular"})}),J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Foundation MLOps"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"8-10 weeks"})]}),J.jsx("div",{className:"mb-6",children:J.jsx("p",{className:"text-3xl font-bold text-primary",children:"$75,000 - $125,000"})}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Complete implementation for organizations with straightforward deployment requirements."}),J.jsxs("div",{className:"border-t border-border pt-6 flex-grow",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-4",children:"Everything in Assessment, plus"}),J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Model registry & experiment tracking"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"ML CI/CD pipeline"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Basic drift monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Model serving infrastructure"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Governance framework"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Training and documentation"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"30 days post-launch support"})]})]})]}),J.jsx("div",{className:"mt-8",children:J.jsx(oz,{className:"w-full",onClick:()=>v(!0),children:"Get Started"})})]}),J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 p-8 flex flex-col",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Enterprise MLOps"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"12-16 weeks"})]}),J.jsx("div",{className:"mb-6",children:J.jsx("p",{className:"text-3xl font-bold text-foreground",children:"$125,000 - $250,000+"})}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Comprehensive MLOps for complex environments with advanced monitoring and governance."}),J.jsxs("div",{className:"border-t border-border pt-6 flex-grow",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-4",children:"Everything in Foundation, plus"}),J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Multi-model orchestration"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Advanced drift detection"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Automated retraining"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"A/B testing infrastructure"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Feature store"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Enterprise governance"})]}),J.jsxs("li",{className:"flex items-start gap-3 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"90 days support"})]})]})]}),J.jsx("div",{className:"mt-8",children:J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Contact Sales"})})]})]}),J.jsx("div",{className:"bg-gradient-to-r from-primary/10 via-primary/5 to-transparent rounded-xl border border-primary/20 p-8",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/20 flex items-center justify-center flex-shrink-0",children:J.jsx(ZC,{className:"w-6 h-6 text-primary rotate-180"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"Expected Return on Investment"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Organizations that successfully deploy ML see ",J.jsx("span",{className:"font-semibold text-foreground",children:"3-15% profit margin increases"}),". MLOps typically delivers ROI within ",J.jsx("span",{className:"font-semibold text-foreground",children:"6-12 months"})," through faster deployment, reduced failures, and scaling efficiency."]})]})]})})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{id:"mlops-cta",className:"py-24 bg-gradient-to-br from-primary/10 via-primary/5 to-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Get Your Models to Production"}),J.jsxs("div",{className:"space-y-6 mb-10",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Your data science investment should deliver business value, not sit in notebooks. MLOps infrastructure is the difference between AI projects that fail and AI capabilities that scale."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Start with an assessment. We'll analyze your current ML workflow, identify what's blocking production, and show you exactly what MLOps infrastructure can deliver. Clear roadmap. Specific recommendations. No commitment to implementation."})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[J.jsxs(oz,{size:"lg",className:"px-8",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","mlops_final_cta_click",{event_category:"engagement",event_label:"schedule_assessment"}),v(!0)},children:["Schedule MLOps Assessment",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]}),J.jsxs(oz,{variant:"outline",size:"lg",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","mlops_guide_download",{event_category:"engagement",event_label:"readiness_guide"}),v(!0)},children:[J.jsx(zm,{className:"mr-2 h-4 w-4"}),"Download MLOps Readiness Guide"]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{id:"data-analytics-approach",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"What is a Data Analytics Platform?"}),J.jsxs("div",{className:"space-y-6 mb-16 max-w-4xl",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"A data analytics platform is the integrated infrastructure that transforms raw data from across your organization into trusted, accessible insights. It's not a single tool—it's an ecosystem of connected components that work together to collect, store, transform, govern, and visualize your data."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Think of it as your organization's central nervous system for information: data flows in from all your systems, gets cleaned and organized automatically, and becomes available for anyone who needs it—in dashboards, reports, or AI applications. Unlike legacy approaches where every report requires custom development, a modern data platform enables self-service: business users can explore data, build their own visualizations, and answer their own questions without waiting for IT."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full hover:shadow-soft transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(FP,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Data Integration & Pipelines"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Automated extraction from 100+ sources—databases, APIs, SaaS applications, spreadsheets. Data flows continuously without manual intervention."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full hover:shadow-soft transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(om,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Cloud Data Warehouse"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Central repository for all analytical data. Modern cloud warehouses provide unlimited scale, high performance, and pay-for-what-you-use economics."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full hover:shadow-soft transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10 w-fit mb-4",children:J.jsx(mc,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Data Transformation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Raw data transformed into analysis-ready datasets. Business logic encoded once, applied consistently. No more manual spreadsheet formulas."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full hover:shadow-soft transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(Xk,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Data Governance"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Catalog of all data assets with clear ownership. Data lineage showing where every number comes from. Access controls ensuring right people see right data."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full hover:shadow-soft transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(Wo,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Business Intelligence"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Self-service dashboards and reports. Interactive exploration without SQL knowledge required. Embedded analytics in your applications."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full hover:shadow-soft transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(Qi,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Semantic Layer"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:'Business-friendly definitions on top of technical data. "Revenue" means the same thing to everyone. Metrics calculated consistently everywhere.'})]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{id:"data-analytics-process",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"How We Build Data Analytics Platforms"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"We don't sell software and walk away. We implement production data platforms that integrate with your existing systems, reflect your actual business logic, and enable your team to make decisions faster—starting within weeks, not months."})]}),J.jsxs("div",{className:"hidden lg:block",children:[J.jsxs("div",{className:"relative mb-8",children:[J.jsx("div",{className:"absolute top-6 left-0 right-0 h-1 bg-outline/30 rounded-full"}),J.jsx("div",{className:"absolute top-6 left-0 w-full h-1 bg-gradient-to-r from-data-teal via-data-orange to-data-amber rounded-full"}),J.jsxs("div",{className:"relative flex justify-between",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-teal flex items-center justify-center text-white font-bold shadow-lg z-10",children:"1"}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-data-teal",children:"Weeks 1-2"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-orange flex items-center justify-center text-white font-bold shadow-lg z-10",children:"2"}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-data-orange",children:"Weeks 2-4"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-amber flex items-center justify-center text-white font-bold shadow-lg z-10",children:"3"}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-data-amber",children:"Weeks 4-6"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-blue flex items-center justify-center text-white font-bold shadow-lg z-10",children:"4"}),J.jsx("span",{className:"mt-3 text-sm font-semibold text-data-blue",children:"Weeks 6-8"})]})]})]}),J.jsxs("div",{className:"grid grid-cols-4 gap-6 mt-12",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 border-t-4 border-t-data-teal",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Mk,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Discovery & Architecture"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We analyze your current data landscape, business requirements, and technical constraints. You get a complete picture of your data maturity and a concrete roadmap to production analytics."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Deliverables:"}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data source inventory and assessment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Current state analysis"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Architecture design with technology recommendations"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Implementation roadmap"})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 border-t-4 border-t-data-orange",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-orange/10",children:J.jsx(vf,{className:"w-5 h-5 text-data-orange"})}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Data Foundation"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We set up your cloud data warehouse, configure data ingestion pipelines, and establish the foundation for all future analytics. Data starts flowing from your critical sources."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Deliverables:"}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Cloud data warehouse deployment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data ingestion pipelines for priority sources"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Raw data layer with historical load"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data quality checks and monitoring"})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 border-t-4 border-t-data-amber",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-amber/10",children:J.jsx(mc,{className:"w-5 h-5 text-data-amber"})}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Transformation & Modeling"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We build the transformation layer that turns raw data into analytics-ready datasets. Business logic gets encoded consistently. Your data model reflects how your business actually thinks."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Deliverables:"}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data transformation pipelines (dbt)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Dimensional data model"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Automated testing for data quality"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Semantic layer with business definitions"})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 border-t-4 border-t-data-blue",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-blue/10",children:J.jsx(Rw,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Analytics & Launch"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We build your initial dashboards, configure self-service access, and launch your data platform to users. Training ensures adoption. Documentation enables independence."}),J.jsxs("div",{className:"space-y-2",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Deliverables:"}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Executive dashboards"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Self-service analytics environment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Team training (technical and business)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Operations runbook and documentation"})]})]})]})]})]})]}),J.jsxs("div",{className:"lg:hidden space-y-6",children:[J.jsxs("div",{className:"relative pl-8 pb-8 border-l-2 border-data-teal",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-data-teal flex items-center justify-center text-white text-sm font-bold",children:"1"}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30",children:[J.jsxs("div",{className:"flex items-center justify-between mb-3",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(Mk,{className:"w-5 h-5 text-data-teal"}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Discovery & Architecture"})]}),J.jsx(hU,{variant:"outline",className:"text-data-teal border-data-teal/30",children:"Weeks 1-2"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We analyze your current data landscape, business requirements, and technical constraints. You get a complete picture of your data maturity and a concrete roadmap to production analytics."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data source inventory and assessment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Architecture design with technology recommendations"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Implementation roadmap"})]})]})]})]}),J.jsxs("div",{className:"relative pl-8 pb-8 border-l-2 border-data-orange",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-data-orange flex items-center justify-center text-white text-sm font-bold",children:"2"}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30",children:[J.jsxs("div",{className:"flex items-center justify-between mb-3",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(vf,{className:"w-5 h-5 text-data-orange"}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Data Foundation"})]}),J.jsx(hU,{variant:"outline",className:"text-data-orange border-data-orange/30",children:"Weeks 2-4"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We set up your cloud data warehouse, configure data ingestion pipelines, and establish the foundation for all future analytics."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Cloud data warehouse deployment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data ingestion pipelines for priority sources"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data quality checks and monitoring"})]})]})]})]}),J.jsxs("div",{className:"relative pl-8 pb-8 border-l-2 border-data-amber",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-data-amber flex items-center justify-center text-white text-sm font-bold",children:"3"}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30",children:[J.jsxs("div",{className:"flex items-center justify-between mb-3",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(mc,{className:"w-5 h-5 text-data-amber"}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Transformation & Modeling"})]}),J.jsx(hU,{variant:"outline",className:"text-data-amber border-data-amber/30",children:"Weeks 4-6"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We build the transformation layer that turns raw data into analytics-ready datasets. Business logic gets encoded consistently."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Data transformation pipelines (dbt)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Dimensional data model"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-amber mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Semantic layer with business definitions"})]})]})]})]}),J.jsxs("div",{className:"relative pl-8",children:[J.jsx("div",{className:"absolute -left-3 top-0 w-6 h-6 rounded-full bg-data-blue flex items-center justify-center text-white text-sm font-bold",children:"4"}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30",children:[J.jsxs("div",{className:"flex items-center justify-between mb-3",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(Rw,{className:"w-5 h-5 text-data-blue"}),J.jsx("h3",{className:"font-semibold text-foreground",children:"Analytics & Launch"})]}),J.jsx(hU,{variant:"outline",className:"text-data-blue border-data-blue/30",children:"Weeks 6-8"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We build your initial dashboards, configure self-service access, and launch your data platform to users."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Executive dashboards"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Self-service analytics environment"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Team training and operations runbook"})]})]})]})]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Complete Data Platform Infrastructure"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Everything you need to go from fragmented data to production analytics."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 hover:shadow-soft hover:border-data-teal/30 transition-all h-full group",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(om,{className:"w-5 h-5 text-data-teal"})}),J.jsx(Rl,{className:"w-4 h-4 text-data-teal ml-auto"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Production Data Warehouse"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your central repository for all analytical data. Cloud-native deployment (Snowflake, Databricks, BigQuery, or Redshift). Scalable, performant, and cost-optimized for your workload."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 hover:shadow-soft hover:border-data-orange/30 transition-all h-full group",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-orange/10 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(FP,{className:"w-5 h-5 text-data-orange"})}),J.jsx(Rl,{className:"w-4 h-4 text-data-teal ml-auto"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Automated Data Pipelines"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Reliable data ingestion from all your sources—databases, SaaS applications, APIs, and files. Incremental updates, error handling, and monitoring included."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 hover:shadow-soft hover:border-data-amber/30 transition-all h-full group",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-amber/10 group-hover:bg-data-amber/20 transition-colors",children:J.jsx(oc,{className:"w-5 h-5 text-data-amber"})}),J.jsx(Rl,{className:"w-4 h-4 text-data-teal ml-auto"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Transformation Framework"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Modern transformation layer using dbt (industry standard). Business logic in version-controlled code. Automated testing catches issues before they reach dashboards."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 hover:shadow-soft hover:border-data-blue/30 transition-all h-full group",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-blue/10 group-hover:bg-data-blue/20 transition-colors",children:J.jsx(Gk,{className:"w-5 h-5 text-data-blue"})}),J.jsx(Rl,{className:"w-4 h-4 text-data-teal ml-auto"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Data Governance Foundation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Data catalog with documentation. Lineage tracking showing data origin. Access controls and audit logging. Quality monitoring with alerting."})]})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 lg:max-w-[75%] lg:mx-auto",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 hover:shadow-soft hover:border-primary/30 transition-all h-full group",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-primary/10 group-hover:bg-primary/20 transition-colors",children:J.jsx(Wo,{className:"w-5 h-5 text-primary"})}),J.jsx(Rl,{className:"w-4 h-4 text-data-teal ml-auto"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Business Intelligence Environment"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Self-service dashboards and reporting. Interactive exploration for business users. Embedded analytics options. Scheduled reports and alerts."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 hover:shadow-soft hover:border-data-teal/30 transition-all h-full group",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(Qi,{className:"w-5 h-5 text-data-teal"})}),J.jsx(Rl,{className:"w-4 h-4 text-data-teal ml-auto"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Semantic Layer"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:'Business-friendly definitions and metrics. Consistent calculations across all reports. Single definition of "revenue," "customer," and other critical terms.'})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 hover:shadow-soft hover:border-data-orange/30 transition-all h-full group",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-orange/10 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(Np,{className:"w-5 h-5 text-data-orange"})}),J.jsx(Rl,{className:"w-4 h-4 text-data-teal ml-auto"})]}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Documentation & Training"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Complete technical documentation. Training for technical team and business users. Runbook for operations and troubleshooting."})]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"How Teams Use Data Analytics Platforms"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"See how different functions across your organization leverage unified data infrastructure."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col",children:[J.jsx("div",{className:"p-6 border-b border-outline/20",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-blue/10",children:J.jsx(ON,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Executive & Strategic"})]})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"flex-1",children:[J.jsxs(O$,{value:"challenge",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),"Challenge"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Leadership needs visibility into business performance. But getting a consistent view requires multiple meetings, conflicting spreadsheets, and manual reconciliation."})]}),J.jsxs(O$,{value:"solution",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),"Solution"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Executive dashboards with real-time visibility into key metrics. Drill-down capability from high-level KPIs to underlying details."})]}),J.jsxs(O$,{value:"outcome",className:"border-0",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-primary"}),"Outcome"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Board meetings with unified numbers. Strategic planning based on actual performance."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col",children:[J.jsx("div",{className:"p-6 border-b border-outline/20",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10",children:J.jsx(Rm,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Sales & Revenue"})]})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"flex-1",children:[J.jsxs(O$,{value:"challenge",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),"Challenge"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Pipeline data lives in Salesforce. Revenue data lives in billing. Customer data lives in product. Getting a complete view requires manual data pulls and Excel gymnastics."})]}),J.jsxs(O$,{value:"solution",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),"Solution"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Unified customer data model connecting CRM, billing, and product. Pipeline visibility with conversion analytics."})]}),J.jsxs(O$,{value:"outcome",className:"border-0",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-primary"}),"Outcome"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Accurate forecasting. Customer health visibility. Revenue attribution by source and segment."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col",children:[J.jsx("div",{className:"p-6 border-b border-outline/20",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-orange/10",children:J.jsx(ZC,{className:"w-5 h-5 text-data-orange rotate-180"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Marketing & Growth"})]})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"flex-1",children:[J.jsxs(O$,{value:"challenge",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),"Challenge"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Campaign data scattered across platforms—Google Ads, Facebook, email, website. Attribution is guesswork. Marketing can't prove ROI."})]}),J.jsxs(O$,{value:"solution",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),"Solution"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Unified marketing data warehouse combining all channels. Attribution modeling at customer level."})]}),J.jsxs(O$,{value:"outcome",className:"border-0",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-primary"}),"Outcome"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Confident marketing investment. Channel optimization based on actual performance."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col",children:[J.jsx("div",{className:"p-6 border-b border-outline/20",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-amber/10",children:J.jsx(oc,{className:"w-5 h-5 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Product & Engineering"})]})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"flex-1",children:[J.jsxs(O$,{value:"challenge",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),"Challenge"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Product decisions require data from analytics tools, customer feedback, and operational systems. Engineers spend time building one-off reports."})]}),J.jsxs(O$,{value:"solution",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),"Solution"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Product analytics foundation with user behavior, feature adoption, and operational metrics. Self-service access for product managers."})]}),J.jsxs(O$,{value:"outcome",className:"border-0",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-primary"}),"Outcome"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Feature decisions based on data. Engineering time protected for building product."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col",children:[J.jsx("div",{className:"p-6 border-b border-outline/20",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-primary/10",children:J.jsx(Wo,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Finance & Operations"})]})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"flex-1",children:[J.jsxs(O$,{value:"challenge",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),"Challenge"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Financial reporting requires pulling data from multiple systems. Month-end close takes too long. Management reporting doesn't match operational reality."})]}),J.jsxs(O$,{value:"solution",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),"Solution"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Financial data warehouse with automated ingestion. Automated reconciliation checks."})]}),J.jsxs(O$,{value:"outcome",className:"border-0",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-primary"}),"Outcome"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Faster close cycles. Accurate management reporting. Finance focused on analysis."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col",children:[J.jsx("div",{className:"p-6 border-b border-outline/20",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10",children:J.jsx(rg,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Customer Success"})]})}),J.jsxs(R$,{type:"single",collapsible:!0,className:"flex-1",children:[J.jsxs(O$,{value:"challenge",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),"Challenge"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Customer health is invisible until they churn. Usage data, support data, and contract data live in different systems."})]}),J.jsxs(O$,{value:"solution",className:"border-b border-outline/20",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),"Solution"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Customer 360 data model unifying all touchpoints. Health scoring based on actual signals."})]}),J.jsxs(O$,{value:"outcome",className:"border-0",children:[J.jsx(D$,{className:"px-6 py-4 hover:no-underline text-sm font-medium text-muted-foreground",children:J.jsxs("span",{className:"flex items-center gap-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-primary"}),"Outcome"]})}),J.jsx(q$,{className:"px-6 pb-4 text-sm text-muted-foreground leading-relaxed",children:"Proactive customer management. Early warning for at-risk accounts."})]})]})]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{className:"py-20 bg-gradient-to-b from-muted/30 to-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Who Benefits from Data Analytics Platforms"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:"We work with organizations at every stage of their data journey—from startups building their first analytics to enterprises modernizing legacy infrastructure."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col group hover:border-data-teal/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"p-6 border-b border-outline/20 bg-gradient-to-br from-data-teal/5 to-transparent",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10 group-hover:bg-data-teal/15 transition-colors",children:J.jsx(Rw,{className:"w-5 h-5 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Startups & Scale-ups"}),J.jsx("p",{className:"text-sm text-data-teal font-medium",children:"Growing fast, drowning in data"})]})]})}),J.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4 flex-1",children:"Investors want metrics. Product needs analytics. But you don't have a data team, and you can't distract engineers from product development."}),J.jsxs("div",{className:"pt-4 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-medium text-foreground/70 uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground/90 leading-relaxed",children:"Right-sized data foundation that scales with you. Start with essential metrics and expand as you grow. Cloud-native economics."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col group hover:border-data-blue/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"p-6 border-b border-outline/20 bg-gradient-to-br from-data-blue/5 to-transparent",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-blue/10 group-hover:bg-data-blue/15 transition-colors",children:J.jsx(Ns,{className:"w-5 h-5 text-data-blue"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Product-Led Growth Companies"}),J.jsx("p",{className:"text-sm text-data-blue font-medium",children:"Data should drive every feature decision"})]})]})}),J.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4 flex-1",children:"Your product generates enormous behavioral data. User analytics should drive decisions. But connecting product data to business outcomes requires infrastructure."}),J.jsxs("div",{className:"pt-4 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-medium text-foreground/70 uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground/90 leading-relaxed",children:"Product analytics foundations that connect user behavior to revenue. Event tracking strategy, behavioral models, and self-service tools for PMs."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col group hover:border-data-orange/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"p-6 border-b border-outline/20 bg-gradient-to-br from-data-orange/5 to-transparent",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-orange/10 group-hover:bg-data-orange/15 transition-colors",children:J.jsx(Rn,{className:"w-5 h-5 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Enterprise Data Teams"}),J.jsx("p",{className:"text-sm text-data-orange font-medium",children:"Buried in requests, not insights"})]})]})}),J.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4 flex-1",children:"You have data people, but they're drowning in ad-hoc requests. Every report is custom work. Self-service never materialized. Modernization seems overwhelming."}),J.jsxs("div",{className:"pt-4 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-medium text-foreground/70 uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground/90 leading-relaxed",children:"Modernize without disruption. Migrate from legacy to cloud. Build self-service that actually works. Enable your team for high-value work."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col group hover:border-data-amber/40 transition-all duration-300 hover:shadow-lg lg:col-start-1 lg:justify-self-center lg:w-full max-w-md lg:max-w-none",children:[J.jsx("div",{className:"p-6 border-b border-outline/20 bg-gradient-to-br from-data-amber/5 to-transparent",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-amber/10 group-hover:bg-data-amber/15 transition-colors",children:J.jsx(GI,{className:"w-5 h-5 text-data-amber"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Business Analysts"}),J.jsx("p",{className:"text-sm text-data-amber font-medium",children:"Spending 80% on prep, 20% on analysis"})]})]})}),J.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4 flex-1",children:"You're supposed to analyze data and find insights. Instead, you spend most of your time in Excel, reconciling numbers that don't match."}),J.jsxs("div",{className:"pt-4 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-medium text-foreground/70 uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground/90 leading-relaxed",children:"Analyst-friendly infrastructure. Data that's clean when you access it. Tools that let you explore without SQL. Your time back for actual analysis."})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden h-full flex flex-col group hover:border-primary/40 transition-all duration-300 hover:shadow-lg lg:col-start-2 lg:justify-self-center lg:w-full max-w-md lg:max-w-none",children:[J.jsx("div",{className:"p-6 border-b border-outline/20 bg-gradient-to-br from-primary/5 to-transparent",children:J.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-primary/10 group-hover:bg-primary/15 transition-colors",children:J.jsx(Ef,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Data-Aspiring Organizations"}),J.jsx("p",{className:"text-sm text-primary font-medium",children:"Know data matters, struggling to get there"})]})]})}),J.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4 flex-1",children:"You know data should be a competitive advantage. You have tools but low adoption. Reports exist but decisions still happen by instinct."}),J.jsxs("div",{className:"pt-4 border-t border-outline/20",children:[J.jsx("p",{className:"text-xs font-medium text-foreground/70 uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground/90 leading-relaxed",children:"Start with business outcomes, not technology. Build infrastructure for specific high-value decisions. Demonstrate value quickly, then expand."})]})]})]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Modern Data Stack Implementation"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl",children:"We implement using modern, cloud-native tools that have become industry standards. No proprietary technology. No vendor lock-in. Your team can operate, extend, and evolve the platform after we leave."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 h-full group hover:border-data-teal/40 transition-all duration-300 hover:shadow-lg",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10",children:J.jsx(FP,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Data Ingestion & Integration"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Fivetran"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Airbyte"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Stitch"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Custom"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Managed ingestion for standard sources, custom development for unique integrations. Incremental updates, not full refreshes."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 h-full group hover:border-data-blue/40 transition-all duration-300 hover:shadow-lg",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-blue/10",children:J.jsx(om,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Cloud Data Warehouse"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Snowflake"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Databricks"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"BigQuery"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Redshift"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We recommend based on your cloud presence, team skills, workload, and budget. No single right answer—fit matters."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 h-full group hover:border-data-orange/40 transition-all duration-300 hover:shadow-lg",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-orange/10",children:J.jsx(oc,{className:"w-5 h-5 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Data Transformation"})]}),J.jsx("div",{className:"flex flex-wrap gap-2 mb-4",children:J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-data-orange/10 text-data-orange rounded-md border border-data-orange/20",children:"dbt (data build tool)"})}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Industry standard. Version-controlled transformation code. Modular, tested, documented. Business logic encoded once."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 h-full group hover:border-data-amber/40 transition-all duration-300 hover:shadow-lg",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-amber/10",children:J.jsx(bw,{className:"w-5 h-5 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Data Orchestration"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Airflow"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Dagster"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Prefect"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Automated scheduling, dependency management, and monitoring. Pipelines run reliably without manual intervention."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 h-full group hover:border-primary/40 transition-all duration-300 hover:shadow-lg",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-primary/10",children:J.jsx(Wo,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Business Intelligence"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Power BI"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Tableau"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Looker"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Metabase"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Based on your existing investments, user needs, and embedding requirements. We implement what works for your team."})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 p-6 h-full group hover:border-data-teal/40 transition-all duration-300 hover:shadow-lg",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10",children:J.jsx(Gk,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Data Governance & Quality"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Atlan"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Alation"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"Monte Carlo"}),J.jsx("span",{className:"px-2.5 py-1 text-xs font-medium bg-muted/60 text-muted-foreground rounded-md",children:"dbt tests"})]}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Start with essential governance. Automated quality testing. Monitoring and alerting for production issues."})]})]}),J.jsx("div",{className:"mt-10 p-6 bg-muted/30 rounded-xl border border-outline/20",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10 flex-shrink-0",children:J.jsx(Ef,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Technology-Agnostic by Design"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We don't have preferred vendors or referral agreements. Our recommendations are based purely on fit for your organization—your existing infrastructure, team capabilities, workload characteristics, and budget constraints. The tools listed above represent the current state of the modern data stack, but we evaluate based on your specific context."})]})]})})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{id:"data-governance",className:"py-20 bg-gradient-to-b from-primary/5 to-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Data Governance: The Foundation Your AI Strategy Requires"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"Governance isn't bureaucracy—it's trust. When business users trust their data, they use it. When executives trust the numbers, they make decisions. When regulators trust your controls, you avoid fines. Governance creates the foundation for everything data enables."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(Mk,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Data Catalog & Discovery"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Every data asset documented and searchable. Business users find data without asking IT. Technical metadata and business context combined. Data discovery takes minutes, not weeks."})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(ep,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Data Lineage"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:'Trace any metric back to its source. Understand what transformations occurred. Know which reports are affected when source data changes. Answer "where does this number come from?" instantly.'})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(Rl,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Data Quality Management"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Quality rules that run automatically. Alerts when data violates expectations. Trending to identify degradation. Problems fixed at the source before they impact decisions."})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10 w-fit mb-4",children:J.jsx(hy,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Access Control & Security"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Right people see right data. Role-based access at table and row level. Sensitive data masked or restricted. Audit trail of who accessed what. Compliance-ready from day one."})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300 hover:shadow-lg",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(Qi,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Business Glossary"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:'One definition for each business term. "Customer" means the same thing everywhere. "Revenue" calculated consistently. No more arguments about whose number is right.'})]})]}),J.jsx("div",{className:"mt-12 p-6 bg-card rounded-xl border border-outline/30",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2 rounded-lg bg-primary/10",children:J.jsx(Xk,{className:"w-5 h-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Why 65% of Data Leaders Prioritize Governance"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"AI initiatives fail without governed data. Self-service analytics collapse without trust. Data teams drown in \"is this number right?\" questions. Governance isn't overhead—it's the multiplier that makes every other data investment pay off."})]})]})})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{id:"self-service-analytics",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Self-Service Analytics That Actually Works"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"Self-service sounds great until you try it. Users get overwhelmed by complexity. They don't trust the data. They can't find what they need. Real self-service requires more than giving users access—it requires building an environment where they can succeed."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(vf,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Curated Data, Not Everything"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Users don't need access to raw tables. They need curated datasets designed for analysis. Business-friendly names, clear relationships, precalculated metrics. Complexity hidden, simplicity exposed."})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(om,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Semantic Layer"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Business logic shouldn't live in every dashboard. Metrics defined once, used everywhere. Users explore without understanding SQL or data modeling. The platform does the hard work."})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(Np,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Training & Adoption"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Technology without adoption is waste. We train users on the tools AND on analytical thinking. Office hours, documentation, and champions create a culture of data use."})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-6 hover:border-primary/40 transition-all duration-300",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(Gk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Governance That Enables"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Governance doesn't block access—it enables trust. Users know the data is accurate because governance ensures it. Exploration is encouraged within guardrails."})]})]})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{id:"data-analytics-investment",className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12 text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Investment & Engagement Options"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto",children:"Choose the engagement level that matches your needs and readiness."})]}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-12",children:[J.jsxs(aU,{className:"bg-card border-outline/30 p-8 flex flex-col h-full",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"Assessment"}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Data Readiness Assessment"}),J.jsx("div",{className:"flex items-baseline gap-1 mb-2",children:J.jsx("span",{className:"text-2xl font-bold text-primary",children:"$12,000 – $20,000"})}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"2-3 weeks"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Comprehensive analysis of your current data landscape with specific recommendations for platform implementation. Ideal before committing to full implementation."}),J.jsxs("div",{className:"space-y-3 mb-8 flex-grow",children:[J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Data source inventory and assessment"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Current state analysis"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Business requirements documentation"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Architecture recommendations"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Implementation roadmap"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Executive summary"})]})]}),J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Start Assessment"})]}),J.jsxs(aU,{className:"bg-card border-2 border-primary p-8 flex flex-col h-full relative",children:[J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2",children:J.jsx(hU,{className:"bg-primary text-primary-foreground px-4 py-1",children:"Recommended"})}),J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"Implementation"}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Foundation Platform"}),J.jsx("div",{className:"flex items-baseline gap-1 mb-2",children:J.jsx("span",{className:"text-2xl font-bold text-primary",children:"$60,000 – $100,000"})}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"8-10 weeks"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Complete data platform implementation for organizations with moderate complexity (5-15 data sources, single primary use case focus)."}),J.jsxs("div",{className:"space-y-3 mb-8 flex-grow",children:[J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Everything in Assessment"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Cloud data warehouse deployment"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Data pipelines for priority sources"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Transformation framework (dbt)"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Governance foundation"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Self-service BI environment"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Executive dashboards"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Training and documentation"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"30 days post-launch support"})]})]}),J.jsx(oz,{className:"w-full",onClick:()=>v(!0),children:"Get Started"})]}),J.jsxs(aU,{className:"bg-card border-outline/30 p-8 flex flex-col h-full",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-sm font-medium text-muted-foreground mb-2",children:"Enterprise"}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Enterprise Platform"}),J.jsx("div",{className:"flex items-baseline gap-1 mb-2",children:J.jsx("span",{className:"text-2xl font-bold text-primary",children:"$100,000 – $250,000+"})}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"12-20 weeks"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Comprehensive platform for complex environments with multiple business units, extensive source systems, and advanced governance requirements."}),J.jsxs("div",{className:"space-y-3 mb-8 flex-grow",children:[J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Everything in Foundation"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Multi-environment deployment"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Enterprise governance (catalog, lineage, quality)"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Multiple use case implementations"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Advanced security and access controls"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"Extended training program"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground",children:"90 days post-launch support"})]})]}),J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Contact Sales"})]})]}),J.jsx("div",{className:"bg-gradient-to-r from-primary/10 to-data-teal/10 rounded-xl p-8 border border-primary/20",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-full bg-primary/20",children:J.jsx(ZC,{className:"w-6 h-6 text-primary transform rotate-180"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"The ROI of Getting Data Right"}),J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Organizations report ",J.jsx("span",{className:"font-semibold text-foreground",children:"127% ROI"})," from BI implementation over 3 years. Improved data quality alone saves ",J.jsx("span",{className:"font-semibold text-foreground",children:"12% of revenue"})," lost to poor data. The investment in a proper data foundation pays dividends across every business decision."]})]})]})})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{id:"data-analytics-faq",className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Frequently Asked Questions"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Common questions about data analytics platform implementations."})]}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"faq-1",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"How long does it take to build a data analytics platform?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Standard implementations take 8-12 weeks from kickoff to production dashboards. Discovery and architecture take 2 weeks. Data foundation takes 2-3 weeks. Transformation and modeling take 2-3 weeks. Analytics and launch take 2 weeks. Complex enterprise environments with many sources may extend to 16 weeks."})]}),J.jsxs(O$,{value:"faq-2",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"What if we already have some tools in place?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Most organizations have existing investments—a data warehouse, BI tool, or partial pipeline infrastructure. We integrate with what works and replace what doesn't. No rip-and-replace unless it's warranted. Your existing investments inform our approach."})]}),J.jsxs(O$,{value:"faq-3",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"Do we need a data team to maintain this?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"You need someone to own data operations, but not necessarily a large team. For smaller organizations, this might be a single data-savvy person spending 20-30% of their time on platform operations. We design for maintainability and provide training for whoever will operate the system."})]}),J.jsxs(O$,{value:"faq-4",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"How do you handle our legacy systems?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Legacy systems are common. We build connectors for databases with ODBC/JDBC access, develop custom extractors for systems without modern APIs, and implement change data capture for real-time needs. Legacy data often contains your most valuable history."})]}),J.jsxs(O$,{value:"faq-5",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"What about data security and compliance?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Security is built in from the start. Cloud data warehouses provide encryption, access controls, and audit logging. We implement role-based access, column-level security for sensitive data, and governance frameworks that support GDPR, HIPAA, SOC 2, and other compliance requirements."})]}),J.jsxs(O$,{value:"faq-6",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"We've tried BI implementations before and they failed. What's different?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Most BI failures happen because the foundation wasn't right. Tools get deployed on top of bad data. Users don't trust what they see. We build the data platform first—clean data, trusted definitions, governed access—then layer BI on top. The foundation makes BI succeed."})]}),J.jsxs(O$,{value:"faq-7",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"How much does a data analytics platform cost?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Platform costs depend on scope, complexity, and tool selection. Infrastructure costs (warehouse, tools) typically run $500-$5,000/month depending on data volume. Implementation services range from $60,000-$200,000+ depending on source count, complexity, and customization. We provide specific estimates after discovery."})]}),J.jsxs(O$,{value:"faq-8",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"Can we start small and expand later?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Absolutely. We recommend starting with high-value use cases—often executive visibility or a single critical business process. Demonstrate value quickly, then expand scope. The platform architecture supports incremental growth."})]}),J.jsxs(O$,{value:"faq-9",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"How does this prepare us for AI and machine learning?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"AI requires three things: quality data, accessible data, and governed data. A production data platform provides all three. Your ML models train on curated, documented datasets. Features come from the same source as business metrics. AI initiatives have a foundation instead of starting from scratch."})]}),J.jsxs(O$,{value:"faq-10",className:"bg-card rounded-xl border border-outline/30 px-6 data-[state=open]:border-primary/30 transition-colors",children:[J.jsx(D$,{className:"text-left py-5 hover:no-underline",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"What happens after you leave?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5 leading-relaxed",children:"Your team operates the platform independently. We transfer knowledge through documentation, training, and paired work during implementation. All code is version-controlled and documented. We offer ongoing support options but never create forced dependency."})]})]}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How long does it take to build a data analytics platform?",acceptedAnswer:{"@type":"Answer",text:"Standard implementations take 8-12 weeks from kickoff to production dashboards. Discovery and architecture take 2 weeks. Data foundation takes 2-3 weeks. Transformation and modeling take 2-3 weeks. Analytics and launch take 2 weeks. Complex enterprise environments with many sources may extend to 16 weeks."}},{"@type":"Question",name:"What if we already have some tools in place?",acceptedAnswer:{"@type":"Answer",text:"Most organizations have existing investments—a data warehouse, BI tool, or partial pipeline infrastructure. We integrate with what works and replace what doesn't. No rip-and-replace unless it's warranted. Your existing investments inform our approach."}},{"@type":"Question",name:"Do we need a data team to maintain this?",acceptedAnswer:{"@type":"Answer",text:"You need someone to own data operations, but not necessarily a large team. For smaller organizations, this might be a single data-savvy person spending 20-30% of their time on platform operations. We design for maintainability and provide training for whoever will operate the system."}},{"@type":"Question",name:"How do you handle our legacy systems?",acceptedAnswer:{"@type":"Answer",text:"Legacy systems are common. We build connectors for databases with ODBC/JDBC access, develop custom extractors for systems without modern APIs, and implement change data capture for real-time needs. Legacy data often contains your most valuable history."}},{"@type":"Question",name:"What about data security and compliance?",acceptedAnswer:{"@type":"Answer",text:"Security is built in from the start. Cloud data warehouses provide encryption, access controls, and audit logging. We implement role-based access, column-level security for sensitive data, and governance frameworks that support GDPR, HIPAA, SOC 2, and other compliance requirements."}},{"@type":"Question",name:"We've tried BI implementations before and they failed. What's different?",acceptedAnswer:{"@type":"Answer",text:"Most BI failures happen because the foundation wasn't right. Tools get deployed on top of bad data. Users don't trust what they see. We build the data platform first—clean data, trusted definitions, governed access—then layer BI on top. The foundation makes BI succeed."}},{"@type":"Question",name:"How much does a data analytics platform cost?",acceptedAnswer:{"@type":"Answer",text:"Platform costs depend on scope, complexity, and tool selection. Infrastructure costs (warehouse, tools) typically run $500-$5,000/month depending on data volume. Implementation services range from $60,000-$200,000+ depending on source count, complexity, and customization. We provide specific estimates after discovery."}},{"@type":"Question",name:"Can we start small and expand later?",acceptedAnswer:{"@type":"Answer",text:"Absolutely. We recommend starting with high-value use cases—often executive visibility or a single critical business process. Demonstrate value quickly, then expand scope. The platform architecture supports incremental growth."}},{"@type":"Question",name:"How does this prepare us for AI and machine learning?",acceptedAnswer:{"@type":"Answer",text:"AI requires three things: quality data, accessible data, and governed data. A production data platform provides all three. Your ML models train on curated, documented datasets. Features come from the same source as business metrics. AI initiatives have a foundation instead of starting from scratch."}},{"@type":"Question",name:"What happens after you leave?",acceptedAnswer:{"@type":"Answer",text:"Your team operates the platform independently. We transfer knowledge through documentation, training, and paired work during implementation. All code is version-controlled and documented. We offer ongoing support options but never create forced dependency."}}]})}})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{className:"py-24 bg-gradient-to-br from-primary via-primary/95 to-data-teal",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-primary-foreground mb-6",children:"Turn Your Data Into Decisions"}),J.jsxs("div",{className:"space-y-4 mb-10",children:[J.jsx("p",{className:"text-lg text-primary-foreground/90 leading-relaxed",children:"Your data should be a competitive advantage, not a source of frustration. When business users can answer their own questions, when executives trust the numbers, when analysts focus on insights instead of data prep—that's when data becomes valuable."}),J.jsx("p",{className:"text-primary-foreground/80 leading-relaxed",children:"Start with an assessment. We'll analyze your current data landscape, identify high-value opportunities, and show you exactly what a production data platform can deliver for your organization. Clear roadmap. Specific recommendations. No commitment to implementation."})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[J.jsx(oz,{size:"lg",className:"bg-white text-primary hover:bg-white/90 font-semibold px-8",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","data_analytics_final_cta_click",{event_category:"engagement",event_label:"Schedule Data Assessment"}),v(!0)},children:"Schedule Data Assessment"}),J.jsxs(oz,{variant:"outline",size:"lg",className:"border-white/30 text-primary-foreground hover:bg-white/10 font-semibold px-8",onClick:()=>{"undefined"!=typeof window&&window.gtag&&window.gtag("event","data_analytics_guide_click",{event_category:"engagement",event_label:"Download Data Readiness Guide"}),v(!0)},children:[J.jsx(zm,{className:"w-4 h-4 mr-2"}),"Download Data Readiness Guide"]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-problem",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:'The "Frontier Model Everything" Problem'}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"Most enterprises default to their most powerful (and expensive) model for every request. It's like taking an Uber Black to the grocery store—it works, but you're dramatically overpaying."})]}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs(aU,{className:"clean-card p-6 border border-destructive/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-destructive/10 w-fit mb-4",children:J.jsx(Rm,{className:"w-6 h-6 text-destructive"})}),J.jsx("div",{className:"text-5xl font-bold text-destructive mb-2",children:"60-80%"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"of AI requests don't need frontier models"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Simple queries, routine classifications, and basic extractions running through premium pricing."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-data-amber/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10 w-fit mb-4",children:J.jsx(xh,{className:"w-6 h-6 text-data-amber"})}),J.jsx("div",{className:"text-5xl font-bold text-data-amber mb-2",children:"???"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"What are you actually spending?"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"No breakdown by use case, department, or model. Finance asks questions you can't answer."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-muted/50 w-fit mb-4",children:J.jsx(hy,{className:"w-6 h-6 text-muted-foreground"})}),J.jsx("div",{className:"text-5xl font-bold text-foreground mb-2",children:"1"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Single point of failure"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"When your provider has an outage or raises prices, your entire AI capability stops."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-muted/50 w-fit mb-4",children:J.jsx(eI,{className:"w-6 h-6 text-muted-foreground"})}),J.jsx("div",{className:"text-5xl font-bold text-foreground mb-2",children:"0"}),J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"No spending limits or policies"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Any team can spin up any model. No budget controls, no audit trail, no compliance."})]})]}),J.jsx("div",{className:"mt-12 p-6 bg-surface/50 border border-outline/30 rounded-xl",children:J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[J.jsx("strong",{className:"text-foreground",children:"The bottom line:"})," Your systems aren't just disconnected—they're actively holding back your business. Every AI query routed through premium models unnecessarily. Every cost question you can't answer. Every governance gap waiting to become an audit finding. These aren't technology problems. They're business problems with technology solutions."]})})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-routing",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Intelligent Routing: Right Model, Right Task, Right Price"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-3xl",children:"Our orchestration layer analyzes every request and routes it to the optimal model based on complexity, cost, latency requirements, and data sensitivity—automatically."})]}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-12",children:[J.jsxs("div",{className:"relative bg-gradient-to-br from-data-amber/20 to-data-orange/10 rounded-xl p-6 border border-data-amber/30 shadow-sm",children:[J.jsx(hU,{className:"absolute top-3 right-3 bg-data-amber text-data-amber-foreground text-xs",children:"Premium"}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/20 w-fit mb-4",children:J.jsx(Xc,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Frontier Models"}),J.jsx("p",{className:"text-xs text-muted-foreground uppercase tracking-wide mb-3",children:"Complex Reasoning & Analysis"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Multi-step reasoning, nuanced analysis, complex code generation, creative synthesis."})]}),J.jsxs("div",{className:"relative bg-card rounded-xl p-6 border border-data-blue/30 shadow-sm",children:[J.jsx(hU,{className:"absolute top-3 right-3 bg-data-blue/80 text-white text-xs",children:"Standard"}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx($P,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Efficient Models"}),J.jsx("p",{className:"text-xs text-muted-foreground uppercase tracking-wide mb-3",children:"Balanced Performance"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Standard chat, moderate complexity, everyday business tasks."})]}),J.jsxs("div",{className:"relative bg-card rounded-xl p-6 border border-data-teal/30 shadow-sm",children:[J.jsx(hU,{className:"absolute top-3 right-3 bg-data-teal/80 text-white text-xs",children:"Economy"}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(Yu,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Lightweight Models"}),J.jsx("p",{className:"text-xs text-muted-foreground uppercase tracking-wide mb-3",children:"High-Volume, Low-Cost"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Simple Q&A, basic classification, routine extraction, bulk processing."})]}),J.jsxs("div",{className:"relative bg-card rounded-xl p-6 border border-outline/30 shadow-sm",children:[J.jsx(hU,{className:"absolute top-3 right-3 bg-muted text-muted-foreground text-xs",children:"Private"}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-muted/50 w-fit mb-4",children:J.jsx(Xk,{className:"w-6 h-6 text-muted-foreground"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Self-Hosted / Private"}),J.jsx("p",{className:"text-xs text-muted-foreground uppercase tracking-wide mb-3",children:"Sensitive & Regulated"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"PII processing, healthcare data, financial records, proprietary information."})]})]}),J.jsx("div",{className:"p-6 bg-primary/5 border border-primary/20 rounded-xl",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2 rounded-lg bg-primary/10",children:J.jsx(Ef,{className:"w-5 h-5 text-primary"})}),J.jsxs("p",{className:"text-foreground leading-relaxed",children:[J.jsx("strong",{children:"The orchestration layer learns your patterns."})," Over time, routing decisions become more precise, costs decrease further, and performance improves."]})]})})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-approach",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"What is AI Orchestration?"}),J.jsxs("div",{className:"space-y-6 mb-16",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"AI orchestration is the control layer that sits between your applications and your AI models. Think of it as an intelligent traffic controller that decides which model handles each request, tracks every interaction, enforces policies, and optimizes for cost and performance."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Without orchestration, every application team makes their own decisions about which AI providers to use, how to handle errors, and how to track costs. With orchestration, you have a single point of control that standardizes, monitors, and optimizes all AI interactions across your organization."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(ep,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Intelligent Routing"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Route requests to the optimal model based on task complexity, cost, latency requirements, or custom rules. Simple tasks go to fast, cheap models. Complex reasoning goes to capable models."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(Wo,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Cost Management"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Set budgets by team, project, or application. Get alerts before limits are reached. Track cost per request, per user, per feature. Know exactly where your AI budget goes."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(jN,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Unified Access"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"One API for all models—OpenAI, Anthropic, Google, open-source, self-hosted. Switch providers without code changes. Test new models without integration work."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10 w-fit mb-4",children:J.jsx(Gk,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Governance & Compliance"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Enforce data handling policies. Mask sensitive information. Maintain audit trails for every request. Meet compliance requirements without slowing development."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(bw,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Reliability & Fallbacks"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Automatic failover when providers experience outages. Retry logic for transient errors. Rate limiting to prevent service degradation."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(Zb,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Observability"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Real-time dashboards showing usage, costs, latency, and errors. Historical analysis for optimization. Anomaly detection for cost spikes or quality issues."})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-process",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-16",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"How We Deploy AI Orchestration"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"We don't sell you a platform and walk away. We implement orchestration that integrates with your existing infrastructure, reflects your actual usage patterns, and delivers measurable cost reduction from day one."})]}),J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"hidden lg:block",children:[J.jsx("div",{className:"absolute top-8 left-0 right-0 h-1 bg-outline/30 rounded-full"}),J.jsx("div",{className:"absolute top-8 left-0 w-1/4 h-1 bg-primary rounded-full"}),J.jsxs("div",{className:"grid grid-cols-4 gap-6",children:[J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-xl shadow-lg",children:"1"}),J.jsx("span",{className:"text-sm font-semibold text-primary uppercase tracking-wide",children:"Weeks 1-2"})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Discovery & Architecture"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We analyze your current AI usage across all teams, providers, and applications. You'll get complete visibility into where costs originate, which models are used for what, and where optimization opportunities exist."}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2 block",children:"Deliverables"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"AI usage audit across all applications and teams"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Cost attribution analysis by team, project, and feature"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Model utilization report showing task-to-model mapping"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Architecture recommendation with specific savings projections"})]})]})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-muted flex items-center justify-center text-foreground font-bold text-xl border-2 border-outline/50",children:"2"}),J.jsx("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Weeks 2-4"})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Gateway Implementation"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We deploy the orchestration layer that becomes your unified AI control plane. All AI traffic routes through the gateway, enabling consistent policies, routing rules, and cost tracking."}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2 block",children:"Deliverables"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Production AI gateway deployment"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Integration with existing applications (minimal code changes)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Provider connections (OpenAI, Anthropic, Google, open-source)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Authentication and access control setup"})]})]})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-muted flex items-center justify-center text-foreground font-bold text-xl border-2 border-outline/50",children:"3"}),J.jsx("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Weeks 4-5"})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Routing & Optimization"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We implement intelligent routing based on your actual usage patterns. Simple requests get routed to cost-effective models. Complex requests go to capable models. Custom rules handle your specific requirements."}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2 block",children:"Deliverables"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Routing rules based on task complexity analysis"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Cost optimization policies by use case"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Caching configuration for common requests"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Performance benchmarks comparing routed vs. direct access"})]})]})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"relative z-10 w-16 h-16 rounded-full bg-muted flex items-center justify-center text-foreground font-bold text-xl border-2 border-outline/50",children:"4"}),J.jsx("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Week 6"})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Governance & Launch"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We configure governance policies, budget controls, and monitoring dashboards. Your team gets trained on operations and optimization. You launch with full visibility and control."}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2 block",children:"Deliverables"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Budget caps and alerting by team/project"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Compliance policies and audit logging"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Executive dashboard with cost and usage analytics"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Team training on operations and optimization"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Operational runbook for ongoing management"})]})]})]})]})]})]})]}),J.jsxs("div",{className:"lg:hidden space-y-8",children:[J.jsxs("div",{className:"relative pl-12",children:[J.jsx("div",{className:"absolute left-0 top-0 w-8 h-8 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm shadow-md",children:"1"}),J.jsx("div",{className:"absolute left-[15px] top-10 bottom-0 w-0.5 bg-outline/30"}),J.jsxs("div",{className:"bg-card rounded-xl p-5 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex items-center gap-2 mb-3",children:J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide",children:"Weeks 1-2"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Discovery & Architecture"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"We analyze your current AI usage across all teams, providers, and applications to identify optimization opportunities."}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"AI usage audit"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Cost attribution analysis"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Architecture recommendation"})]})]})]})]}),J.jsxs("div",{className:"relative pl-12",children:[J.jsx("div",{className:"absolute left-0 top-0 w-8 h-8 rounded-full bg-muted flex items-center justify-center text-foreground font-bold text-sm border border-outline/50",children:"2"}),J.jsx("div",{className:"absolute left-[15px] top-10 bottom-0 w-0.5 bg-outline/30"}),J.jsxs("div",{className:"bg-card rounded-xl p-5 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex items-center gap-2 mb-3",children:J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Weeks 2-4"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Gateway Implementation"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Deploy the orchestration layer as your unified AI control plane with consistent policies and cost tracking."}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Production gateway deployment"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Application integration"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Multi-provider connections"})]})]})]})]}),J.jsxs("div",{className:"relative pl-12",children:[J.jsx("div",{className:"absolute left-0 top-0 w-8 h-8 rounded-full bg-muted flex items-center justify-center text-foreground font-bold text-sm border border-outline/50",children:"3"}),J.jsx("div",{className:"absolute left-[15px] top-10 bottom-0 w-0.5 bg-outline/30"}),J.jsxs("div",{className:"bg-card rounded-xl p-5 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex items-center gap-2 mb-3",children:J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Weeks 4-5"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Routing & Optimization"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Implement intelligent routing based on usage patterns with custom rules for your requirements."}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Routing rules by task complexity"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Cost optimization policies"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Performance benchmarks"})]})]})]})]}),J.jsxs("div",{className:"relative pl-12",children:[J.jsx("div",{className:"absolute left-0 top-0 w-8 h-8 rounded-full bg-muted flex items-center justify-center text-foreground font-bold text-sm border border-outline/50",children:"4"}),J.jsxs("div",{className:"bg-card rounded-xl p-5 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex items-center gap-2 mb-3",children:J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Week 6"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Governance & Launch"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Configure governance policies, budget controls, and dashboards. Training and launch."}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Budget caps and alerting"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Compliance policies and audit logging"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Executive dashboard"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{children:"Team training and runbook"})]})]})]})]})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-deliverables",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Complete Orchestration Infrastructure"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:"Everything you need to take control of your AI costs and operations—deployed, configured, and documented."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full flex flex-col",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(qk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Production AI Gateway"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-grow",children:"Your unified entry point for all AI model access. Handles routing, load balancing, failover, and caching. Deployed in your infrastructure or managed cloud, depending on your requirements."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full flex flex-col",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(ep,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Intelligent Routing Engine"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-grow",children:"Rules and policies that automatically route requests to optimal models. Based on task analysis, cost targets, latency requirements, and custom criteria. Continuously optimized based on actual performance."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full flex flex-col",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(Rm,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Cost Management System"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-grow",children:"Budget controls, usage tracking, and cost attribution down to the request level. Alerts before budgets are exceeded. Showback/chargeback reporting for internal accountability."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full flex flex-col",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10 w-fit mb-4",children:J.jsx(Gk,{className:"w-6 h-6 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Governance Framework"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-grow",children:"Data handling policies, PII detection and masking, access controls, and audit logging. Meet compliance requirements while maintaining development velocity."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full flex flex-col",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(Wo,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Observability Stack"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-grow",children:"Real-time dashboards, historical analytics, and anomaly detection. Integrated with your existing monitoring (Datadog, Grafana, etc.) or standalone."})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-sm h-full flex flex-col",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-secondary/10 w-fit mb-4",children:J.jsx(Qi,{className:"w-6 h-6 text-secondary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Operational Runbook"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed flex-grow",children:"Documentation covering routine operations, troubleshooting, optimization procedures, and escalation paths. Your team operates confidently from day one."})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-use-cases",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Where AI Orchestration Delivers Value"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Real scenarios where intelligent orchestration transforms AI operations."})]}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"use-case-1",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(vf,{className:"w-5 h-5 text-primary"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Application Teams Running Multiple AI Features"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Situation"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Your product has AI-powered search, summarization, and chat assistance. Each feature was built by different developers using different approaches. Costs are unpredictable and nobody owns the AI bill."})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Solution"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Unified orchestration routes all features through a central gateway. Each feature gets appropriate model routing—chat uses capable models, search uses fast models, summarization uses cost-effective models. Costs are tracked per feature for clear accountability."})]}),J.jsxs("div",{className:"bg-primary/5 rounded-lg p-4 border-l-4 border-primary",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground mt-1 font-medium",children:"30-40% cost reduction with improved reliability and clear cost attribution."})]})]})})]}),J.jsxs(O$,{value:"use-case-2",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-teal/10 flex items-center justify-center",children:J.jsx(On,{className:"w-5 h-5 text-data-teal"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Enterprise AI Standardization"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Situation"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Business units across your organization have adopted AI independently. You have a dozen different provider relationships, no consistent security posture, and no enterprise visibility into total AI spend."})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Solution"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Enterprise AI gateway provides single point of access for all approved models. Consistent authentication, logging, and governance across all usage. Central dashboards for leadership visibility."})]}),J.jsxs("div",{className:"bg-data-teal/5 rounded-lg p-4 border-l-4 border-data-teal",children:[J.jsx("span",{className:"text-xs font-semibold text-data-teal uppercase tracking-wide",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground mt-1 font-medium",children:"Enterprise governance without blocking innovation. Consolidated vendor relationships with better pricing leverage."})]})]})})]}),J.jsxs(O$,{value:"use-case-3",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-orange/10 flex items-center justify-center",children:J.jsx(Rw,{className:"w-5 h-5 text-data-orange"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Startup Scaling AI Product"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Situation"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Your AI feature is successful. Usage is growing. Your LLM costs are growing faster. At current trajectory, AI infrastructure will consume your margin."})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Solution"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Intelligent routing identifies which requests need capable models and which don't. Caching eliminates redundant API calls. Budget controls prevent surprises. Cost-per-user metrics inform pricing decisions."})]}),J.jsxs("div",{className:"bg-data-orange/5 rounded-lg p-4 border-l-4 border-data-orange",children:[J.jsx("span",{className:"text-xs font-semibold text-data-orange uppercase tracking-wide",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground mt-1 font-medium",children:"Sustainable unit economics as you scale. AI costs grow linearly with value, not exponentially with usage."})]})]})})]}),J.jsxs(O$,{value:"use-case-4",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-amber/10 flex items-center justify-center",children:J.jsx(Gk,{className:"w-5 h-5 text-data-amber"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Regulated Industry AI Deployment"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Situation"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"You need AI capabilities but operate in a regulated environment (finance, healthcare). Compliance requires audit trails, data residency, and demonstrated governance."})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Solution"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Orchestration layer provides complete audit logging, PII detection and handling, data routing based on sensitivity, and compliance reporting. Self-hosted or private cloud deployment options."})]}),J.jsxs("div",{className:"bg-data-amber/5 rounded-lg p-4 border-l-4 border-data-amber",children:[J.jsx("span",{className:"text-xs font-semibold text-data-amber uppercase tracking-wide",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground mt-1 font-medium",children:"AI capabilities with compliance confidence. Auditable systems that satisfy regulatory requirements."})]})]})})]}),J.jsxs(O$,{value:"use-case-5",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-data-blue/10 flex items-center justify-center",children:J.jsx(jN,{className:"w-5 h-5 text-data-blue"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Multi-Provider Optimization"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Situation"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"You want to use the best model for each task—Claude for nuanced reasoning, GPT-4 for complex coding, Mistral for cost-effective general tasks. But managing multiple providers is operationally complex."})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Solution"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Single integration point with intelligent routing across all providers. Automatic failover if one provider experiences issues. Easy addition of new providers as the market evolves."})]}),J.jsxs("div",{className:"bg-data-blue/5 rounded-lg p-4 border-l-4 border-data-blue",children:[J.jsx("span",{className:"text-xs font-semibold text-data-blue uppercase tracking-wide",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground mt-1 font-medium",children:"Best-of-breed AI capabilities without operational complexity. Provider flexibility without vendor lock-in."})]})]})})]}),J.jsxs(O$,{value:"use-case-6",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5",children:J.jsxs("div",{className:"flex items-center gap-4 text-left",children:[J.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-secondary/10 flex items-center justify-center",children:J.jsx(Wo,{className:"w-5 h-5 text-secondary"})}),J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"AI Cost Forecasting & Budgeting"})]})}),J.jsx(q$,{className:"pb-6",children:J.jsxs("div",{className:"space-y-4 pl-14",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Situation"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Finance asks for AI cost projections for next quarter. You have no idea. Usage patterns are unpredictable, new features are launching, and you've never had reliable cost data."})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Solution"}),J.jsx("p",{className:"text-sm text-foreground mt-1 leading-relaxed",children:"Complete cost attribution and usage analytics provide historical patterns. Budget modeling based on actual consumption. Alerts and controls ensure forecasts become reality."})]}),J.jsxs("div",{className:"bg-secondary/5 rounded-lg p-4 border-l-4 border-secondary",children:[J.jsx("span",{className:"text-xs font-semibold text-secondary uppercase tracking-wide",children:"Outcome"}),J.jsx("p",{className:"text-sm text-foreground mt-1 font-medium",children:"Predictable AI budgeting. Finance confidence in projections. No more surprise invoices."})]})]})})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-results",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"text-center mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Measurable Impact, Not Vague Promises"})}),J.jsxs("div",{className:"grid sm:grid-cols-3 gap-6 mb-12",children:[J.jsxs(aU,{className:"clean-card p-8 text-center border border-data-teal/30 shadow-sm",children:[J.jsx("div",{className:"text-5xl md:text-6xl font-bold text-data-teal mb-2",children:"30-50%"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Typical Cost Reduction"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Through intelligent routing and model tiering"})]}),J.jsxs(aU,{className:"clean-card p-8 text-center border border-data-orange/30 shadow-sm",children:[J.jsx("div",{className:"text-5xl md:text-6xl font-bold text-data-orange mb-2",children:"< 60"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Days to Full ROI"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Most clients break even within 8 weeks"})]}),J.jsxs(aU,{className:"clean-card p-8 text-center border border-primary/30 shadow-sm",children:[J.jsx("div",{className:"text-5xl md:text-6xl font-bold text-primary mb-2",children:"99.9%+"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"AI Availability"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"With multi-provider failover architecture"})]})]}),J.jsxs("div",{className:"bg-surface/50 rounded-xl p-8 border border-outline/30",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[J.jsx(Mb,{className:"w-5 h-5 text-muted-foreground"}),J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Client Testimonial"})]}),J.jsx("blockquote",{className:"text-lg text-foreground leading-relaxed italic mb-4",children:'"We cut our monthly AI spend from $80K to $35K while actually improving response quality for our users. The orchestration layer paid for itself in the first month."'}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"— VP Engineering, Series C SaaS Company"})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-fit",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"text-center mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Is This Right for You?"})}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs("div",{className:"bg-card rounded-xl p-8 border border-data-teal/30 shadow-sm",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Rl,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"This Is For You If:"})]}),J.jsxs("ul",{className:"space-y-4",children:[J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(el,{className:"w-5 h-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground leading-relaxed",children:"Monthly AI spend exceeds $10K (or growing fast toward it)"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(el,{className:"w-5 h-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground leading-relaxed",children:"Multiple teams using AI with no centralized visibility"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(el,{className:"w-5 h-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground leading-relaxed",children:"Compliance requirements limit where data can be processed"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(el,{className:"w-5 h-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground leading-relaxed",children:"Single provider dependency keeps you up at night"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(el,{className:"w-5 h-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground leading-relaxed",children:"Finance is asking questions about AI costs you can't answer"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(el,{className:"w-5 h-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-sm text-foreground leading-relaxed",children:"You're scaling AI features and worried about unit economics"})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-8 border border-outline/30 shadow-sm",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[J.jsx("div",{className:"p-2 rounded-lg bg-muted/50",children:J.jsx(eI,{className:"w-5 h-5 text-muted-foreground"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"This Might Not Be For You If:"})]}),J.jsxs("ul",{className:"space-y-4",children:[J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx("span",{className:"text-muted-foreground mt-0.5 flex-shrink-0",children:"✗"}),J.jsx("span",{className:"text-sm text-muted-foreground leading-relaxed",children:"AI spend under $5K/month (optimization ROI won't justify investment)"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx("span",{className:"text-muted-foreground mt-0.5 flex-shrink-0",children:"✗"}),J.jsx("span",{className:"text-sm text-muted-foreground leading-relaxed",children:"Single, simple AI use case with no growth plans"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx("span",{className:"text-muted-foreground mt-0.5 flex-shrink-0",children:"✗"}),J.jsx("span",{className:"text-sm text-muted-foreground leading-relaxed",children:"No compliance or data sensitivity requirements"})]}),J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx("span",{className:"text-muted-foreground mt-0.5 flex-shrink-0",children:"✗"}),J.jsx("span",{className:"text-sm text-muted-foreground leading-relaxed",children:"Happy with current provider and no reliability concerns"})]})]})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-audience",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Who Benefits from AI Orchestration"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:"Different teams have different AI challenges. Here's how orchestration addresses each."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-sm hover:shadow-md hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-xl bg-data-orange/10 flex items-center justify-center group-hover:bg-data-orange/20 transition-colors",children:J.jsx(Rw,{className:"w-6 h-6 text-data-orange"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Startups & Scale-ups"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsx("div",{children:J.jsx("p",{className:"text-sm text-muted-foreground italic leading-relaxed",children:'"You\'re building AI-powered products and watching costs climb."'})}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide mb-2 block",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"We implement orchestration that matches your stage. Start with cost tracking and basic routing. Add governance and advanced optimization as you scale. No enterprise complexity until you need it."})]})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-sm hover:shadow-md hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-xl bg-data-blue/10 flex items-center justify-center group-hover:bg-data-blue/20 transition-colors",children:J.jsx(oc,{className:"w-6 h-6 text-data-blue"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Product Engineering Teams"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsx("div",{children:J.jsx("p",{className:"text-sm text-muted-foreground italic leading-relaxed",children:'"You\'re responsible for AI features in your product. You need reliable model access, predictable costs, and flexibility to experiment."'})}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide mb-2 block",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"We deploy orchestration that simplifies your work—one API for all models, automatic retries and fallbacks, and clear cost attribution per feature. Focus on building features, not managing AI infrastructure."})]})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-sm hover:shadow-md hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-xl bg-data-teal/10 flex items-center justify-center group-hover:bg-data-teal/20 transition-colors",children:J.jsx(On,{className:"w-6 h-6 text-data-teal"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Enterprise IT & Platform Teams"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsx("div",{children:J.jsx("p",{className:"text-sm text-muted-foreground italic leading-relaxed",children:'"You\'re standardizing AI across the organization. You need governance that satisfies security and compliance while enabling business units to move fast."'})}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide mb-2 block",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"We implement enterprise-grade orchestration with centralized control and distributed access. Consistent policies, audit trails, and visibility across all AI usage—without becoming a bottleneck."})]})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-sm hover:shadow-md hover:border-primary/30 transition-all duration-300 lg:col-span-1",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-xl bg-data-amber/10 flex items-center justify-center group-hover:bg-data-amber/20 transition-colors",children:J.jsx(Wo,{className:"w-6 h-6 text-data-amber"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Finance & Operations Leaders"})})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsx("div",{children:J.jsx("p",{className:"text-sm text-muted-foreground italic leading-relaxed",children:'"You see AI costs growing and want visibility and control. You need to understand where money goes and forecast future spend."'})}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide mb-2 block",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"We deploy cost management that finance teams can actually use—dashboards showing spend by team, project, and feature. Budget controls that prevent surprises. Data that supports strategic AI investment decisions."})]})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-sm hover:shadow-md hover:border-primary/30 transition-all duration-300 md:col-span-2 lg:col-span-2",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center group-hover:bg-primary/20 transition-colors",children:J.jsx(ZS,{className:"w-6 h-6 text-primary"})}),J.jsx("div",{children:J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"CTOs & Technical Leadership"})})]}),J.jsxs("div",{className:"md:grid md:grid-cols-2 md:gap-6",children:[J.jsx("div",{children:J.jsx("p",{className:"text-sm text-muted-foreground italic leading-relaxed",children:'"You\'re deciding between building internally, buying a platform, or engaging implementation support."'})}),J.jsxs("div",{className:"border-t border-outline/30 pt-4 mt-4 md:border-t-0 md:border-l md:pl-6 md:pt-0 md:mt-0",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide mb-2 block",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:"We help you skip 6-12 months of internal development while maintaining control. You get production-ready orchestration without platform lock-in, with knowledge transfer that ensures your team can operate and evolve the system."})]})]})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-comparison",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Why Implementation Partners vs. DIY or Platforms"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:"Three paths to AI orchestration. Here is how they compare."})]}),J.jsx("div",{className:"hidden lg:block mb-12",children:J.jsxs("div",{className:"grid grid-cols-3 gap-0 rounded-xl overflow-hidden border border-outline/30",children:[J.jsx("div",{className:"bg-muted/50 p-6 border-b border-r border-outline/30",children:J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Build Internally"})}),J.jsx("div",{className:"bg-muted/50 p-6 border-b border-r border-outline/30",children:J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Self-Service Platform"})}),J.jsxs("div",{className:"bg-primary/10 p-6 border-b border-outline/30 relative",children:[J.jsx(hU,{className:"absolute top-2 right-2 bg-primary text-primary-foreground text-xs",children:"Recommended"}),J.jsx("h3",{className:"text-lg font-semibold text-primary",children:"Implementation Partner"})]}),J.jsxs("div",{className:"bg-card p-6 border-b border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Timeline"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"6-12 months to production"})]}),J.jsxs("div",{className:"bg-card p-6 border-b border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Timeline"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Days to weeks"})]}),J.jsxs("div",{className:"bg-primary/5 p-6 border-b border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-2",children:"Timeline"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"4-6 weeks to production"})]}),J.jsxs("div",{className:"bg-card p-6 border-b border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Effort"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"2-4 dedicated engineers"})]}),J.jsxs("div",{className:"bg-card p-6 border-b border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Effort"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Integration and configuration"})]}),J.jsxs("div",{className:"bg-primary/5 p-6 border-b border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-2",children:"Effort"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Collaborative implementation with knowledge transfer"})]}),J.jsxs("div",{className:"bg-card p-6 border-b border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Risk"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Opportunity cost, maintenance burden"})]}),J.jsxs("div",{className:"bg-card p-6 border-b border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Risk"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Limited customization, platform dependency"})]}),J.jsxs("div",{className:"bg-primary/5 p-6 border-b border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-2",children:"Risk"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Balanced—fast deployment with retained expertise"})]}),J.jsxs("div",{className:"bg-card p-6 border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Organizations with AI platform teams and long time horizons"})]}),J.jsxs("div",{className:"bg-card p-6 border-r border-outline/30",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Standardized use cases with minimal governance requirements"})]}),J.jsxs("div",{className:"bg-primary/5 p-6",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-2",children:"Best For"}),J.jsx("p",{className:"text-sm text-foreground leading-relaxed font-medium",children:"Organizations wanting production quickly without ongoing dependency"})]})]})}),J.jsxs("div",{className:"lg:hidden space-y-6 mb-12",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Build Internally"}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-foreground",children:"6-12 months to production"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Effort"}),J.jsx("p",{className:"text-sm text-foreground",children:"2-4 dedicated engineers"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Risk"}),J.jsx("p",{className:"text-sm text-foreground",children:"Opportunity cost, maintenance burden"})]}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Organizations with AI platform teams and long time horizons"})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Self-Service Platform"}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-foreground",children:"Days to weeks"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Effort"}),J.jsx("p",{className:"text-sm text-foreground",children:"Integration and configuration"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Risk"}),J.jsx("p",{className:"text-sm text-foreground",children:"Limited customization, platform dependency"})]}),J.jsxs("div",{className:"border-t border-outline/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide block mb-1",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Standardized use cases with minimal governance requirements"})]})]})]}),J.jsxs("div",{className:"bg-primary/5 rounded-xl p-6 border-2 border-primary relative",children:[J.jsx(hU,{className:"absolute -top-3 left-4 bg-primary text-primary-foreground",children:"Recommended"}),J.jsx("h3",{className:"text-lg font-semibold text-primary mb-4 mt-1",children:"Implementation Partner"}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-1",children:"Timeline"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"4-6 weeks to production"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-1",children:"Effort"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Collaborative implementation with knowledge transfer"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-1",children:"Risk"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Balanced—fast deployment with retained expertise"})]}),J.jsxs("div",{className:"border-t border-primary/30 pt-4",children:[J.jsx("span",{className:"text-xs font-semibold text-primary uppercase tracking-wide block mb-1",children:"Best For"}),J.jsx("p",{className:"text-sm text-foreground font-medium",children:"Organizations wanting production quickly without ongoing dependency"})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-8 border border-outline/30",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"When to Choose Implementation Support"}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"Consider an implementation partner when you:"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Need production deployment faster than internal build timeline"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Want to avoid platform lock-in while getting platform benefits"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Require customization beyond self-service platform capabilities"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Need governance and compliance features configured correctly"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Want your team trained to operate and evolve the system"})]}),J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"w-5 h-5 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-sm text-foreground",children:"Have specific integration requirements with existing infrastructure"})]})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(iz,{children:J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How much can AI orchestration actually save?",acceptedAnswer:{"@type":"Answer",text:"Organizations typically see 30-50% reduction in LLM costs through intelligent routing alone. Additional savings come from caching (10-20% for repetitive requests) and elimination of redundant API calls. Actual savings depend on your current usage patterns—our discovery phase provides specific projections before you commit to implementation."}},{"@type":"Question",name:"We already use OpenAI/Anthropic directly. Is migration disruptive?",acceptedAnswer:{"@type":"Answer",text:"Minimal disruption. The orchestration layer proxies requests through a unified API that's compatible with major providers. Most applications require only endpoint and authentication changes—typically a few lines of code. We handle migration gradually, starting with new features or low-risk applications."}},{"@type":"Question",name:"Can we use our own/self-hosted models alongside commercial APIs?",acceptedAnswer:{"@type":"Answer",text:"Yes. The orchestration layer supports any model endpoint—commercial APIs, open-source models on your infrastructure, or fine-tuned models you've trained. Routing rules can direct sensitive requests to self-hosted models while using commercial APIs for general tasks."}},{"@type":"Question",name:"How long does implementation take?",acceptedAnswer:{"@type":"Answer",text:"Standard implementations complete in 4-6 weeks from kickoff to production. Discovery and architecture take 1-2 weeks. Gateway deployment and integration take 2-3 weeks. Optimization and governance configuration take 1-2 weeks. Complex enterprise environments with multiple business units may extend to 8-10 weeks."}},{"@type":"Question",name:"What about compliance and audit requirements?",acceptedAnswer:{"@type":"Answer",text:"The orchestration layer provides complete audit logging—every request, response, model used, user, and cost. PII detection and masking can be configured for specific data types. Access controls enforce who can use which models. Compliance reports can be generated for regulatory reviews."}},{"@type":"Question",name:"We have strict data residency requirements. Can orchestration handle that?",acceptedAnswer:{"@type":"Answer",text:"Yes. The gateway can be deployed in your infrastructure (on-premise or private cloud) with data never leaving your environment. Routing rules can direct specific data types to specific endpoints based on sensitivity and residency requirements."}},{"@type":"Question",name:"How does intelligent routing actually work?",acceptedAnswer:{"@type":"Answer",text:"Routing rules analyze incoming requests based on configurable criteria: prompt length, task classification, user or team, application source, time of day, or custom metadata. Simple categorization requests route to fast, cheap models. Complex reasoning routes to capable models. Rules are continuously optimized based on quality and cost outcomes."}},{"@type":"Question",name:"What happens if you leave? Are we stuck?",acceptedAnswer:{"@type":"Answer",text:"No dependency created. We implement using documented, maintainable approaches. Your team receives full training on operations and optimization. All configuration, rules, and documentation transfer to you. Optional ongoing support available but not required."}},{"@type":"Question",name:"What's the difference between orchestration and an LLM gateway?",acceptedAnswer:{"@type":"Answer",text:"An LLM gateway provides unified access to multiple models—a technical layer. Orchestration adds intelligence: routing decisions, cost optimization, governance policies, and operational workflows. We implement both—the gateway as infrastructure, orchestration as the intelligence layer on top."}},{"@type":"Question",name:"Do we need dedicated AI platform engineers to operate this?",acceptedAnswer:{"@type":"Answer",text:"Not dedicated engineers, but someone owning AI infrastructure operations. Day-to-day operation is minimal with proper automation. Optimization and rule tuning require periodic attention. We recommend 10-20% of an engineer's time for organizations with moderate AI usage, scaling up for heavy usage."}}]})})}),J.jsx("section",{id:"ai-orchestration-faq",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Frequently Asked Questions"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Common questions about AI orchestration implementation."})]}),J.jsxs(R$,{type:"single",collapsible:!0,defaultValue:"faq-1",className:"space-y-4",children:[J.jsxs(O$,{value:"faq-1",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How much can AI orchestration actually save?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Organizations typically see 30-50% reduction in LLM costs through intelligent routing alone. Additional savings come from caching (10-20% for repetitive requests) and elimination of redundant API calls. Actual savings depend on your current usage patterns—our discovery phase provides specific projections before you commit to implementation."})})]}),J.jsxs(O$,{value:"faq-2",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"We already use OpenAI/Anthropic directly. Is migration disruptive?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Minimal disruption. The orchestration layer proxies requests through a unified API that is compatible with major providers. Most applications require only endpoint and authentication changes—typically a few lines of code. We handle migration gradually, starting with new features or low-risk applications."})})]}),J.jsxs(O$,{value:"faq-3",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"Can we use our own/self-hosted models alongside commercial APIs?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Yes. The orchestration layer supports any model endpoint—commercial APIs, open-source models on your infrastructure, or fine-tuned models you have trained. Routing rules can direct sensitive requests to self-hosted models while using commercial APIs for general tasks."})})]}),J.jsxs(O$,{value:"faq-4",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How long does implementation take?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Standard implementations complete in 4-6 weeks from kickoff to production. Discovery and architecture take 1-2 weeks. Gateway deployment and integration take 2-3 weeks. Optimization and governance configuration take 1-2 weeks. Complex enterprise environments with multiple business units may extend to 8-10 weeks."})})]}),J.jsxs(O$,{value:"faq-5",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What about compliance and audit requirements?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"The orchestration layer provides complete audit logging—every request, response, model used, user, and cost. PII detection and masking can be configured for specific data types. Access controls enforce who can use which models. Compliance reports can be generated for regulatory reviews."})})]}),J.jsxs(O$,{value:"faq-6",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"We have strict data residency requirements. Can orchestration handle that?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Yes. The gateway can be deployed in your infrastructure (on-premise or private cloud) with data never leaving your environment. Routing rules can direct specific data types to specific endpoints based on sensitivity and residency requirements."})})]}),J.jsxs(O$,{value:"faq-7",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How does intelligent routing actually work?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Routing rules analyze incoming requests based on configurable criteria: prompt length, task classification, user or team, application source, time of day, or custom metadata. Simple categorization requests route to fast, cheap models. Complex reasoning routes to capable models. Rules are continuously optimized based on quality and cost outcomes."})})]}),J.jsxs(O$,{value:"faq-8",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What happens if you leave? Are we stuck?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"No dependency created. We implement using documented, maintainable approaches. Your team receives full training on operations and optimization. All configuration, rules, and documentation transfer to you. Optional ongoing support available but not required."})})]}),J.jsxs(O$,{value:"faq-9",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What is the difference between orchestration and an LLM gateway?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"An LLM gateway provides unified access to multiple models—a technical layer. Orchestration adds intelligence: routing decisions, cost optimization, governance policies, and operational workflows. We implement both—the gateway as infrastructure, orchestration as the intelligence layer on top."})})]}),J.jsxs(O$,{value:"faq-10",className:"bg-card rounded-xl border border-outline/30 px-6 overflow-hidden",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"Do we need dedicated AI platform engineers to operate this?"})}),J.jsx(q$,{className:"pb-6",children:J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Not dedicated engineers, but someone owning AI infrastructure operations. Day-to-day operation is minimal with proper automation. Optimization and rule tuning require periodic attention. We recommend 10-20% of an engineer's time for organizations with moderate AI usage, scaling up for heavy usage."})})]})]})]})})})]}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-differentiators",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-center",children:"What Sets Our Approach Apart"}),J.jsx("p",{className:"text-lg text-muted-foreground text-center mb-12 max-w-2xl mx-auto",children:"Production-focused implementation that delivers results, not just architecture diagrams."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(Rw,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Production Focus"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We don't do POCs that stall. Every engagement delivers production infrastructure you use the next week. Real cost savings, not theoretical projections."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(oc,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Technology-Agnostic"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We implement the right solution for your requirements—open source, commercial, hybrid. No platform to sell you, no vendor relationships driving our recommendations."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(Np,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Knowledge Transfer"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your team operates the system after we leave. Complete documentation, training, and ongoing support options. No forced dependency."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(_N,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Integration Reality"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We work with your existing infrastructure—CI/CD, monitoring, security tools, identity systems. Not a rip-and-replace."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-accent-green/10 w-fit mb-4",children:J.jsx(Gk,{className:"w-6 h-6 text-accent-green"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Cost Guarantee"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We project cost savings based on your actual usage analysis. If orchestration doesn't deliver value, we work until it does."})]}),J.jsxs(aU,{className:"clean-card p-6 border border-outline/30 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-purple/10 w-fit mb-4",children:J.jsx(On,{className:"w-6 h-6 text-data-purple"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Enterprise Depth"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"From startup to Fortune 500, we've deployed AI infrastructure that actually scales. Governance that satisfies auditors. Reliability that operations teams trust."})]})]})]})})}),"ai-orchestration"===s.slug&&J.jsx("section",{id:"ai-orchestration-pricing",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-center",children:"Investment & Engagement Options"}),J.jsx("p",{className:"text-lg text-muted-foreground text-center mb-12 max-w-2xl mx-auto",children:"Flexible engagement models to match your needs and timeline."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 lg:gap-8 mb-12",children:[J.jsxs(aU,{className:"clean-card p-8 border border-outline/30 shadow-sm flex flex-col",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Architecture Assessment"}),J.jsxs("div",{className:"flex items-baseline gap-1 mb-2",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$15,000"}),J.jsx("span",{className:"text-lg text-muted-foreground",children:"– $25,000"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"2-3 weeks"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Complete analysis of your current AI usage, costs, and architecture. Delivers specific recommendations and savings projections without commitment to implementation."}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-semibold text-foreground mb-3",children:"Includes:"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"AI usage audit across applications and teams"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Cost analysis and attribution"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Architecture recommendations"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Implementation roadmap with projected savings"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Executive summary for leadership"})]})]})]}),J.jsx("div",{className:"mt-8",children:J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Get Started"})})]}),J.jsxs(aU,{className:"clean-card p-8 border-2 border-primary shadow-lg relative flex flex-col md:-mt-4 md:mb-4",children:[J.jsx(hU,{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground px-4",children:"Recommended"}),J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Standard Orchestration"}),J.jsxs("div",{className:"flex items-baseline gap-1 mb-2",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$60,000"}),J.jsx("span",{className:"text-lg text-muted-foreground",children:"– $100,000"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"4-6 weeks"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Full orchestration implementation for organizations with moderate AI usage (up to $50K/month in LLM spend) and straightforward architecture."}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-semibold text-foreground mb-3",children:"Includes:"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Everything in Assessment"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Production gateway deployment"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Intelligent routing configuration"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Cost management and alerting"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Team training and documentation"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"30 days post-launch support"})]})]})]}),J.jsx("div",{className:"mt-8",children:J.jsx(oz,{className:"w-full",onClick:()=>v(!0),children:"Get Started"})})]}),J.jsxs(aU,{className:"clean-card p-8 border border-outline/30 shadow-sm flex flex-col",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Enterprise Orchestration"}),J.jsxs("div",{className:"flex items-baseline gap-1 mb-2",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$100,000"}),J.jsx("span",{className:"text-lg text-muted-foreground",children:"– $200,000+"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"6-10 weeks"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-6 leading-relaxed",children:"Comprehensive orchestration for complex enterprise environments with multiple business units, significant AI spend, and advanced governance requirements."}),J.jsxs("div",{className:"flex-1",children:[J.jsx("p",{className:"text-sm font-semibold text-foreground mb-3",children:"Includes:"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Everything in Standard"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Multi-environment deployment (dev/staging/prod)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Enterprise governance and compliance configuration"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Integration with existing identity and monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Advanced routing optimization"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Extended training and documentation"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"w-4 h-4 text-accent-green mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"90 days post-launch support"})]})]})]}),J.jsx("div",{className:"mt-8",children:J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Contact Us"})})]})]}),J.jsxs("div",{className:"bg-surface/70 border border-outline/30 rounded-2xl p-8 text-center",children:[J.jsx("div",{className:"flex justify-center mb-4",children:J.jsx("div",{className:"p-3 rounded-lg bg-accent-green/10",children:J.jsx(ZC,{className:"w-6 h-6 text-accent-green"})})}),J.jsxs("p",{className:"text-lg text-foreground font-medium max-w-3xl mx-auto leading-relaxed",children:["AI orchestration typically delivers ROI within 3-6 months through ",J.jsx("span",{className:"text-primary font-semibold",children:"30-50% reduction in LLM API costs"}),", elimination of shadow AI spend, reduced engineering time on AI infrastructure, and avoided compliance incidents."]})]})]})})}),"ai-orchestration"===s.slug&&J.jsxs("section",{className:"py-20 bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 relative overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 opacity-5",children:J.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle at 25% 25%, hsl(var(--primary)) 1px, transparent 1px),\n                                  radial-gradient(circle at 75% 75%, hsl(var(--primary)) 1px, transparent 1px)",backgroundSize:"60px 60px"}})}),J.jsx("div",{className:"container mx-auto px-6 relative z-10",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("div",{className:"text-center mb-12",children:J.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-white mb-6",children:"Ready to Take Control of Your AI Operations?"})}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-12",children:[J.jsxs("div",{className:"bg-white/10 backdrop-blur-sm rounded-xl p-8 border border-white/20",children:[J.jsx("h3",{className:"text-xl font-bold text-white mb-4",children:"AI Operations Assessment"}),J.jsx("p",{className:"text-slate-300 leading-relaxed mb-6",children:"2-week deep dive into your current AI usage, costs, and optimization opportunities. Includes ROI projection and implementation roadmap."}),J.jsx(oz,{size:"lg",className:"w-full min-h-[48px] bg-white text-slate-900 hover:bg-slate-100 font-semibold",onClick:()=>{v(!0),"undefined"!=typeof window&&window.gtag&&window.gtag("event","cta_click",{event_category:"engagement",event_label:"ai_orchestration_assessment_request",service:"ai-orchestration"})},children:"Request Assessment"})]}),J.jsxs("div",{className:"bg-white/5 backdrop-blur-sm rounded-xl p-8 border border-white/10",children:[J.jsx("h3",{className:"text-xl font-bold text-white mb-4",children:"Architecture Review"}),J.jsx("p",{className:"text-slate-300 leading-relaxed mb-6",children:"60-minute consultation to discuss your AI infrastructure, challenges, and how orchestration could help. No commitment required."}),J.jsx(oz,{variant:"outline",size:"lg",className:"w-full min-h-[48px] text-white border-white/30 hover:bg-white/10 hover:text-white font-semibold",onClick:()=>{v(!0),"undefined"!=typeof window&&window.gtag&&window.gtag("event","cta_click",{event_category:"engagement",event_label:"ai_orchestration_review_call",service:"ai-orchestration"})},children:"Book Review Call"})]})]}),J.jsx("div",{className:"text-center",children:J.jsxs("p",{className:"text-slate-400 text-sm",children:["Not ready to talk? Download our guide: ",J.jsx("span",{className:"text-white font-medium",children:'"The Enterprise Guide to AI Cost Optimization"'})," ",J.jsx("span",{className:"text-slate-500",children:"[coming soon]"})]})})]})})]}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"what-is-edge-cv",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"Computer Vision at the Edge: See Everything, Process Instantly"}),J.jsxs("div",{className:"space-y-6 mb-12",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Computer vision gives machines the ability to see and understand visual information—detecting objects, reading text, identifying defects, tracking movement, and recognizing patterns that humans might miss or can't process fast enough."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Edge computer vision takes this further by running the AI directly on local hardware—cameras, embedded devices, or on-site servers—rather than sending video to the cloud."})]}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-12",children:[J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx($P,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Speed"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Decisions in milliseconds, not seconds. A robotic arm needs to know where to pick. A safety system needs to detect hazards instantly. Cloud round-trips are too slow."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(OP,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Reliability"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Production can't stop because your internet flickered. Edge deployment keeps vision running even when connectivity fails."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(hy,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Privacy"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your factory floor, your customer behavior, your operational data—processed locally, never leaving your premises."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-secondary/10 w-fit mb-4",children:J.jsx(ZC,{className:"w-6 h-6 text-secondary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Bandwidth"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Streaming 4K video from dozens of cameras to the cloud is expensive and impractical. Process locally, send only insights."})]})]}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"The result: vision systems that operate in the real world with the speed, reliability, and privacy that production environments demand."})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-visual-demo",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-center",children:"Computer Vision in Action"}),J.jsxs(oZ,{opts:{align:"start",loop:!0},className:"w-full",children:[J.jsxs(lZ,{className:"-ml-2 md:-ml-4",children:[J.jsx(dZ,{className:"pl-2 md:pl-4 md:basis-1/2 lg:basis-1/3",children:J.jsxs("div",{className:"group relative overflow-hidden rounded-xl border border-outline/30 bg-surface/30 hover:border-primary/30 transition-all duration-300",children:[J.jsx("div",{className:"aspect-video overflow-hidden",children:J.jsx("img",{src:"/assets/cv-demo-object-detection-Dy8oAUz-.webp",alt:"Real-time object detection identifying parts on production line with AI bounding boxes",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),J.jsxs("div",{className:"p-4",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Object Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Real-time object detection identifying parts on production line with confidence scoring"})]})]})}),J.jsx(dZ,{className:"pl-2 md:pl-4 md:basis-1/2 lg:basis-1/3",children:J.jsxs("div",{className:"group relative overflow-hidden rounded-xl border border-outline/30 bg-surface/30 hover:border-primary/30 transition-all duration-300",children:[J.jsx("div",{className:"aspect-video overflow-hidden",children:J.jsx("img",{src:"/assets/cv-demo-defect-detection-v3ybBkRi.webp",alt:"Surface defect detection catching quality issues with AI highlighting",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),J.jsxs("div",{className:"p-4",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Defect Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Surface defect detection catching issues human inspectors miss"})]})]})}),J.jsx(dZ,{className:"pl-2 md:pl-4 md:basis-1/2 lg:basis-1/3",children:J.jsxs("div",{className:"group relative overflow-hidden rounded-xl border border-outline/30 bg-surface/30 hover:border-primary/30 transition-all duration-300",children:[J.jsx("div",{className:"aspect-video overflow-hidden",children:J.jsx("img",{src:"/assets/cv-demo-ppe-safety-C-5e-hN3.webp",alt:"Automated PPE compliance monitoring with safety equipment detection",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),J.jsxs("div",{className:"p-4",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Safety Monitoring"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Automated PPE compliance monitoring for hard hats, vests, and safety equipment"})]})]})}),J.jsx(dZ,{className:"pl-2 md:pl-4 md:basis-1/2 lg:basis-1/3",children:J.jsxs("div",{className:"group relative overflow-hidden rounded-xl border border-outline/30 bg-surface/30 hover:border-primary/30 transition-all duration-300",children:[J.jsx("div",{className:"aspect-video overflow-hidden",children:J.jsx("img",{src:"/assets/cv-demo-inventory-counting-Q4JLvz3h.webp",alt:"Accurate inventory counting without manual scanning using AI vision",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),J.jsxs("div",{className:"p-4",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Inventory Counting"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Accurate inventory counting without manual scanning"})]})]})}),J.jsx(dZ,{className:"pl-2 md:pl-4 md:basis-1/2 lg:basis-1/3",children:J.jsxs("div",{className:"group relative overflow-hidden rounded-xl border border-outline/30 bg-surface/30 hover:border-primary/30 transition-all duration-300",children:[J.jsx("div",{className:"aspect-video overflow-hidden",children:J.jsx("img",{src:"/assets/cv-demo-dashboard-CgTJ7Wsm.webp",alt:"Real-time performance monitoring dashboard with drift detection",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),J.jsxs("div",{className:"p-4",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Analytics Dashboard"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Real-time performance monitoring and drift detection"})]})]})})]}),J.jsxs("div",{className:"flex items-center justify-center gap-4 mt-8",children:[J.jsx(cZ,{className:"static translate-y-0 h-10 w-10"}),J.jsx(mZ,{className:"static translate-y-0 h-10 w-10"})]})]}),J.jsx("p",{className:"text-center text-sm text-muted-foreground mt-8 max-w-2xl mx-auto",children:"These examples represent the types of vision systems we deploy. Your implementation will be trained on your specific environment, products, and use case requirements."})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-problems",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Why Computer Vision Projects Fail to Reach Production"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"The industry has a dirty secret: most computer vision projects never make it out of the lab."}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-12",children:[J.jsxs(aU,{className:"p-6 border border-outline/30 shadow-md bg-surface/50",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-amber-500/10 w-fit mb-4",children:J.jsx(ON,{className:"w-6 h-6 text-amber-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Demo That Impressed Everyone"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your team trained a model that works beautifully on test images. Leadership gets excited. Then reality hits: the model falls apart on real factory lighting, unexpected angles, and edge cases."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 shadow-md bg-surface/50",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-red-500/10 w-fit mb-4",children:J.jsx(Kd,{className:"w-6 h-6 text-red-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Cloud Dependency Trap"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"You built a solution that works—but only when connected to cloud infrastructure. Then your network has a hiccup, and production stops. Or you calculate streaming costs, and the business case evaporates."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 shadow-md bg-surface/50",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-orange-500/10 w-fit mb-4",children:J.jsx(Ld,{className:"w-6 h-6 text-orange-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Latency Problem"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your quality inspection model is accurate—but takes 800ms per frame. At line speed, defective parts are downstream before results return. The vision system becomes reporting, not control."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 shadow-md bg-surface/50",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-purple-500/10 w-fit mb-4",children:J.jsx(Uc,{className:"w-6 h-6 text-purple-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Hardware Mismatch"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"You trained on powerful cloud GPUs, but your edge device has a fraction of that compute. The model that worked in development doesn't fit on production hardware."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 shadow-md bg-surface/50 sm:col-span-2 lg:col-span-1",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-destructive/10 w-fit mb-4",children:J.jsx(eI,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:'The "It Stopped Working" Mystery'}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Six months after deployment, accuracy has quietly degraded. Lighting changed. Products changed. Nothing tracks performance, so problems only surface when customers complain."})]})]}),J.jsx("p",{className:"text-lg text-muted-foreground text-center max-w-4xl mx-auto",children:"The Computer Vision FastTrack exists because we've seen these patterns destroy promising projects—and we've built a methodology to prevent them."})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-solution-overview",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"From Cameras to Intelligence in 8 Weeks"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"The Computer Vision FastTrack isn't a research project. It's a structured program that delivers production-ready vision systems—optimized for your hardware, integrated with your operations, and built with the monitoring to keep them working."}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-8",children:"What You Get"}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background shadow-sm relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-3 right-3",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-0",children:"Included"})}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(qk,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Production Vision System"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Models trained on your data, optimized for your hardware, deployed in your environment. Not a demo—a working system handling real visual data at production speeds."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background shadow-sm relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-3 right-3",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-0",children:"Included"})}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(Yu,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Edge-Optimized Models"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Neural networks tuned for target latency and frame rate on your specific hardware—whether Jetson, x86 with accelerators, or custom platforms."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background shadow-sm relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-3 right-3",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-0",children:"Included"})}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(ep,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"MLOps Infrastructure"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Automated pipelines for model versioning, A/B testing, and retraining. When performance drifts, you know—and you have tools to fix it."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background shadow-sm relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-3 right-3",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-0",children:"Included"})}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-purple-500/10 w-fit mb-4",children:J.jsx(Ns,{className:"w-6 h-6 text-purple-500"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Monitoring & Observability"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Dashboards tracking inference latency, throughput, accuracy metrics, and drift indicators. Know HOW your system performs, not just that it's running."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background shadow-sm relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-3 right-3",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-0",children:"Included"})}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-amber-500/10 w-fit mb-4",children:J.jsx(jN,{className:"w-6 h-6 text-amber-500"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Integration Layer"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"APIs and connectors linking vision outputs to your existing systems—PLCs, MES, WMS, ERP, or custom applications."})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background shadow-sm relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-3 right-3",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-0",children:"Included"})}),J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-secondary/10 w-fit mb-4",children:J.jsx(Qi,{className:"w-6 h-6 text-secondary"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Operational Runbook"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Documentation for monitoring, troubleshooting, scaling, and retraining. Your team can operate and evolve the system independently."})]})]})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-fasttrack-process",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"How We Deploy Production Computer Vision in 8 Weeks"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Our accelerated timeline comes from parallel workstreams, production-proven components, and relentless focus on deployment—not research. Here's how the eight weeks break down:"}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute left-6 md:left-8 top-0 bottom-0 w-0.5 bg-outline/30 hidden sm:block"}),J.jsxs("div",{className:"relative flex gap-6 mb-12",children:[J.jsxs("div",{className:"flex-shrink-0 w-12 md:w-16 flex flex-col items-center",children:[J.jsx("div",{className:"w-12 md:w-16 h-12 md:h-16 rounded-full bg-data-orange flex items-center justify-center text-white font-bold text-sm z-10",children:"1-2"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"Week"})]}),J.jsxs("div",{className:"flex-1 pb-8",children:[J.jsx(hU,{className:"mb-3 bg-data-orange/10 text-data-orange border-0 hover:bg-data-orange/20",children:"Week 1-2"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Discovery & Data Foundation"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We audit your visual environment—cameras, lighting, products, processes. In parallel, we establish data collection and begin building your training dataset."}),J.jsx(R$,{type:"single",collapsible:!0,className:"mb-4",children:J.jsxs(O$,{value:"activities-1",className:"border-outline/30",children:[J.jsx(D$,{className:"text-sm font-medium hover:no-underline py-3",children:"Activities"}),J.jsx(q$,{className:"pb-4",children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Visual environment assessment"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Camera and hardware evaluation"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Data collection pipeline setup"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Initial dataset creation and annotation"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Baseline model selection"]})]})})]})}),J.jsx("div",{className:"bg-surface/50 rounded-lg p-4 border border-outline/20",children:J.jsxs("p",{className:"text-sm",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Deliverables:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Environment audit report, hardware recommendations, annotated training dataset"})]})})]})]}),J.jsxs("div",{className:"relative flex gap-6 mb-12",children:[J.jsxs("div",{className:"flex-shrink-0 w-12 md:w-16 flex flex-col items-center",children:[J.jsx("div",{className:"w-12 md:w-16 h-12 md:h-16 rounded-full bg-data-teal flex items-center justify-center text-white font-bold text-sm z-10",children:"2-4"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"Week"})]}),J.jsxs("div",{className:"flex-1 pb-8",children:[J.jsx(hU,{className:"mb-3 bg-data-teal/10 text-data-teal border-0 hover:bg-data-teal/20",children:"Week 2-4"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Model Development & Optimization"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We train custom models on your data, then optimize aggressively for your target hardware. This isn't just accuracy—it's accuracy at target latency and frame rate."}),J.jsx(R$,{type:"single",collapsible:!0,className:"mb-4",children:J.jsxs(O$,{value:"activities-2",className:"border-outline/30",children:[J.jsx(D$,{className:"text-sm font-medium hover:no-underline py-3",children:"Activities"}),J.jsx(q$,{className:"pb-4",children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Custom model training"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Transfer learning from proven architectures"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Quantization and pruning for edge"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Hardware-specific tuning (TensorRT, ONNX)"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Performance benchmarking"]})]})})]})}),J.jsx("div",{className:"bg-surface/50 rounded-lg p-4 border border-outline/20",children:J.jsxs("p",{className:"text-sm",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Deliverables:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Trained model, edge-optimized variants, performance benchmark report"})]})})]})]}),J.jsxs("div",{className:"relative flex gap-6 mb-12",children:[J.jsxs("div",{className:"flex-shrink-0 w-12 md:w-16 flex flex-col items-center",children:[J.jsx("div",{className:"w-12 md:w-16 h-12 md:h-16 rounded-full bg-data-blue flex items-center justify-center text-white font-bold text-sm z-10",children:"5-6"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"Week"})]}),J.jsxs("div",{className:"flex-1 pb-8",children:[J.jsx(hU,{className:"mb-3 bg-data-blue/10 text-data-blue border-0 hover:bg-data-blue/20",children:"Week 5-6"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Integration & Infrastructure"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We deploy the optimized model to your edge hardware, build the inference pipeline, and integrate with your existing systems. MLOps infrastructure goes live."}),J.jsx(R$,{type:"single",collapsible:!0,className:"mb-4",children:J.jsxs(O$,{value:"activities-3",className:"border-outline/30",children:[J.jsx(D$,{className:"text-sm font-medium hover:no-underline py-3",children:"Activities"}),J.jsx(q$,{className:"pb-4",children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Edge device provisioning"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Inference pipeline deployment"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"System integration (APIs, databases)"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"MLOps pipeline setup"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Monitoring dashboard configuration"]})]})})]})}),J.jsx("div",{className:"bg-surface/50 rounded-lg p-4 border border-outline/20",children:J.jsxs("p",{className:"text-sm",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Deliverables:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Deployed inference system, MLOps pipelines operational, monitoring live"})]})})]})]}),J.jsxs("div",{className:"relative flex gap-6",children:[J.jsxs("div",{className:"flex-shrink-0 w-12 md:w-16 flex flex-col items-center",children:[J.jsx("div",{className:"w-12 md:w-16 h-12 md:h-16 rounded-full bg-secondary flex items-center justify-center text-white font-bold text-sm z-10",children:"7-8"}),J.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"Week"})]}),J.jsxs("div",{className:"flex-1",children:[J.jsx(hU,{className:"mb-3 bg-secondary/10 text-secondary border-0 hover:bg-secondary/20",children:"Week 7-8"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Validation & Production Launch"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Production validation with real data, user training, and formal handoff. We ensure the system performs in actual operating conditions."}),J.jsx(R$,{type:"single",collapsible:!0,className:"mb-4",children:J.jsxs(O$,{value:"activities-4",className:"border-outline/30",children:[J.jsx(D$,{className:"text-sm font-medium hover:no-underline py-3",children:"Activities"}),J.jsx(q$,{className:"pb-4",children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Production validation testing"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Edge case handling refinement"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"User and operator training"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Documentation finalization"]})]})})]})}),J.jsx("div",{className:"bg-surface/50 rounded-lg p-4 border border-outline/20",children:J.jsxs("p",{className:"text-sm",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Deliverables:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Production system live, trained operators, complete documentation, 30-day support begins"})]})})]})]})]})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-use-cases",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"What Can You Build in 8 Weeks?"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Computer vision transforms any process that currently relies on human eyes—or should have eyes but doesn't. Here's what organizations deploy with FastTrack:"}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background hover:shadow-lg transition-shadow duration-300 group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(jk,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Automated Visual Inspection"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Detect defects that human inspectors miss or can't keep pace with. Surface scratches, assembly errors, missing components, dimensional variations—caught in real-time, every unit."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("p",{className:"text-xs",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Industries:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Manufacturing, Electronics, Pharma, Food Processing"})]}),J.jsxs("p",{className:"text-xs text-data-teal",children:[J.jsx("span",{className:"font-medium",children:"Impact:"})," Reduced escapes, consistent quality, inspection that scales"]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background hover:shadow-lg transition-shadow duration-300 group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 w-fit mb-4 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(pn,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Object Detection & Counting"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Know exactly what's present, where, and how many. Products on shelves, packages on conveyors, vehicles in lots, people in spaces—accurate counts without manual tallying."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("p",{className:"text-xs",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Industries:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Inventory, Warehouse, Retail, Traffic"})]}),J.jsxs("p",{className:"text-xs text-data-teal",children:[J.jsx("span",{className:"font-medium",children:"Impact:"})," Accurate inventory, automated counting, real-time visibility"]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background hover:shadow-lg transition-shadow duration-300 group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-amber-500/10 w-fit mb-4 group-hover:bg-amber-500/20 transition-colors",children:J.jsx(Up,{className:"w-6 h-6 text-amber-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Safety & Compliance Monitoring"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Ensure PPE is worn, people stay out of hazard zones, safety protocols are followed—automatically, continuously, without dedicated observers."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("p",{className:"text-xs",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Industries:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Manufacturing, Construction, Warehouse, Labs"})]}),J.jsxs("p",{className:"text-xs text-data-teal",children:[J.jsx("span",{className:"font-medium",children:"Impact:"})," Reduced incidents, compliance documentation, proactive intervention"]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background hover:shadow-lg transition-shadow duration-300 group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-purple-500/10 w-fit mb-4 group-hover:bg-purple-500/20 transition-colors",children:J.jsx(un,{className:"w-6 h-6 text-purple-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Robotic Guidance & Pick"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Give robots the eyes they need. Locate parts for picking, guide assembly operations, enable navigation in dynamic environments."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("p",{className:"text-xs",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Industries:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Warehouse Automation, Assembly, Autonomous Vehicles"})]}),J.jsxs("p",{className:"text-xs text-data-teal",children:[J.jsx("span",{className:"font-medium",children:"Impact:"})," Reliable automation, handling variation, faster cycle times"]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background hover:shadow-lg transition-shadow duration-300 group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4 group-hover:bg-data-blue/20 transition-colors",children:J.jsx(dk,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Document & Text Recognition"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Extract text from images, documents, labels, and signs automatically. Read shipping labels, capture form data, process invoices."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("p",{className:"text-xs",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Industries:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Logistics, Document Processing, License Plates"})]}),J.jsxs("p",{className:"text-xs text-data-teal",children:[J.jsx("span",{className:"font-medium",children:"Impact:"})," Eliminated data entry, faster processing, reduced errors"]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background hover:shadow-lg transition-shadow duration-300 group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-secondary/10 w-fit mb-4 group-hover:bg-secondary/20 transition-colors",children:J.jsx(Ns,{className:"w-6 h-6 text-secondary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Behavior & Activity Analysis"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Understand what's happening, not just what's present. Customer journeys, traffic flow, process adherence, equipment operation."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("p",{className:"text-xs",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Industries:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Retail Analytics, Security, Process Compliance"})]}),J.jsxs("p",{className:"text-xs text-data-teal",children:[J.jsx("span",{className:"font-medium",children:"Impact:"})," Operational insights, process optimization"]})]})]})]})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-who-we-serve",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12",children:"Computer Vision for Every Industry and Scale"}),J.jsx("div",{className:"hidden md:block",children:J.jsxs(pQ,{defaultValue:"manufacturing",className:"w-full",children:[J.jsxs(gQ,{className:"w-full grid grid-cols-6 h-auto p-1 mb-8 bg-surface/50",children:[J.jsxs(fQ,{value:"manufacturing",className:"flex flex-col items-center gap-1 py-3 text-xs data-[state=active]:bg-background",children:[J.jsx(ph,{className:"w-5 h-5"}),"Manufacturing"]}),J.jsxs(fQ,{value:"logistics",className:"flex flex-col items-center gap-1 py-3 text-xs data-[state=active]:bg-background",children:[J.jsx(rI,{className:"w-5 h-5"}),"Logistics"]}),J.jsxs(fQ,{value:"retail",className:"flex flex-col items-center gap-1 py-3 text-xs data-[state=active]:bg-background",children:[J.jsx(xS,{className:"w-5 h-5"}),"Retail"]}),J.jsxs(fQ,{value:"robotics",className:"flex flex-col items-center gap-1 py-3 text-xs data-[state=active]:bg-background",children:[J.jsx(un,{className:"w-5 h-5"}),"Robotics"]}),J.jsxs(fQ,{value:"startups",className:"flex flex-col items-center gap-1 py-3 text-xs data-[state=active]:bg-background",children:[J.jsx(Rw,{className:"w-5 h-5"}),"Startups"]}),J.jsxs(fQ,{value:"enterprise",className:"flex flex-col items-center gap-1 py-3 text-xs data-[state=active]:bg-background",children:[J.jsx(On,{className:"w-5 h-5"}),"Enterprise"]})]}),J.jsx(yQ,{value:"manufacturing",className:"mt-0",children:J.jsxs(aU,{className:"p-8 border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(ph,{className:"w-6 h-6 text-data-orange"}),"Manufacturing Operations"]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You need inspection that keeps pace with production, catches defects humans miss, and runs without network dependencies."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We deploy vision systems that integrate with your PLCs, MES, and existing automation—providing real-time quality data."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"text-sm font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Inspection at line speed, reduced escapes, quality data integrated with production systems."})]})]})]})}),J.jsx(yQ,{value:"logistics",className:"mt-0",children:J.jsxs(aU,{className:"p-8 border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(rI,{className:"w-6 h-6 text-data-teal"}),"Warehouse & Logistics"]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You need to track inventory, guide automation, and verify shipments—accurately and continuously."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We build vision systems that count, identify, and track without manual scanning, working alongside your WMS."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"text-sm font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Accurate inventory counts, automated verification, seamless WMS integration."})]})]})]})}),J.jsx(yQ,{value:"retail",className:"mt-0",children:J.jsxs(aU,{className:"p-8 border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(xS,{className:"w-6 h-6 text-purple-500"}),"Retail Operations"]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You want to understand customer behavior, manage inventory visibility, and prevent shrinkage—without intrusive surveillance."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We deploy analytics that provide actionable insights while respecting privacy."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"text-sm font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Customer flow insights, shelf visibility, loss prevention intelligence."})]})]})]})}),J.jsx(yQ,{value:"robotics",className:"mt-0",children:J.jsxs(aU,{className:"p-8 border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(un,{className:"w-6 h-6 text-data-blue"}),"Robotics & Automation"]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Your robots need reliable perception to work."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We build vision systems that guide picking, enable navigation, and provide spatial intelligence—tuned for required latency."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"text-sm font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Reliable robotic guidance, handling variation, integration with existing automation."})]})]})]})}),J.jsx(yQ,{value:"startups",className:"mt-0",children:J.jsxs(aU,{className:"p-8 border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(Rw,{className:"w-6 h-6 text-amber-500"}),"Startups Building Vision Products"]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You want AI features in your product without building an ML team from scratch."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We deliver production vision capabilities on your timeline, giving your product intelligent features."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"text-sm font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Vision features in your product timeline, not a research project timeline."})]})]})]})}),J.jsx(yQ,{value:"enterprise",className:"mt-0",children:J.jsxs(aU,{className:"p-8 border border-outline/30",children:[J.jsxs("h3",{className:"text-xl font-semibold text-foreground mb-4 flex items-center gap-3",children:[J.jsx(On,{className:"w-6 h-6 text-secondary"}),"Enterprise IT & Innovation"]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Leadership wants computer vision deployed, but you've seen pilots stall."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We provide the structured path to production that enterprise requires—with governance, monitoring, and documentation."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"text-sm font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Production deployment with enterprise governance, not another POC."})]})]})]})})]})}),J.jsx("div",{className:"md:hidden",children:J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-3",children:[J.jsxs(O$,{value:"manufacturing",className:"border border-outline/30 rounded-lg px-4",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-3 text-left",children:[J.jsx(ph,{className:"w-5 h-5 text-data-orange flex-shrink-0"}),J.jsx("span",{className:"font-medium",children:"Manufacturing Operations"})]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You need inspection that keeps pace with production, catches defects humans miss, and runs without network dependencies."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We deploy vision systems that integrate with your PLCs, MES, and existing automation—providing real-time quality data."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Inspection at line speed, reduced escapes, quality data integrated with production systems."})]})]})})]}),J.jsxs(O$,{value:"logistics",className:"border border-outline/30 rounded-lg px-4",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-3 text-left",children:[J.jsx(rI,{className:"w-5 h-5 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"font-medium",children:"Warehouse & Logistics"})]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You need to track inventory, guide automation, and verify shipments—accurately and continuously."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We build vision systems that count, identify, and track without manual scanning, working alongside your WMS."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Accurate inventory counts, automated verification, seamless WMS integration."})]})]})})]}),J.jsxs(O$,{value:"retail",className:"border border-outline/30 rounded-lg px-4",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-3 text-left",children:[J.jsx(xS,{className:"w-5 h-5 text-purple-500 flex-shrink-0"}),J.jsx("span",{className:"font-medium",children:"Retail Operations"})]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You want to understand customer behavior, manage inventory visibility, and prevent shrinkage—without intrusive surveillance."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We deploy analytics that provide actionable insights while respecting privacy."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Customer flow insights, shelf visibility, loss prevention intelligence."})]})]})})]}),J.jsxs(O$,{value:"robotics",className:"border border-outline/30 rounded-lg px-4",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-3 text-left",children:[J.jsx(un,{className:"w-5 h-5 text-data-blue flex-shrink-0"}),J.jsx("span",{className:"font-medium",children:"Robotics & Automation"})]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Your robots need reliable perception to work."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We build vision systems that guide picking, enable navigation, and provide spatial intelligence—tuned for required latency."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Reliable robotic guidance, handling variation, integration with existing automation."})]})]})})]}),J.jsxs(O$,{value:"startups",className:"border border-outline/30 rounded-lg px-4",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-3 text-left",children:[J.jsx(Rw,{className:"w-5 h-5 text-amber-500 flex-shrink-0"}),J.jsx("span",{className:"font-medium",children:"Startups Building Vision Products"})]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You want AI features in your product without building an ML team from scratch."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We deliver production vision capabilities on your timeline, giving your product intelligent features."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Vision features in your product timeline, not a research project timeline."})]})]})})]}),J.jsxs(O$,{value:"enterprise",className:"border border-outline/30 rounded-lg px-4",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-3 text-left",children:[J.jsx(On,{className:"w-5 h-5 text-secondary flex-shrink-0"}),J.jsx("span",{className:"font-medium",children:"Enterprise IT & Innovation"})]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"The Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Leadership wants computer vision deployed, but you've seen pilots stall."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"font-medium text-foreground mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We provide the structured path to production that enterprise requires—with governance, monitoring, and documentation."})]}),J.jsxs("div",{className:"pt-2 border-t border-outline/20",children:[J.jsx("p",{className:"font-medium text-data-teal",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Production deployment with enterprise governance, not another POC."})]})]})})]})]})})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-hardware",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Right Hardware for Your Use Case"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"There's no one-size-fits-all for edge computer vision. The right hardware depends on your performance requirements, environment, power constraints, and budget. We help you navigate:"}),J.jsxs("div",{className:"grid sm:grid-cols-2 gap-6 mb-12",children:[J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-green-500/10 w-fit mb-4",children:J.jsx(Uc,{className:"w-6 h-6 text-green-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"NVIDIA Jetson Family"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"The go-to platform for demanding vision workloads. From Jetson Nano (entry-level) to Orin (server-class performance in embedded form factor)."}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best For:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"High-performance inference, complex models, multi-camera systems, robotics"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-amber-500 mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Considerations:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"NVIDIA ecosystem, higher power than microcontrollers"})]})]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 w-fit mb-4",children:J.jsx(qk,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"x86 + Accelerators"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Standard servers or industrial PCs paired with inference accelerators (Intel OpenVINO, NVIDIA GPUs, specialized ASICs). Familiar infrastructure."}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best For:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"IT-friendly deployment, existing infrastructure leverage, multi-workload systems"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-amber-500 mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Considerations:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Higher power, larger form factor, easier enterprise adoption"})]})]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-purple-500/10 w-fit mb-4",children:J.jsx(cd,{className:"w-6 h-6 text-purple-500"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Specialized Edge Devices"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Purpose-built inference hardware from vendors like Hailo, Coral, Intel Movidius. Optimized for specific performance/power/cost trade-offs."}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best For:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"High-volume deployment, extreme power constraints, cost-sensitive applications"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-amber-500 mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Considerations:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Specific optimization required, smaller ecosystem"})]})]})]})]}),J.jsxs(aU,{className:"p-6 border border-outline/30 bg-background",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(co,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Camera-Level Intelligence"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Smart cameras with built-in inference capabilities. Processing happens in the camera itself—no separate compute needed."}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best For:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Simple detection tasks, retrofit deployments, distributed systems"})]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(eI,{className:"w-4 h-4 text-amber-500 mt-0.5 flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("span",{className:"font-medium text-foreground",children:"Considerations:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"Limited model complexity, vendor lock-in risk"})]})]})]})]})]}),J.jsx("div",{className:"bg-data-teal/5 border border-data-teal/20 rounded-lg p-6",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2 rounded-lg bg-data-teal/10",children:J.jsx(Ef,{className:"w-5 h-5 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Our Guidance"}),J.jsx("p",{className:"text-muted-foreground",children:"We help you select based on your actual requirements—not just what's newest or most powerful. Sometimes a $150 device is the right choice; sometimes you need $2,000 in compute."})]})]})})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-mlops",className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Built for Production, Not Just Demos"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Deploying a model is the beginning, not the end. Production computer vision requires operational infrastructure that most POCs completely ignore."}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-12",children:[J.jsx(aU,{className:"p-6 border border-outline/30 bg-surface/50 hover:border-data-teal/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(ep,{className:"w-5 h-5 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Model Versioning & Rollback"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Track which model version is deployed where. When you need to update—or roll back—you can do it confidently across your fleet."})]})]})}),J.jsx(aU,{className:"p-6 border border-outline/30 bg-surface/50 hover:border-data-teal/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10",children:J.jsx(Ns,{className:"w-5 h-5 text-data-blue"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Performance Monitoring"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Track inference latency, throughput, and resource utilization in real-time. Know when performance degrades before it affects operations."})]})]})}),J.jsx(aU,{className:"p-6 border border-outline/30 bg-surface/50 hover:border-data-teal/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-amber-500/10",children:J.jsx(eI,{className:"w-5 h-5 text-amber-500"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Accuracy Drift Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Production environments change. Lighting shifts, products evolve. Drift detection alerts you when accuracy drops below thresholds—before you discover problems through escaped defects."})]})]})}),J.jsx(aU,{className:"p-6 border border-outline/30 bg-surface/50 hover:border-data-teal/30 transition-colors",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(bw,{className:"w-5 h-5 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Automated Retraining Pipelines"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"When drift occurs, retraining workflows make it efficient to correct. New data flows into training, updated models validate, deployment happens with minimal manual work."})]})]})}),J.jsx(aU,{className:"p-6 border border-outline/30 bg-surface/50 hover:border-data-teal/30 transition-colors sm:col-span-2 lg:col-span-1",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-purple-500/10",children:J.jsx(vf,{className:"w-5 h-5 text-purple-500"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Fleet Management"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Running vision on dozens or hundreds of devices? Centralized management for deploying updates, monitoring status, and troubleshooting across your entire deployment."})]})]})})]}),J.jsxs("div",{className:"bg-surface/50 rounded-lg p-8 border border-outline/20",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-6 text-center",children:"The Production Vision Lifecycle"}),J.jsxs("div",{className:"flex flex-wrap justify-center items-center gap-4 md:gap-2",children:[J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-background rounded-lg border border-outline/30",children:[J.jsx(om,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-medium",children:"Data Collection"})]}),J.jsx(ol,{className:"w-4 h-4 text-muted-foreground hidden md:block"}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-background rounded-lg border border-outline/30",children:[J.jsx(jn,{className:"w-4 h-4 text-data-blue"}),J.jsx("span",{className:"text-sm font-medium",children:"Training"})]}),J.jsx(ol,{className:"w-4 h-4 text-muted-foreground hidden md:block"}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-background rounded-lg border border-outline/30",children:[J.jsx(Rw,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-medium",children:"Deployment"})]}),J.jsx(ol,{className:"w-4 h-4 text-muted-foreground hidden md:block"}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-background rounded-lg border border-outline/30",children:[J.jsx(Ns,{className:"w-4 h-4 text-purple-500"}),J.jsx("span",{className:"text-sm font-medium",children:"Monitoring"})]}),J.jsx(ol,{className:"w-4 h-4 text-muted-foreground hidden md:block"}),J.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-background rounded-lg border border-outline/30",children:[J.jsx(bw,{className:"w-4 h-4 text-amber-500"}),J.jsx("span",{className:"text-sm font-medium",children:"Retraining"})]})]}),J.jsx("p",{className:"text-center text-sm text-muted-foreground mt-6",children:"Continuous improvement loop built into every deployment"})]})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-faq",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12",children:"Common Questions About Computer Vision FastTrack"}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-4",children:[J.jsxs(O$,{value:"q1",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"How is 8 weeks possible when computer vision projects typically take 6-12 months?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Three factors: (1) We focus exclusively on edge deployment, so our architecture decisions are already proven, (2) We bring reusable MLOps components that would take months to build, (3) We prioritize production essentials over research exploration. The result is faster deployment without sacrificing quality."})]}),J.jsxs(O$,{value:"q2",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"What accuracy can I expect from the deployed system?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Accuracy depends on your specific use case, data quality, and acceptable error rates. During discovery, we establish target metrics aligned with your operational requirements. We then design and optimize to meet those targets—not just maximize a generic accuracy number."})]}),J.jsxs(O$,{value:"q3",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"Do I need to provide training data, or can you generate it?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Both approaches work. Ideally, we use real data from your environment—it captures actual variation. If limited data exists, we can augment with synthetic generation, transfer learning, and active learning strategies. During discovery, we assess your data situation and plan accordingly."})]}),J.jsxs(O$,{value:"q4",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"What happens if lighting or conditions change after deployment?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"This is why drift monitoring is built-in. The system tracks performance and alerts when accuracy drops below thresholds. Our retraining pipelines then make it efficient to incorporate new data and update the model. Change is expected—the infrastructure handles it."})]}),J.jsxs(O$,{value:"q5",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"Can computer vision work with my existing cameras?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Usually, yes. We assess your current camera infrastructure during discovery. Most industrial and IP cameras work well. Sometimes resolution, frame rate, or mounting needs adjustment, but we try to leverage existing equipment when practical."})]}),J.jsxs(O$,{value:"q6",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"How does edge deployment compare to cloud-based computer vision?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Edge offers lower latency (milliseconds vs. hundreds), works without internet, keeps data on-premises, and avoids per-inference cloud costs. Cloud is easier to start but has ongoing costs, latency limitations, and connectivity dependencies. For most production applications, edge wins on total cost and reliability."})]}),J.jsxs(O$,{value:"q7",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"What if my use case needs multiple cameras or locations?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"FastTrack can deploy to single or multi-camera configurations. For larger deployments across many locations, we design fleet management infrastructure for centralized monitoring and updates. The 8-week timeline applies to initial deployment; scaling follows a faster replication pattern."})]}),J.jsxs(O$,{value:"q8",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"Which industries have you deployed computer vision for?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"We've deployed vision systems for manufacturing quality inspection, warehouse tracking, retail analytics, robotics guidance, and safety monitoring across various industries. The technology is broadly applicable—what varies is models, integration points, and operational requirements."})]}),J.jsxs(O$,{value:"q9",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"How much does a FastTrack engagement cost?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Investment depends on complexity: cameras, model complexity, integration requirements, and scale. Typical engagements range from $60,000 for focused single-use-case deployments to $200,000+ for complex multi-camera systems. We provide detailed scoping after discovery."})]}),J.jsxs(O$,{value:"q10",className:"border border-outline/30 rounded-lg px-6 bg-background",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground pr-4",children:"What ongoing costs should I expect after deployment?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"After initial engagement, ongoing costs include hardware maintenance, cloud infrastructure for monitoring (typically $500-2,000/month depending on scale), and periodic model updates. Most organizations handle day-to-day operations internally after our knowledge transfer."})]})]})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-differentiators",className:"py-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Why FastTrack Succeeds Where Other Projects Stall"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mt-12",children:[J.jsxs("div",{className:"group p-6 rounded-xl border border-outline/30 bg-background hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(ZS,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Edge-First Architecture"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We don't build for the cloud and try to fit it on edge hardware. Every architecture decision assumes edge deployment from day one."})]}),J.jsxs("div",{className:"group p-6 rounded-xl border border-outline/30 bg-background hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(Rl,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Production Intent from Day One"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"From project kickoff, we're building for production. Hardware selection, integration planning, and operational requirements are addressed in week one—not month six."})]}),J.jsxs("div",{className:"group p-6 rounded-xl border border-outline/30 bg-background hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(Uc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Hardware Expertise"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We know the trade-offs between Jetson variants, between x86+GPU and specialized accelerators. Deployment experience informs practical recommendations."})]}),J.jsxs("div",{className:"group p-6 rounded-xl border border-outline/30 bg-background hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(FP,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"MLOps Maturity"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Drift detection, retraining pipelines, model versioning—these aren't add-ons. They're foundational infrastructure delivered with every deployment."})]}),J.jsxs("div",{className:"group p-6 rounded-xl border border-outline/30 bg-background hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(Yu,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Latency and Throughput Guarantees"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We optimize for YOUR performance requirements. If you need 30 FPS with <50ms latency, we design for that constraint—not just maximum accuracy."})]}),J.jsxs("div",{className:"group p-6 rounded-xl border border-outline/30 bg-background hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(Np,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Knowledge Transfer"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We're building YOUR capability, not dependency. Every engagement includes documentation, training, and handoff so your team can operate independently."})]})]})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsx("section",{id:"cv-investment",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-center",children:"Investment & Engagement Options"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[J.jsxs("div",{className:"relative p-8 rounded-2xl border border-outline/30 bg-background",children:[J.jsx(hU,{className:"mb-4 bg-muted text-muted-foreground border-0",children:"EXPLORE"}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Discovery Sprint"}),J.jsx("div",{className:"mb-4",children:J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$12,000 - $20,000"})}),J.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground mb-6",children:[J.jsx(Ld,{className:"w-4 h-4"}),J.jsx("span",{children:"2 weeks"})]}),J.jsx("p",{className:"text-muted-foreground mb-6 leading-relaxed",children:"Visual environment assessment, use case feasibility analysis, hardware recommendations, data requirements evaluation, ROI assessment."}),J.jsx("div",{className:"pt-4 border-t border-outline/30",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best For:"})," Organizations exploring computer vision possibilities"]})})]}),J.jsxs("div",{className:"relative p-8 rounded-2xl border-2 border-primary bg-background shadow-xl scale-105",children:[J.jsx("div",{className:"absolute -top-4 left-1/2 -translate-x-1/2",children:J.jsx(hU,{className:"bg-primary text-primary-foreground border-0 px-4 py-1",children:"MOST POPULAR"})}),J.jsxs("div",{className:"mt-2",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"FastTrack Standard"}),J.jsx("div",{className:"mb-4",children:J.jsx("span",{className:"text-3xl font-bold text-primary",children:"$60,000 - $100,000"})}),J.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground mb-6",children:[J.jsx(Ld,{className:"w-4 h-4"}),J.jsx("span",{children:"8 weeks"})]}),J.jsx("p",{className:"text-muted-foreground mb-6 leading-relaxed",children:"Single use case, 1-4 camera deployment, edge hardware provisioning, MLOps infrastructure, integration with one target system, 30-day support."}),J.jsx("div",{className:"pt-4 border-t border-outline/30",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best For:"})," Organizations with clear use case ready for production"]})})]})]}),J.jsxs("div",{className:"relative p-8 rounded-2xl border border-outline/30 bg-background",children:[J.jsx(hU,{className:"mb-4 bg-muted text-muted-foreground border-0",children:"ENTERPRISE"}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"FastTrack Enterprise"}),J.jsx("div",{className:"mb-4",children:J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$100,000 - $200,000+"})}),J.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground mb-6",children:[J.jsx(Ld,{className:"w-4 h-4"}),J.jsx("span",{children:"8-12 weeks"})]}),J.jsx("p",{className:"text-muted-foreground mb-6 leading-relaxed",children:"Multiple use cases, multi-camera/multi-location, complex integrations, advanced MLOps, fleet management, extended support, team training."}),J.jsx("div",{className:"pt-4 border-t border-outline/30",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Best For:"})," Large-scale deployments or complex environments"]})})]})]})]})})}),"computer-vision-fasttrack"===s.slug&&J.jsxs("section",{id:"cv-final-cta",className:"py-24 bg-gradient-to-br from-primary via-primary/95 to-primary/90 relative overflow-hidden",children:[J.jsxs("div",{className:"absolute inset-0 opacity-10",children:[J.jsx("div",{className:"absolute top-0 left-0 w-full h-full bg-[radial-gradient(circle_at_30%_20%,rgba(255,255,255,0.15)_0%,transparent_50%)]"}),J.jsx("div",{className:"absolute bottom-0 right-0 w-full h-full bg-[radial-gradient(circle_at_70%_80%,rgba(255,255,255,0.1)_0%,transparent_50%)]"})]}),J.jsx("div",{className:"container mx-auto px-6 relative z-10",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-primary-foreground mb-6",children:"Ready to Give Your Operations the Gift of Sight?"}),J.jsx("p",{className:"text-lg md:text-xl text-primary-foreground/90 mb-10 leading-relaxed",children:"Start with a conversation. We'll discuss your visual challenges, assess feasibility, and tell you honestly whether FastTrack is the right approach for your situation."}),J.jsxs(oz,{size:"lg",variant:"secondary",className:"text-lg px-8 py-6 h-auto font-semibold shadow-xl hover:shadow-2xl hover:scale-105 transition-all duration-300 mb-8",onClick:()=>{v(!0),"undefined"!=typeof window&&window.gtag&&window.gtag("event","cv_fasttrack_final_cta",{event_category:"engagement",event_label:"Schedule Vision Assessment"})},children:[J.jsx(xh,{className:"w-5 h-5 mr-2"}),"Schedule Your Vision Assessment"]}),J.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-6 mb-12",children:[J.jsx("button",{className:"text-primary-foreground/80 hover:text-primary-foreground underline underline-offset-4 text-sm font-medium transition-colors",onClick:()=>v(!0),children:"Request FastTrack Details"}),J.jsx("span",{className:"text-primary-foreground/40",children:"|"}),J.jsxs("button",{className:"text-primary-foreground/80 hover:text-primary-foreground underline underline-offset-4 text-sm font-medium transition-colors flex items-center gap-1",onClick:()=>v(!0),children:[J.jsx(zm,{className:"w-4 h-4"}),"Download: Edge AI Deployment Checklist"]})]}),J.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-x-8 gap-y-4 pt-8 border-t border-primary-foreground/20",children:[J.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary-foreground/70",children:[J.jsx(jk,{className:"w-4 h-4"}),J.jsx("span",{children:"Technical assessment, not sales pitch"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary-foreground/70",children:[J.jsx(Rl,{className:"w-4 h-4"}),J.jsx("span",{children:"Honest feasibility evaluation"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary-foreground/70",children:[J.jsx(Xk,{className:"w-4 h-4"}),J.jsx("span",{children:"No commitment to proceed"})]})]})]})})]}),"agentic-ai"===s.slug&&J.jsx("section",{id:"what-is-agentic-ai",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12",children:"Beyond Chatbots: AI That Takes Action"}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-start",children:[J.jsxs("div",{className:"space-y-6",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Traditional AI tools wait for instructions. Agentic AI systems think ahead. Where conventional AI generates responses to prompts, agentic AI breaks down complex goals into subtasks, reasons through options, interacts with your systems, and executes multi-step workflows—often without human intervention at every step."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"The difference matters. A chatbot answers questions about your return policy. An agentic system processes the return, updates inventory, triggers the refund, notifies the customer, and flags patterns that might indicate fraud—all from a single customer message."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-6",children:"Traditional AI vs. Agentic AI"}),J.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-muted flex items-center justify-center",children:J.jsx(mc,{className:"w-4 h-4 text-muted-foreground"})}),J.jsx("span",{className:"font-medium text-muted-foreground text-sm",children:"Traditional AI"})]}),J.jsxs("ul",{className:"space-y-3 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-muted-foreground/50 mt-2 flex-shrink-0"}),"Responds to prompts"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-muted-foreground/50 mt-2 flex-shrink-0"}),"Single-task focused"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-muted-foreground/50 mt-2 flex-shrink-0"}),"Requires human orchestration"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-muted-foreground/50 mt-2 flex-shrink-0"}),"Generates content or answers"]})]})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-data-teal/20 flex items-center justify-center",children:J.jsx(un,{className:"w-4 h-4 text-data-teal"})}),J.jsx("span",{className:"font-medium text-data-teal text-sm",children:"Agentic AI"})]}),J.jsxs("ul",{className:"space-y-3 text-sm text-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Plans and executes autonomously"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Handles multi-step workflows"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Self-orchestrates toward goals"]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),"Takes actions in real systems"]})]})]})]})]})]}),J.jsx("p",{className:"mt-12 text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"This isn't science fiction. Organizations across industries are deploying AI agents that handle insurance claims end-to-end, orchestrate supply chain responses to disruptions, and manage customer inquiries from first contact to resolution."})]})})}),"agentic-ai"===s.slug&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Gap Between AI Promise and AI Reality"}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed mb-12 max-w-3xl",children:"You've seen the demos. AI agents booking flights, writing code, managing complex workflows. The possibilities seem limitless. Then reality hits."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12",children:[J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-warning/10 w-fit mb-4",children:J.jsx(bg,{className:"w-6 h-6 text-warning"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Pilot That Never Scales"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your team built a proof-of-concept that impressed leadership. Six months later, it's still a proof-of-concept. The gap between demo and production proved wider than anyone anticipated."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-destructive/10 w-fit mb-4",children:J.jsx(bw,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"More Work, Not Less"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"You deployed an AI tool that was supposed to reduce workload. Instead, your team spends hours reviewing outputs, fixing errors, and apologizing to customers for automated mistakes."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-muted w-fit mb-4",children:J.jsx(_f,{className:"w-6 h-6 text-muted-foreground"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Vendor Lock-in Trap"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"You built on a platform that seemed perfect—until pricing changed, features disappeared, or the roadmap diverged from your needs. Now you're stuck with mounting costs."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(_N,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Integration Nightmare"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your AI agent works beautifully in isolation. Connecting it to your CRM, ERP, and legacy systems? That's a different story entirely."})]}),J.jsxs("div",{className:"clean-card p-6 border border-outline/30 shadow-sm h-full",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-secondary/30 w-fit mb-4",children:J.jsx(Zk,{className:"w-6 h-6 text-secondary-foreground"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Compliance Question Mark"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Leadership wants to deploy AI, but legal can't sign off. Who's responsible when an autonomous agent makes a decision that affects customers or revenue?"})]})]}),J.jsx("p",{className:"text-center text-muted-foreground italic",children:"These aren't edge cases. They're the common experience of organizations attempting agentic AI without the right foundation."})]})})}),"agentic-ai"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"Agentic AI Built for Your Reality"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 text-left max-w-3xl",children:"We develop AI agents that operate in the real world—with its messy data, legacy systems, compliance requirements, and the need for human judgment at critical moments."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-16",children:[J.jsx("div",{className:"clean-card p-8 bg-card border border-border/50 rounded-xl hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx($P,{className:"w-7 h-7 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Autonomous Workflow Agents"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"AI systems that execute multi-step business processes end-to-end. From customer inquiry to resolution, from order placement to fulfillment. These agents don't just assist—they complete work."})]})]})}),J.jsx("div",{className:"clean-card p-8 bg-card border border-border/50 rounded-xl hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(Pv,{className:"w-7 h-7 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Multi-Agent Orchestration"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Complex problems often require multiple specialized agents working in concert. We architect systems where agents collaborate—planning, executing, verifying, and coordinating."})]})]})}),J.jsx("div",{className:"clean-card p-8 bg-card border border-border/50 rounded-xl hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(vf,{className:"w-7 h-7 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Intelligent Decision Support"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Not every decision should be fully automated. We build agents that gather information, analyze options, and present recommendations—while keeping humans in the loop for high-stakes choices."})]})]})}),J.jsx("div",{className:"clean-card p-8 bg-card border border-border/50 rounded-xl hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(GI,{className:"w-7 h-7 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"AI-Augmented Operations"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Agents that work alongside your team, handling routine tasks while escalating exceptions. The goal isn't to replace people but to amplify what they can accomplish."})]})]})})]}),J.jsxs("div",{className:"bg-surface/50 rounded-2xl p-8 border border-border/30",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6 text-center",children:"What's Under the Hood"}),J.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-6",children:[J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-12 h-12 mx-auto mb-3 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(vf,{className:"w-6 h-6 text-primary"})}),J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Reasoning Engines"}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Break complex goals into actionable steps"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-12 h-12 mx-auto mb-3 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(om,{className:"w-6 h-6 text-primary"})}),J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Memory Systems"}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Maintain context across interactions"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-12 h-12 mx-auto mb-3 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(mc,{className:"w-6 h-6 text-primary"})}),J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Tool Integration"}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Connect to your existing systems"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-12 h-12 mx-auto mb-3 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(Xk,{className:"w-6 h-6 text-primary"})}),J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Guardrails"}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Prevent harmful or unauthorized actions"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-12 h-12 mx-auto mb-3 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(xh,{className:"w-6 h-6 text-primary"})}),J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Observability"}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Understand what agents do and why"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-12 h-12 mx-auto mb-3 rounded-lg bg-primary/10 flex items-center justify-center",children:J.jsx(bw,{className:"w-6 h-6 text-primary"})}),J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Feedback Loops"}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Enable continuous improvement"})]})]})]})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{id:"what-is-rag",className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-8",children:"RAG: AI That Answers From Your Knowledge, Not Its Imagination"}),J.jsxs("div",{className:"space-y-6 mb-16",children:[J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Large language models are impressive—until you need them to answer questions about YOUR business. Ask ChatGPT about your return policy, your product specs, or your internal procedures, and you'll get confident-sounding nonsense."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"Retrieval-Augmented Generation (RAG) solves this by connecting AI to your actual documents and data. Instead of making up answers, RAG retrieves relevant information from your knowledge base and uses that context to generate accurate, grounded responses."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"The result: an AI system that can answer questions like a knowledgeable employee who's read every document in your organization—but responds instantly, never forgets, and works 24/7."})]}),J.jsxs("div",{className:"bg-card border border-border/50 rounded-2xl p-8 mb-12",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-8 text-center",children:"How RAG Works"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-16 h-16 mx-auto mb-4 rounded-xl bg-primary/10 flex items-center justify-center",children:J.jsx(Mk,{className:"w-8 h-8 text-primary"})}),J.jsx("div",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Step 1"}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Retrieval"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"When someone asks a question, the system searches your documents for relevant passages"})]}),J.jsx("div",{className:"hidden md:flex items-center justify-center absolute left-1/3 top-1/2 -translate-y-1/2",children:J.jsx(ol,{className:"w-6 h-6 text-border"})}),J.jsxs("div",{className:"text-center relative",children:[J.jsx("div",{className:"w-16 h-16 mx-auto mb-4 rounded-xl bg-primary/10 flex items-center justify-center",children:J.jsx(NN,{className:"w-8 h-8 text-primary"})}),J.jsx("div",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Step 2"}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Augmentation"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Those passages are provided to the AI as context"})]}),J.jsxs("div",{className:"text-center",children:[J.jsx("div",{className:"w-16 h-16 mx-auto mb-4 rounded-xl bg-primary/10 flex items-center justify-center",children:J.jsx(WM,{className:"w-8 h-8 text-primary"})}),J.jsx("div",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Step 3"}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Generation"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"The AI crafts a response using your actual information, not its training data"})]})]})]}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed text-center max-w-3xl mx-auto",children:"This is how you build AI assistants that give correct answers about your products, chatbots that resolve customer issues, and search systems that actually understand what people are looking for."})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20 bg-muted/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Why Most GenAI Projects Never Make It to Production"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12",children:"The pattern is painfully common: excitement, pilot, stall."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12",children:[J.jsxs("div",{className:"bg-card border border-border/50 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center mb-4",children:J.jsx(Zb,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Impressive Demo That Goes Nowhere"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Your team builds a proof-of-concept. It's impressive in the demo. Leadership gets excited. Then the POC sits in staging for six months while everyone debates security, accuracy, and ownership."})]}),J.jsxs("div",{className:"bg-card border border-border/50 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center mb-4",children:J.jsx(eI,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Accuracy Problem No One Solved"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"The demo worked on cherry-picked examples. In production, the AI hallucinates on edge cases. Customer-facing deployment? Too risky. Without systematic evaluation, you can't deploy with confidence."})]}),J.jsxs("div",{className:"bg-card border border-border/50 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center mb-4",children:J.jsx(_N,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"The Integration Nightmare"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Your documents are scattered across SharePoint, Confluence, Drive, legacy systems. The POC worked on a clean test dataset. Connecting to real enterprise systems? Different challenge entirely."})]}),J.jsxs("div",{className:"bg-card border border-border/50 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center mb-4",children:J.jsx($l,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:'The "Who Owns This?" Paralysis'}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Is this an IT project? A product initiative? Something for the AI team that doesn't exist yet? Without clear ownership and timeline, GenAI projects become perpetual experiments."})]}),J.jsxs("div",{className:"bg-card border border-border/50 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow md:col-span-2 lg:col-span-1",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-destructive/10 flex items-center justify-center mb-4",children:J.jsx(ux,{className:"w-6 h-6 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Knowledge Trapped in Documents"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"The result: millions of dollars of enterprise knowledge remains locked in documents nobody reads, while competitors ship AI-powered experiences that win customers."})]})]}),J.jsx("p",{className:"text-lg text-muted-foreground text-center max-w-3xl mx-auto italic",children:"The GenAI Accelerator exists because we've seen this pattern too many times—and we've built a methodology to break it."})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"From Documents to Production AI in 6 Weeks"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"The GenAI Accelerator isn't a proof-of-concept factory. It's a structured program that delivers production-ready RAG systems—with the evaluation framework, safety controls, and operational tooling required for real-world deployment."}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-8",children:"What You Get"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-4 right-4",children:J.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded-full",children:[J.jsx(Rl,{className:"w-3 h-3"})," Included"]})}),J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(om,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Production RAG System"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"A fully deployed retrieval-augmented generation system connected to your knowledge sources. Not a demo—a production system ready for real users with real questions."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-4 right-4",children:J.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded-full",children:[J.jsx(Rl,{className:"w-3 h-3"})," Included"]})}),J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Wo,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Accuracy Evaluation Framework"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Dashboards showing retrieval precision, answer quality, and confidence scores. Know exactly how well your system performs and track improvement over time."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-4 right-4",children:J.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded-full",children:[J.jsx(Rl,{className:"w-3 h-3"})," Included"]})}),J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Gk,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Safety & Guardrails"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Controls that prevent hallucination, enforce source attribution, handle edge cases gracefully. Essential for customer-facing or high-stakes use cases."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 relative overflow-hidden",children:[J.jsx("div",{className:"absolute top-4 right-4",children:J.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded-full",children:[J.jsx(Rl,{className:"w-3 h-3"})," Included"]})}),J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(xh,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Observability & Analytics"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Full visibility into what's being asked, how the system responds, where it struggles. Usage patterns and performance metrics that inform optimization."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 relative overflow-hidden md:col-span-2 lg:col-span-1",children:[J.jsx("div",{className:"absolute top-4 right-4",children:J.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded-full",children:[J.jsx(Rl,{className:"w-3 h-3"})," Included"]})}),J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Qi,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-3",children:"Operational Runbook"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Documentation covering monitoring, alerting, scaling, troubleshooting. Your team can operate and evolve the system after deployment."})]})]})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{id:"genai-process",className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"How We Deliver Production RAG in 6 Weeks"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-16 max-w-3xl leading-relaxed",children:"Speed doesn't mean cutting corners. Our accelerator achieves rapid deployment through parallel workstreams, reusable components, and a methodology refined across dozens of implementations."}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute left-6 md:left-1/2 top-0 bottom-0 w-0.5 bg-border md:-translate-x-1/2"}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"md:w-1/2 md:text-right md:pr-12 pl-16 md:pl-0",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 text-left md:text-right",children:[J.jsx("span",{className:"inline-block text-xs font-semibold text-primary-foreground bg-primary px-3 py-1 rounded-full mb-3",children:"Week 1-2"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Discovery & Data Connection"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We map your knowledge landscape—where documents live, how they're structured, what formats they're in. In parallel, we establish connections to priority data sources and begin ingestion."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1 mb-4 text-left md:text-right",children:[J.jsx("li",{children:"• Knowledge source audit"}),J.jsx("li",{children:"• Use case prioritization"}),J.jsx("li",{children:"• Data pipeline configuration"}),J.jsx("li",{children:"• Document processing and chunking"}),J.jsx("li",{children:"• Vector embedding generation"})]}),J.jsx("p",{className:"text-sm italic text-primary/80",children:"Deliverables: Knowledge architecture map, connected data sources, initial vector index"})]})}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"01"}),J.jsx("div",{className:"hidden md:block md:w-1/2"})]})}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"hidden md:block md:w-1/2"}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"02"}),J.jsx("div",{className:"md:w-1/2 md:pl-12 pl-16",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6",children:[J.jsx("span",{className:"inline-block text-xs font-semibold text-primary-foreground bg-primary px-3 py-1 rounded-full mb-3",children:"Week 3-4"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"RAG System Development"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We build the retrieval system, integrate the LLM layer, and establish the evaluation framework. The system begins answering questions against your actual knowledge base."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1 mb-4",children:[J.jsx("li",{children:"• Retrieval pipeline optimization"}),J.jsx("li",{children:"• LLM integration and prompt engineering"}),J.jsx("li",{children:"• Evaluation test set creation"}),J.jsx("li",{children:"• Initial accuracy measurement"})]}),J.jsx("p",{className:"text-sm italic text-primary/80",children:"Deliverables: Functional RAG system, baseline accuracy metrics, evaluation dashboard"})]})})]})}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"md:w-1/2 md:text-right md:pr-12 pl-16 md:pl-0",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 text-left md:text-right",children:[J.jsx("span",{className:"inline-block text-xs font-semibold text-primary-foreground bg-primary px-3 py-1 rounded-full mb-3",children:"Week 5"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Safety, Guardrails & Integration"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We implement safety controls, connect to authentication systems, and integrate with target applications—chat interfaces, internal tools, or customer-facing systems."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1 mb-4 text-left md:text-right",children:[J.jsx("li",{children:"• Guardrail implementation"}),J.jsx("li",{children:"• Source attribution enforcement"}),J.jsx("li",{children:"• SSO/authentication integration"}),J.jsx("li",{children:"• API development"}),J.jsx("li",{children:"• Security review"})]}),J.jsx("p",{className:"text-sm italic text-primary/80",children:"Deliverables: Production-hardened system, integrated with target platforms, security documentation"})]})}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"03"}),J.jsx("div",{className:"hidden md:block md:w-1/2"})]})}),J.jsx("div",{className:"relative",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"hidden md:block md:w-1/2"}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"04"}),J.jsx("div",{className:"md:w-1/2 md:pl-12 pl-16",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6",children:[J.jsx("span",{className:"inline-block text-xs font-semibold text-primary-foreground bg-primary px-3 py-1 rounded-full mb-3",children:"Week 6"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Launch & Knowledge Transfer"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Production deployment, user onboarding, and handoff to your team. We ensure you have everything needed to operate, monitor, and improve the system."}),J.jsxs("ul",{className:"text-sm text-muted-foreground space-y-1 mb-4",children:[J.jsx("li",{children:"• Production deployment"}),J.jsx("li",{children:"• User training"}),J.jsx("li",{children:"• Operations team handoff"}),J.jsx("li",{children:"• Documentation finalization"})]}),J.jsx("p",{className:"text-sm italic text-primary/80",children:"Deliverables: Production system live, trained team, complete documentation, 30-day support"})]})})]})})]})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"What Can You Build in 6 Weeks?"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"RAG is versatile. Here's what organizations are deploying with the GenAI Accelerator:"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 flex flex-col h-full",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(GI,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Enterprise Knowledge Assistant"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4 flex-grow",children:"Turn scattered documentation into an intelligent assistant that answers employee questions instantly. Onboarding, HR policies, technical docs—all accessible through conversation."}),J.jsx("p",{className:"text-xs text-primary/70 italic",children:"Impact: Improved onboarding, reduced IT tickets, democratized knowledge"})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 flex flex-col h-full",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(rg,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Customer Support AI"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4 flex-grow",children:"AI that resolves customer inquiries using your actual product docs, FAQs, and support history. Accurate answers, properly sourced, with graceful escalation."}),J.jsx("p",{className:"text-xs text-primary/70 italic",children:"Impact: Faster resolution, reduced costs, consistent experience"})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 flex flex-col h-full",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Mk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Intelligent Product Search"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4 flex-grow",children:"Go beyond keyword matching. Search that understands what users want and returns relevant results even when they don't use the right terminology."}),J.jsx("p",{className:"text-xs text-primary/70 italic",children:"Impact: Better conversion, reduced abandonment, improved discovery"})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 flex flex-col h-full",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(oc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Technical Documentation Assistant"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4 flex-grow",children:"Enable engineers to query complex documentation conversationally. API references, architecture docs, troubleshooting guides—instantly accessible."}),J.jsx("p",{className:"text-xs text-primary/70 italic",children:"Impact: Faster development, less time searching, better knowledge retention"})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 flex flex-col h-full",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Wo,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Sales Enablement AI"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4 flex-grow",children:"Give sales teams instant access to product info, competitive intelligence, and case studies. Answer prospect questions in real-time during calls."}),J.jsx("p",{className:"text-xs text-primary/70 italic",children:"Impact: More confident conversations, faster deals, consistent messaging"})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 flex flex-col h-full",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Xk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Compliance & Policy Assistant"}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4 flex-grow",children:"Make regulatory documents and internal policies accessible through natural language. Essential for regulated industries."}),J.jsx("p",{className:"text-xs text-primary/70 italic",children:"Impact: Reduced compliance risk, faster interpretation, audit-ready responses"})]})]})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12",children:"RAG for Every Stage and Situation"}),J.jsxs(pQ,{defaultValue:"startups",className:"w-full",children:[J.jsxs(gQ,{className:"hidden md:flex w-full justify-start gap-2 bg-transparent h-auto p-0 mb-8 flex-wrap",children:[J.jsxs(fQ,{value:"startups",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(Rw,{className:"w-4 h-4 mr-2"}),"Startups"]}),J.jsxs(fQ,{value:"product-teams",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(vf,{className:"w-4 h-4 mr-2"}),"Product Teams"]}),J.jsxs(fQ,{value:"enterprise-it",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(On,{className:"w-4 h-4 mr-2"}),"Enterprise IT"]}),J.jsxs(fQ,{value:"customer-service",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(rg,{className:"w-4 h-4 mr-2"}),"Customer Service"]}),J.jsxs(fQ,{value:"knowledge-management",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(Qi,{className:"w-4 h-4 mr-2"}),"Knowledge Management"]})]}),J.jsxs("div",{className:"hidden md:block",children:[J.jsx(yQ,{value:"startups",className:"mt-0",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-8",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"Startups Building AI-Powered Products"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You want AI features in your product but don't have an ML team."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"The accelerator lets you ship intelligent search, Q&A, or assistant capabilities without building AI infrastructure from scratch."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-2",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Production AI features in your product timeline, not a research project timeline."})]})]})]})}),J.jsx(yQ,{value:"product-teams",className:"mt-0",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-8",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"Product Teams Adding AI to Existing Apps"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Your product works—you want to make it smarter."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"We integrate RAG capabilities into your existing architecture, adding AI-powered features without rebuilding what works."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-2",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"AI enhancement without disruption."})]})]})]})}),J.jsx(yQ,{value:"enterprise-it",className:"mt-0",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-8",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"Enterprise IT Under Pressure to Deliver GenAI"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Leadership wants GenAI deployed. You've seen too many POCs stall."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"A structured path to production with the governance and evaluation enterprise requires."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-2",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Production deployment you can defend, not another demo."})]})]})]})}),J.jsx(yQ,{value:"customer-service",className:"mt-0",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-8",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"Customer Service Leaders Seeking AI Assistance"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"You want AI to help agents and customers, but accuracy is non-negotiable."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"Guardrails and evaluation ensure AI assists without embarrassing mistakes."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-2",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"AI support that enhances experience, not risks it."})]})]})]})}),J.jsx(yQ,{value:"knowledge-management",className:"mt-0",children:J.jsxs("div",{className:"bg-card border border-border rounded-xl p-8",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"Knowledge Management Transforming Access"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Organizational knowledge is trapped in documents nobody reads."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-2",children:"Our Approach"}),J.jsx("p",{className:"text-muted-foreground",children:"RAG transforms static documentation into a dynamic, queryable knowledge system."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-2",children:"What You Get"}),J.jsx("p",{className:"text-muted-foreground",children:"Organizational intelligence that's actually accessible."})]})]})]})})]})]}),J.jsx("div",{className:"md:hidden",children:J.jsxs(R$,{type:"single",collapsible:!0,className:"w-full space-y-3",children:[J.jsxs(O$,{value:"startups",className:"border border-border rounded-xl px-4 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-2 text-left",children:[J.jsx(Rw,{className:"w-5 h-5 text-primary"}),"Startups Building AI-Powered Products"]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"You want AI features in your product but don't have an ML team."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"The accelerator lets you ship intelligent search, Q&A, or assistant capabilities without building AI infrastructure from scratch."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"What You Get"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Production AI features in your product timeline, not a research project timeline."})]})]})})]}),J.jsxs(O$,{value:"product-teams",className:"border border-border rounded-xl px-4 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-2 text-left",children:[J.jsx(vf,{className:"w-5 h-5 text-primary"}),"Product Teams Adding AI to Existing Apps"]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Your product works—you want to make it smarter."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"We integrate RAG capabilities into your existing architecture, adding AI-powered features without rebuilding what works."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"What You Get"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI enhancement without disruption."})]})]})})]}),J.jsxs(O$,{value:"enterprise-it",className:"border border-border rounded-xl px-4 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-2 text-left",children:[J.jsx(On,{className:"w-5 h-5 text-primary"}),"Enterprise IT Under Pressure to Deliver GenAI"]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Leadership wants GenAI deployed. You've seen too many POCs stall."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"A structured path to production with the governance and evaluation enterprise requires."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"What You Get"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Production deployment you can defend, not another demo."})]})]})})]}),J.jsxs(O$,{value:"customer-service",className:"border border-border rounded-xl px-4 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-2 text-left",children:[J.jsx(rg,{className:"w-5 h-5 text-primary"}),"Customer Service Leaders Seeking AI Assistance"]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"You want AI to help agents and customers, but accuracy is non-negotiable."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Guardrails and evaluation ensure AI assists without embarrassing mistakes."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"What You Get"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI support that enhances experience, not risks it."})]})]})})]}),J.jsxs(O$,{value:"knowledge-management",className:"border border-border rounded-xl px-4 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-4",children:J.jsxs("span",{className:"flex items-center gap-2 text-left",children:[J.jsx(Qi,{className:"w-5 h-5 text-primary"}),"Knowledge Management Transforming Access"]})}),J.jsx(q$,{className:"pb-4",children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-destructive uppercase tracking-wider mb-1",children:"Challenge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Organizational knowledge is trapped in documents nobody reads."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-primary uppercase tracking-wider mb-1",children:"Our Approach"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"RAG transforms static documentation into a dynamic, queryable knowledge system."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-data-teal uppercase tracking-wider mb-1",children:"What You Get"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Organizational intelligence that's actually accessible."})]})]})})]})]})})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Accuracy You Can Measure, Not Just Hope For"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-8 max-w-3xl leading-relaxed",children:"\"Does it work?\" isn't a yes/no question for RAG systems. Accuracy varies by question type, document domain, and use case. That's why every deployment includes a rigorous evaluation framework."}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-8",children:"What We Measure"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-5 gap-4 mb-10",children:[J.jsxs("div",{className:"bg-card border border-border rounded-xl p-5 relative",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(ZS,{className:"w-5 h-5 text-primary"})}),J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Retrieval Quality"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Does the system find the right documents? We measure precision (are retrieved docs relevant?) and recall (are all relevant docs found?)."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-5 relative",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Rl,{className:"w-5 h-5 text-primary"})}),J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Answer Accuracy"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Does the generated answer correctly reflect retrieved information? We evaluate faithfulness to source material and factual correctness."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-5 relative",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-destructive/10 flex items-center justify-center mb-4",children:J.jsx(eI,{className:"w-5 h-5 text-destructive"})}),J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Hallucination Rate"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"How often does the system generate information not supported by documents? We track this continuously—lower is better."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-5 relative",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(db,{className:"w-5 h-5 text-primary"})}),J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Response Quality"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Beyond accuracy—is the response helpful, well-structured, and appropriate for the audience?"})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-5 relative",children:[J.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center mb-4",children:J.jsx($l,{className:"w-5 h-5 text-primary"})}),J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Coverage Gaps"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"What questions can't be answered well? Identifying gaps guides knowledge base improvements."})]})]}),J.jsx("div",{className:"bg-surface/50 border border-border rounded-xl p-6 text-center",children:J.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[J.jsx("span",{className:"font-medium text-foreground",children:"The result:"})," dashboards that show exactly how your RAG system performs, where it excels, and where it needs improvement. Not gut feel—",J.jsx("span",{className:"text-primary font-medium",children:"measured performance"}),"."]})})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Built on Modern Foundations, Adapted to Your Reality"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"We're not locked to any single vendor or framework. Technology choices are driven by your requirements:"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(jn,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"LLM Selection"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"OpenAI, Anthropic, Azure OpenAI, open-source models—selected based on your needs for capability, cost, and data residency."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"GPT-4"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Claude"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Azure OpenAI"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Llama"})]})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(om,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Vector Databases"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Pinecone, Weaviate, Qdrant, pgvector, Elasticsearch—chosen based on scale requirements, existing infrastructure, and operational preferences."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Pinecone"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Weaviate"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"pgvector"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Qdrant"})]})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(WM,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Embedding Models"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"OpenAI embeddings, Cohere, open-source sentence transformers—matched to your domain and performance requirements."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"OpenAI Ada"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Cohere"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"E5"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"BGE"})]})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(FP,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Orchestration"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"LangChain, LlamaIndex, custom implementations—architectural decisions based on complexity and maintainability needs."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"LangChain"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"LlamaIndex"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Custom"})]})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 md:col-span-2 lg:col-span-2",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(sc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Deployment"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Cloud-native, on-premises, hybrid—deployed where your data and compliance requirements dictate. We adapt to your infrastructure, not the other way around."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"AWS"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Azure"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"GCP"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"On-Premises"}),J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:"Hybrid"})]})]})]})]})})}),"genai-accelerator"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(iz,{children:J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How is 6 weeks possible when other implementations take months?",acceptedAnswer:{"@type":"Answer",text:"Three factors: (1) Our methodology parallelizes workstreams that others sequence, (2) We bring reusable components for evaluation, guardrails, and observability, (3) We focus on production essentials rather than scope creep. The result is faster time-to-production without cutting corners on quality."}},{"@type":"Question",name:"What's the difference between RAG and fine-tuning an LLM?",acceptedAnswer:{"@type":"Answer",text:"Fine-tuning bakes knowledge into the model—expensive, slow to update, and opaque. RAG retrieves knowledge from external sources at query time—more flexible, easier to update, and you can see exactly what information informed each answer. For most enterprise knowledge applications, RAG is the better choice."}},{"@type":"Question",name:"How do you handle sensitive or confidential data?",acceptedAnswer:{"@type":"Answer",text:"Your data stays in your environment. We can work within your security perimeter, use your cloud infrastructure, and implement access controls that respect existing permissions. The architecture is designed with enterprise security requirements in mind."}},{"@type":"Question",name:"Which LLM providers do you work with?",acceptedAnswer:{"@type":"Answer",text:"We're model-agnostic. OpenAI, Anthropic, Azure OpenAI, Google, Mistral, and open-source models are all options. Selection depends on your requirements for capability, cost, and data residency."}},{"@type":"Question",name:"How do you measure if the system is working?",acceptedAnswer:{"@type":"Answer",text:"Every deployment includes evaluation dashboards showing retrieval precision, answer accuracy, hallucination rates, and usage patterns. Quantitative performance data, not just user opinions."}}]})})}),J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12",children:"Common Questions About the GenAI Accelerator"}),J.jsxs(R$,{type:"single",collapsible:!0,className:"w-full space-y-3",children:[J.jsxs(O$,{value:"q1",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"How is 6 weeks possible when other implementations take months?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Three factors: (1) Our methodology parallelizes workstreams that others sequence, (2) We bring reusable components for evaluation, guardrails, and observability, (3) We focus on production essentials rather than scope creep. The result is faster time-to-production without cutting corners on quality."})]}),J.jsxs(O$,{value:"q2",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"What's the difference between RAG and fine-tuning an LLM?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Fine-tuning bakes knowledge into the model—expensive, slow to update, and opaque. RAG retrieves knowledge from external sources at query time—more flexible, easier to update, and you can see exactly what information informed each answer. For most enterprise knowledge applications, RAG is the better choice."})]}),J.jsxs(O$,{value:"q3",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"How do you handle sensitive or confidential data?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Your data stays in your environment. We can work within your security perimeter, use your cloud infrastructure, and implement access controls that respect existing permissions. The architecture is designed with enterprise security requirements in mind."})]}),J.jsxs(O$,{value:"q4",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"What happens if the AI doesn't know the answer?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Good question—this is where many systems fail. Our guardrails include confidence thresholds and explicit \"I don't know\" responses when the system can't provide a reliable answer. No confident hallucinations."})]}),J.jsxs(O$,{value:"q5",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"Which LLM providers do you work with?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"We're model-agnostic. OpenAI, Anthropic, Azure OpenAI, Google, Mistral, and open-source models are all options. Selection depends on your requirements for capability, cost, and data residency."})]}),J.jsxs(O$,{value:"q6",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"Can RAG work with documents in multiple languages?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Yes. Modern embedding models and LLMs support multilingual content. We've deployed RAG systems across English, Spanish, German, French, and other languages, including mixed-language repositories."})]}),J.jsxs(O$,{value:"q7",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"What about documents that change frequently?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"The architecture supports continuous ingestion. As documents update, the knowledge base refreshes automatically. You define update frequency based on how current information needs to be."})]}),J.jsxs(O$,{value:"q8",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"How do you measure if the system is working?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Every deployment includes evaluation dashboards showing retrieval precision, answer accuracy, hallucination rates, and usage patterns. Quantitative performance data, not just user opinions."})]}),J.jsxs(O$,{value:"q9",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"What if we need capabilities beyond RAG?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"RAG is often a starting point. If needs evolve to include agentic capabilities, workflow automation, or more complex AI systems, we can extend from the RAG foundation."})]}),J.jsxs(O$,{value:"q10",className:"border border-border rounded-xl px-6 bg-card",children:[J.jsx(D$,{className:"hover:no-underline py-5 text-left",children:J.jsx("span",{className:"font-semibold text-foreground",children:"What's included in the 30-day support period?"})}),J.jsx(q$,{className:"pb-5 text-muted-foreground leading-relaxed",children:"Bug fixes, performance tuning, and operational questions. If issues emerge after launch, we address them. The goal is confidence that the system is stable before complete handoff."})]})]})]})})})]}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Investment & Engagement Options"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"The GenAI Accelerator is structured for maximum value in minimum time. Here's how engagements typically structure:"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 flex flex-col",children:[J.jsx(hU,{variant:"outline",className:"w-fit mb-4 text-xs font-medium",children:"START HERE"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Discovery Sprint"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$15,000 - $25,000"}),J.jsx(hU,{variant:"secondary",className:"ml-2 text-xs",children:"2 weeks"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-6 flex-grow",children:"Not sure if RAG is right? We evaluate your use cases, assess data readiness, and provide architecture recommendations with go/no-go guidance."}),J.jsx("p",{className:"text-xs text-muted-foreground/70 mt-auto",children:"Best for: Organizations exploring GenAI options"})]}),J.jsxs("div",{className:"bg-card border-2 border-primary rounded-xl p-6 flex flex-col relative shadow-lg scale-[1.02]",children:[J.jsx(hU,{className:"w-fit mb-4 text-xs font-medium bg-primary text-primary-foreground",children:"MOST POPULAR"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Standard Accelerator"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$75,000 - $125,000"}),J.jsx(hU,{variant:"secondary",className:"ml-2 text-xs",children:"6 weeks"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-6 flex-grow",children:"Production RAG connected to 2-3 data sources, single use case deployment, evaluation framework, safety guardrails, 30-day support."}),J.jsx("p",{className:"text-xs text-muted-foreground/70 mt-auto",children:"Best for: Organizations with clear use case and defined data"})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 flex flex-col",children:[J.jsx(hU,{variant:"outline",className:"w-fit mb-4 text-xs font-medium",children:"ENTERPRISE"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Enterprise Accelerator"}),J.jsxs("div",{className:"mb-4",children:[J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$125,000 - $200,000"}),J.jsx(hU,{variant:"secondary",className:"ml-2 text-xs",children:"6-8 weeks"})]}),J.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-6 flex-grow",children:"Multiple data source integrations, multiple use cases, advanced security requirements, custom integration development, extended support."}),J.jsx("p",{className:"text-xs text-muted-foreground/70 mt-auto",children:"Best for: Large organizations with complex data landscapes"})]})]}),J.jsxs("div",{className:"text-center mt-12",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:opacity-90 min-h-[44px] px-8",onClick:k,children:"Discuss Your Project"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Every project starts with a conversation. No commitment required."})]})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12",children:"Why the GenAI Accelerator Succeeds Where Others Stall"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-md transition-all duration-300",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(ZS,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Production Intent, Not POC Mentality"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"From day one, we're building for production. Architecture decisions, security, and operational tooling are built in—not bolted on after the demo."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-md transition-all duration-300",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Wo,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Evaluation as Foundation"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Most RAG implementations hope they're accurate. We measure accuracy systematically from the start. You know exactly how well your system performs before customers see it."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-md transition-all duration-300",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Xk,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Guardrails by Design"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Safety controls aren't optional features—they're architectural decisions. Source attribution, confidence thresholds, and hallucination prevention are built into the design."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-md transition-all duration-300",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(_N,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Real Enterprise Integration"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We don't pretend your data is clean. We connect to messy enterprise reality—SharePoint, Confluence, Drive, legacy systems—and build solutions that work with actual infrastructure."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-md transition-all duration-300",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Qi,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Knowledge Transfer Included"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We're not creating dependency. Every engagement includes documentation, training, and handoff so your team operates and evolves the system independently."})]}),J.jsxs("div",{className:"bg-card border border-border rounded-xl p-6 hover:border-primary/30 hover:shadow-md transition-all duration-300",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(db,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Honest Scoping"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Not every problem needs RAG. We'll tell you when fine-tuning, simple search, or traditional software would serve you better. Our goal is solving your problem."})]})]})]})})}),"genai-accelerator"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-foreground",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-background mb-6",children:"Ready to Turn Your Knowledge Into Intelligence?"}),J.jsx("p",{className:"text-lg text-background/80 mb-10 leading-relaxed",children:"Start with a conversation. We'll discuss your knowledge landscape, potential use cases, and timeline—then tell you honestly whether the accelerator is right for your situation."}),J.jsxs(oz,{size:"lg",onClick:()=>{window.gtag&&window.gtag("event","genai_final_cta_click",{cta_type:"primary",button_text:"Schedule Your GenAI Discussion"}),v(!0)},className:"bg-primary hover:bg-primary/90 text-primary-foreground px-8 py-6 text-lg font-semibold mb-8",children:["Schedule Your GenAI Discussion",J.jsx(Ka,{className:"ml-2 h-5 w-5"})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-10",children:[J.jsx("button",{onClick:()=>{window.gtag&&window.gtag("event","genai_final_cta_click",{cta_type:"secondary",button_text:"Request accelerator details"}),v(!0)},className:"text-background/70 hover:text-background underline underline-offset-4 text-sm transition-colors",children:"Request accelerator details"}),J.jsx("span",{className:"hidden sm:inline text-background/30",children:"|"}),J.jsx("button",{onClick:()=>{window.gtag&&window.gtag("event","genai_final_cta_click",{cta_type:"download",button_text:"RAG Readiness Checklist"}),v(!0)},className:"text-background/70 hover:text-background underline underline-offset-4 text-sm transition-colors",children:"Download: RAG Readiness Checklist"})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 sm:gap-8 justify-center text-sm text-background/60",children:[J.jsxs("div",{className:"flex items-center justify-center gap-2",children:[J.jsx(db,{className:"w-4 h-4"}),J.jsx("span",{children:"Technical discussion, not sales pitch"})]}),J.jsxs("div",{className:"flex items-center justify-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4"}),J.jsx("span",{children:"Honest assessment of fit"})]}),J.jsxs("div",{className:"flex items-center justify-center gap-2",children:[J.jsx(Xk,{className:"w-4 h-4"}),J.jsx("span",{children:"No commitment to proceed"})]})]})]})})}),"agentic-ai"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"From Concept to Production: A Structured Path"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-16 max-w-3xl leading-relaxed",children:"Agentic AI projects fail when they skip steps. We've developed a methodology that moves efficiently while ensuring each phase builds a solid foundation."}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute left-6 md:left-1/2 top-0 bottom-0 w-0.5 bg-border md:-translate-x-1/2"}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"md:w-1/2 md:text-right md:pr-12 pl-16 md:pl-0",children:J.jsxs("div",{className:"clean-card p-6 text-left md:text-right",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 mb-2",children:"Week 1-2"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Discovery & Opportunity Mapping"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We understand your operations, not just your AI aspirations. Through stakeholder interviews, process analysis, and data assessment, we identify where agentic AI creates genuine value."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic",children:"Deliverable: Opportunity assessment, technical feasibility analysis, recommended starting point"})]})}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"01"}),J.jsx("div",{className:"hidden md:block md:w-1/2"})]})}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"hidden md:block md:w-1/2"}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"02"}),J.jsx("div",{className:"md:w-1/2 md:pl-12 pl-16",children:J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 mb-2",children:"Week 3-4"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Architecture & Design"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"With the opportunity defined, we design agent architecture—not just what the system will do, but how it will do it reliably, safely, and maintainably."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic",children:"Deliverable: Agent architecture specification, integration design, guardrail framework"})]})})]})}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"md:w-1/2 md:text-right md:pr-12 pl-16 md:pl-0",children:J.jsxs("div",{className:"clean-card p-6 text-left md:text-right",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 mb-2",children:"Week 5-8"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Prototype Development"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"We build a working prototype demonstrating core capabilities. This isn't a PowerPoint—it's a functional system operating against real data and workflows."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic",children:"Deliverable: Functional agent prototype, initial benchmarks, stakeholder demo"})]})}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"03"}),J.jsx("div",{className:"hidden md:block md:w-1/2"})]})}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"hidden md:block md:w-1/2"}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"04"}),J.jsx("div",{className:"md:w-1/2 md:pl-12 pl-16",children:J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 mb-2",children:"Week 9-12"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Iteration & Refinement"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Based on learnings and feedback, we refine the system—expanding capabilities, improving accuracy, and hardening for production conditions."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic",children:"Deliverable: Enhanced capabilities, edge case handling, performance optimization"})]})})]})}),J.jsx("div",{className:"relative mb-12 md:mb-16",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"md:w-1/2 md:text-right md:pr-12 pl-16 md:pl-0",children:J.jsxs("div",{className:"clean-card p-6 text-left md:text-right",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 mb-2",children:"Week 13-16"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Production Deployment"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Deployment with appropriate controls—typically starting with limited scope and expanding as confidence builds. Full observability ensures issues are caught early."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic",children:"Deliverable: Production deployment, monitoring setup, operations runbook"})]})}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"05"}),J.jsx("div",{className:"hidden md:block md:w-1/2"})]})}),J.jsx("div",{className:"relative",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6 md:gap-12",children:[J.jsx("div",{className:"hidden md:block md:w-1/2"}),J.jsx("div",{className:"absolute left-0 md:left-1/2 md:-translate-x-1/2 top-0 w-12 h-12 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-lg shadow-lg",children:"06"}),J.jsx("div",{className:"md:w-1/2 md:pl-12 pl-16",children:J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 mb-2",children:"Ongoing"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Ongoing Evolution"}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Agentic AI systems should improve over time. We provide options for managed services, optimization sprints, and capability expansion."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic",children:"Deliverable: Continuous improvement, model updates, team enablement"})]})})]})})]})]})})}),"agentic-ai"===s.slug&&J.jsxs("section",{className:"py-20 bg-background relative overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 opacity-[0.02]",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")"}}),J.jsx("div",{className:"container mx-auto px-6 relative",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"Built on Modern Foundations"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"We're framework-agnostic but opinion-informed. Our technology choices are driven by your requirements, not vendor relationships."}),J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 text-center hover:border-primary/30 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(jn,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-sm font-semibold text-foreground mb-3",children:"LLM Foundation"}),J.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:[J.jsx("span",{className:"font-mono text-[10px] text-primary/80",children:"OpenAI, Anthropic, Google, Mistral, open-source"}),J.jsx("span",{className:"block mt-2",children:"—selected based on your needs for capability, cost, data residency, and deployment."})]})]}),J.jsxs("div",{className:"clean-card p-6 text-center hover:border-primary/30 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(oc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-sm font-semibold text-foreground mb-3",children:"Agent Frameworks"}),J.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:[J.jsx("span",{className:"font-mono text-[10px] text-primary/80",children:"LangChain, LlamaIndex, AutoGen, CrewAI, custom"}),J.jsx("span",{className:"block mt-2",children:"—chosen based on complexity and requirements."})]})]}),J.jsxs("div",{className:"clean-card p-6 text-center hover:border-primary/30 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(jN,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-sm font-semibold text-foreground mb-3",children:"Integration"}),J.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:[J.jsx("span",{className:"font-mono text-[10px] text-primary/80",children:"REST, GraphQL, queues, direct DB"}),J.jsx("span",{className:"block mt-2",children:"—connecting to your systems using appropriate patterns."})]})]}),J.jsxs("div",{className:"clean-card p-6 text-center hover:border-primary/30 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(sc,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-sm font-semibold text-foreground mb-3",children:"Deployment"}),J.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:[J.jsx("span",{className:"font-mono text-[10px] text-primary/80",children:"Cloud-native, on-prem, hybrid, air-gapped"}),J.jsx("span",{className:"block mt-2",children:"—deployed where your data and compliance requirements dictate."})]})]}),J.jsxs("div",{className:"clean-card p-6 text-center hover:border-primary/30 transition-colors",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(Wo,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-sm font-semibold text-foreground mb-3",children:"Observability"}),J.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:[J.jsx("span",{className:"font-mono text-[10px] text-primary/80",children:"LangSmith, LangFuse, custom monitoring"}),J.jsx("span",{className:"block mt-2",children:"—full visibility into agent behavior, performance, and outcomes."})]})]})]})]})})]}),"agentic-ai"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"What Makes Allerin Different"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 group",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(ZS,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Production Focus, Not Demo Obsession"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Anyone can build an impressive demo. We focus on systems that work reliably in production—handling edge cases, recovering from failures, operating at scale."})]}),J.jsxs("div",{className:"clean-card p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 group",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(Gk,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Guardrails as Architecture"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"AI safety isn't a feature we add at the end. Guardrails, human oversight, and constraints are designed into the architecture from the beginning."})]}),J.jsxs("div",{className:"clean-card p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 group",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(_N,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Integration Expertise"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"AI agents are only valuable when connected to your systems. We have deep experience integrating with CRMs, ERPs, data warehouses, legacy systems, and custom applications."})]}),J.jsxs("div",{className:"clean-card p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 group",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(bp,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Cross-Industry Pattern Recognition"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We've built agents across industries. That breadth means we recognize patterns—what works, what fails, what scales—and apply those lessons to your situation."})]}),J.jsxs("div",{className:"clean-card p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 group",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(FP,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"End-to-End Capability"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We don't hand off between strategy, design, and implementation teams. The engineers who architect your system are the engineers who build and deploy it."})]}),J.jsxs("div",{className:"clean-card p-6 hover:border-primary/30 hover:shadow-lg transition-all duration-300 group",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(db,{className:"w-6 h-6 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-3",children:"Honest Assessment"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Not every problem needs agentic AI. We'll tell you when a simpler solution would serve you better—even if that means a smaller engagement for us."})]})]})]})})}),"agentic-ai"===s.slug&&L.length>0&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-left",children:"Common Questions About Agentic AI Development"}),J.jsx(R$,{type:"single",collapsible:!0,className:"space-y-4",children:L.map((e,t)=>J.jsxs(O$,{value:`faq-${t}`,className:"clean-card border rounded-lg px-6 data-[state=open]:border-primary/30",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:e.question}),J.jsx(q$,{className:"text-muted-foreground leading-relaxed pb-5",children:e.answer})]},t))})]})})}),"agentic-ai"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"Engagement Options"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"We structure engagements to match your situation—whether you need a quick proof-of-concept, a full production system, or ongoing partnership."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 flex flex-col h-full",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 uppercase tracking-wider mb-3",children:"Starting Point"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Discovery & Assessment"}),J.jsx("p",{className:"text-3xl font-bold text-foreground mb-4",children:"$15K – $25K"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 flex-grow",children:"Assess your operations, identify opportunities, and provide a detailed roadmap."}),J.jsxs("div",{className:"space-y-2 mb-4",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Stakeholder interviews"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Process analysis"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Feasibility report"})]})]}),J.jsx("p",{className:"text-xs text-primary/70 italic",children:"Investment credited toward implementation if you proceed"})]}),J.jsxs("div",{className:"clean-card p-6 flex flex-col h-full",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 uppercase tracking-wider mb-3",children:"Validate"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Pilot Development"}),J.jsx("p",{className:"text-3xl font-bold text-foreground mb-4",children:"$50K – $100K"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 flex-grow",children:"Build a focused proof-of-concept for a specific use case. Demonstrates viability and creates foundation for expansion."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Working prototype"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Initial integrations"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Stakeholder demo"})]})]})]}),J.jsxs("div",{className:"clean-card p-6 flex flex-col h-full border-2 border-primary relative bg-primary/[0.02]",children:[J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2",children:J.jsx("span",{className:"inline-block text-xs font-semibold text-primary-foreground bg-primary px-3 py-1 rounded-full uppercase tracking-wider",children:"Most Popular"})}),J.jsx("span",{className:"inline-block text-xs font-medium text-primary uppercase tracking-wider mb-3 mt-2",children:"Build"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Production Implementation"}),J.jsx("p",{className:"text-3xl font-bold text-primary mb-4",children:"$100K – $300K+"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 flex-grow",children:"Full production deployment with integrations, guardrails, monitoring, and knowledge transfer."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Production-ready system"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Full integrations"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Guardrails & monitoring"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Team training"})]})]})]}),J.jsxs("div",{className:"clean-card p-6 flex flex-col h-full",children:[J.jsx("span",{className:"inline-block text-xs font-medium text-primary/70 uppercase tracking-wider mb-3",children:"Partnership"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Ongoing Services"}),J.jsx("p",{className:"text-3xl font-bold text-foreground mb-4",children:"Custom"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4 flex-grow",children:"Managed services, continuous improvement, capability expansion. Monthly retainer or project-based."}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Continuous optimization"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Model updates"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Capability expansion"})]})]})]})]})]})})}),"agentic-ai"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"Related Services"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Explore complementary services that work alongside agentic AI to maximize your technology investment."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsx(tt,{to:"/services/genai-accelerator",className:"group",children:J.jsxs("div",{className:"clean-card p-6 h-full hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-data-teal to-primary flex items-center justify-center mb-4",children:J.jsx(WM,{className:"w-6 h-6 text-white"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2 group-hover:text-primary transition-colors",children:"GenAI Product Accelerator"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Production-ready RAG systems and LLM applications with evaluation frameworks and safety guardrails."}),J.jsxs("span",{className:"text-sm text-primary font-medium inline-flex items-center gap-1",children:["Learn more ",J.jsx(Ka,{className:"w-4 h-4"})]})]})}),J.jsx(tt,{to:"/services/mlops-model-ops",className:"group",children:J.jsxs("div",{className:"clean-card p-6 h-full hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-data-orange to-data-amber flex items-center justify-center mb-4",children:J.jsx(Ns,{className:"w-6 h-6 text-white"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2 group-hover:text-primary transition-colors",children:"MLOps & Model Operations"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Continuous model monitoring, versioning, and deployment pipelines to keep AI systems performing optimally."}),J.jsxs("span",{className:"text-sm text-primary font-medium inline-flex items-center gap-1",children:["Learn more ",J.jsx(Ka,{className:"w-4 h-4"})]})]})}),J.jsx(tt,{to:"/services/integration-fasttrack",className:"group",children:J.jsxs("div",{className:"clean-card p-6 h-full hover:border-primary/30 hover:shadow-lg transition-all duration-300",children:[J.jsx("div",{className:"w-12 h-12 rounded-lg bg-gradient-to-br from-primary to-data-teal flex items-center justify-center mb-4",children:J.jsx(jN,{className:"w-6 h-6 text-white"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2 group-hover:text-primary transition-colors",children:"Integration FastTrack"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Connect AI agents to your CRM, ERP, and legacy systems with production-ready connectors and contract tests."}),J.jsxs("span",{className:"text-sm text-primary font-medium inline-flex items-center gap-1",children:["Learn more ",J.jsx(Ka,{className:"w-4 h-4"})]})]})})]})]})})}),"agentic-ai"===s.slug&&J.jsxs("section",{className:"py-20 md:py-24 bg-foreground relative overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 opacity-5",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")"}}),J.jsx("div",{className:"container mx-auto px-6 relative",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-background mb-6",children:"Ready to Build AI That Actually Works?"}),J.jsx("p",{className:"text-lg text-background/80 mb-10 leading-relaxed max-w-2xl mx-auto",children:"Start with a conversation. We'll discuss your situation, explore possibilities, and determine if there's a fit—with no obligation and no sales pressure."}),J.jsxs(oz,{size:"lg",className:"bg-background text-foreground hover:bg-background/90 text-base px-8 py-6 h-auto font-semibold shadow-xl",onClick:()=>v(!0),children:["Schedule a Technical Discussion",J.jsx(Ka,{className:"ml-2 w-5 h-5"})]}),J.jsxs("div",{className:"mt-8 flex flex-col sm:flex-row items-center justify-center gap-4 sm:gap-8",children:[J.jsx("button",{onClick:()=>v(!0),className:"text-sm text-background/70 hover:text-background underline underline-offset-4 transition-colors",children:"Request a detailed capability overview"}),J.jsx("span",{className:"hidden sm:inline text-background/30",children:"|"}),J.jsx(tt,{to:"/contact",className:"text-sm text-background/70 hover:text-background underline underline-offset-4 transition-colors",children:"Talk to our team directly"})]}),J.jsx("div",{className:"mt-12 pt-8 border-t border-background/10",children:J.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-6 sm:gap-10",children:[J.jsxs("div",{className:"flex items-center gap-2 text-background/60",children:[J.jsx(hy,{className:"w-4 h-4"}),J.jsx("span",{className:"text-xs",children:"Confidential discussion—NDA available"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-background/60",children:[J.jsx(GI,{className:"w-4 h-4"}),J.jsx("span",{className:"text-xs",children:"Technical team, not sales team"})]}),J.jsxs("div",{className:"flex items-center gap-2 text-background/60",children:[J.jsx(Rl,{className:"w-4 h-4"}),J.jsx("span",{className:"text-xs",children:"Honest assessment of fit"})]})]})})]})})]}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-12 text-center",children:"Is Your Rails Application Holding You Back?"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsx("div",{className:"clean-card p-6 border-l-4 border-destructive/50 bg-gradient-to-r from-destructive/5 to-transparent",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-destructive/10",children:J.jsx(Xk,{className:"w-6 h-6 text-destructive"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Security Vulnerabilities Multiply"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Unsupported Rails versions leave your application exposed to attacks that could compromise customer data, damage your reputation, and result in costly compliance violations."})]})]})}),J.jsx("div",{className:"clean-card p-6 border-l-4 border-data-orange/50 bg-gradient-to-r from-data-orange/5 to-transparent",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx(oc,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Technical Debt Compounds Daily"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Outdated gems become incompatible. New developers struggle with legacy patterns. Features that should take days stretch into weeks. Your velocity slows while competitors ship faster."})]})]})}),J.jsx("div",{className:"clean-card p-6 border-l-4 border-data-amber/50 bg-gradient-to-r from-data-amber/5 to-transparent",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx(ZC,{className:"w-6 h-6 text-data-amber rotate-180"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"The Longer You Wait, The More It Costs"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Each new Rails version introduces breaking changes. An upgrade from Rails 4.2 to 7.1 that might cost $50,000 today could balloon to $150,000 next year as dependencies drift further apart."})]})]})}),J.jsx("div",{className:"clean-card p-6 border-l-4 border-data-teal/50 bg-gradient-to-r from-data-teal/5 to-transparent",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(Ns,{className:"w-6 h-6 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Can You Afford NOT To Upgrade?"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"The question isn't whether you can afford to upgrade—it's whether you can afford to keep running vulnerable, slow, increasingly unmaintainable code."})]})]})})]})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 text-left",children:"Rails Upgrades Done Right: Zero Downtime, Zero Surprises"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"As a dedicated Rails upgrade company, Allerin eliminates the fear and uncertainty from version migrations. Our rails version upgrade specialists have refined a battle-tested methodology through 50+ successful upgrades—from quick-win minor version bumps to complex multi-year legacy rescues."}),J.jsx("h3",{className:"text-2xl font-semibold text-foreground mb-8",children:"What's Included"}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsx("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(Pl,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Complete Version Migration"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Rails 3.x, 4.x, 5.x, 6.x to the latest stable Rails 7.x, including Ruby version upgrades"})]})]})}),J.jsx("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(aj,{className:"w-6 h-6 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Dependency Audit & Updates"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Every gem evaluated, updated, or replaced with maintained alternatives"})]})]})}),J.jsx("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-green/10",children:J.jsx(Gk,{className:"w-6 h-6 text-data-green"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Security Patching"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"All known CVEs addressed, authentication systems modernized, security best practices implemented"})]})]})}),J.jsx("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10",children:J.jsx($P,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Performance Optimization"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Database query optimization, caching improvements, and modern Rails performance features enabled"})]})]})}),J.jsx("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-amber/10",children:J.jsx(Rl,{className:"w-6 h-6 text-data-amber"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Test Suite Modernization"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Existing tests updated, coverage gaps filled, CI/CD pipeline improvements"})]})]})}),J.jsx("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10",children:J.jsx(bw,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Zero-Downtime Deployment"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Blue-green deployments, database migrations that don't lock tables, rollback strategies"})]})]})}),J.jsx("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow md:col-span-2 lg:col-span-3",children:J.jsxs("div",{className:"flex items-start gap-4 max-w-2xl",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10",children:J.jsx(Qi,{className:"w-6 h-6 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-base font-semibold text-foreground mb-2",children:"Documentation & Knowledge Transfer"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Your team understands every change we make. Complete documentation, code review sessions, and training included."})]})]})})]})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-left",children:"Rails Expertise for Every Stage of Business"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"Whether you're a startup preparing for scale or an enterprise managing mission-critical systems, our upgrade approach adapts to your unique requirements."}),J.jsxs("div",{className:"grid gap-6",children:[J.jsx("div",{className:"clean-card p-6 md:p-8 hover:shadow-lg transition-all border-l-4 border-data-orange",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx("div",{className:"p-4 rounded-xl bg-data-orange/10",children:J.jsx(Rw,{className:"w-8 h-8 text-data-orange"})})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Startups & Scale-ups"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"You built fast to find product-market fit. Now that you've found it, technical debt from early decisions is slowing you down. We help startups upgrade efficiently without diverting your entire engineering team from feature development. Our approach focuses on speed, cost-efficiency, and setting you up for the next phase of growth."}),J.jsxs("p",{className:"text-sm italic text-muted-foreground/80",children:[J.jsx("span",{className:"font-medium text-foreground not-italic",children:"Common scenarios:"})," Preparing for Series A/B due diligence, scaling from MVP to production-grade, paying down technical debt before it compounds further."]})]})]})}),J.jsx("div",{className:"clean-card p-6 md:p-8 hover:shadow-lg transition-all border-l-4 border-primary",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx("div",{className:"p-4 rounded-xl bg-primary/10",children:J.jsx(On,{className:"w-8 h-8 text-primary"})})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Enterprise & Corporate"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Large organizations can't afford downtime—period. Our enterprise engagements include comprehensive risk assessment, change management documentation, compliance verification, and coordination with your security and DevOps teams. We integrate seamlessly with your existing workflows, SDLC processes, and approval gates."}),J.jsxs("p",{className:"text-sm italic text-muted-foreground/80",children:[J.jsx("span",{className:"font-medium text-foreground not-italic",children:"Common scenarios:"})," SOC 2 / ISO 27001 compliance requirements, coordinating upgrades across multiple applications, augmenting internal teams during major migrations."]})]})]})}),J.jsx("div",{className:"clean-card p-6 md:p-8 hover:shadow-lg transition-all border-l-4 border-data-green",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx("div",{className:"p-4 rounded-xl bg-data-green/10",children:J.jsx(iM,{className:"w-8 h-8 text-data-green"})})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"E-commerce & Retail"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Every minute of downtime costs revenue. E-commerce upgrades require surgical precision—especially during peak traffic periods. We specialize in zero-downtime deployments that keep your checkout flowing, inventory syncing, and customers happy while we modernize your stack behind the scenes."}),J.jsxs("p",{className:"text-sm italic text-muted-foreground/80",children:[J.jsx("span",{className:"font-medium text-foreground not-italic",children:"Common scenarios:"})," Upgrading before Black Friday/holiday season, payment system modernization, performance optimization for traffic spikes."]})]})]})}),J.jsx("div",{className:"clean-card p-6 md:p-8 hover:shadow-lg transition-all border-l-4 border-data-teal",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx("div",{className:"p-4 rounded-xl bg-data-teal/10",children:J.jsx(vf,{className:"w-8 h-8 text-data-teal"})})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"SaaS & Multi-tenant"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Multi-tenant architectures add complexity to any upgrade. Database migrations must preserve tenant isolation. API changes can't break customer integrations. We understand the nuances of SaaS Rails applications—from background job systems to webhook reliability to API versioning strategies."}),J.jsxs("p",{className:"text-sm italic text-muted-foreground/80",children:[J.jsx("span",{className:"font-medium text-foreground not-italic",children:"Common scenarios:"})," Upgrading multi-tenant databases, maintaining API backward compatibility, modernizing authentication (OAuth, SSO integration)."]})]})]})}),J.jsx("div",{className:"clean-card p-6 md:p-8 hover:shadow-lg transition-all border-l-4 border-data-amber",children:J.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-6",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx("div",{className:"p-4 rounded-xl bg-data-amber/10",children:J.jsx(Xk,{className:"w-8 h-8 text-data-amber"})})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-3",children:"Government & Regulated Industries"}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Security isn't optional—it's mandated. We help government agencies and regulated industries (healthcare, finance, legal) upgrade Rails applications while maintaining strict compliance with FedRAMP, HIPAA, PCI-DSS, and other regulatory frameworks. Full audit trails, security documentation, and remediation reports included."}),J.jsxs("p",{className:"text-sm italic text-muted-foreground/80",children:[J.jsx("span",{className:"font-medium text-foreground not-italic",children:"Common scenarios:"})," Security vulnerability remediation under deadline, compliance audit preparation, air-gapped or restricted network deployments."]})]})]})})]}),J.jsxs("div",{className:"mt-12 text-center",children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"See how we've helped companies across industries modernize their Rails applications."}),J.jsxs(tt,{to:"/customers",className:"inline-flex items-center text-data-teal hover:text-data-orange font-medium transition-colors",onClick:()=>{window.gtag&&window.gtag("event","internal_link_click",{link_type:"case_studies",source_page:"/services/rails-upgrades"})},children:["View our case studies ",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]})]})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-left",children:"A Proven 6-Phase Upgrade Methodology"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl leading-relaxed",children:"Our structured approach minimizes risk and keeps you informed at every stage. No black boxes, no surprises—just systematic progress toward a modern Rails application."}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"absolute left-6 md:left-8 top-0 bottom-0 w-0.5 bg-gradient-to-b from-primary via-data-teal to-data-green"}),J.jsxs("div",{className:"space-y-8",children:[J.jsxs("div",{className:"relative pl-16 md:pl-20",children:[J.jsx("div",{className:"absolute left-0 top-0 w-12 md:w-16 h-12 md:h-16 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-lg md:text-xl shadow-lg",children:"1"}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Discovery & Assessment"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Week 1"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"We conduct a comprehensive codebase audit covering Rails version, Ruby version, gem dependencies, test coverage, database structure, deployment infrastructure, and existing technical debt. You receive a detailed assessment report with risk analysis, recommended upgrade path, and effort estimate."}),J.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-primary/5 border border-primary/10",children:[J.jsx(ux,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm italic text-foreground/80",children:[J.jsx("span",{className:"font-medium not-italic",children:"Deliverable:"})," Upgrade Assessment Report with timeline, cost estimate, and risk analysis"]})]})]})]}),J.jsxs("div",{className:"relative pl-16 md:pl-20",children:[J.jsx("div",{className:"absolute left-0 top-0 w-12 md:w-16 h-12 md:h-16 rounded-full bg-primary/90 flex items-center justify-center text-primary-foreground font-bold text-lg md:text-xl shadow-lg",children:"2"}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Environment Setup & CI/CD Preparation"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Week 2"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Before touching production, we establish a parallel upgrade environment. This includes staging infrastructure that mirrors production, CI/CD pipelines for the upgrade branch, rollback procedures, and monitoring dashboards."}),J.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-primary/5 border border-primary/10",children:[J.jsx(ux,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm italic text-foreground/80",children:[J.jsx("span",{className:"font-medium not-italic",children:"Deliverable:"})," Isolated upgrade environment with automated testing pipeline"]})]})]})]}),J.jsxs("div",{className:"relative pl-16 md:pl-20",children:[J.jsx("div",{className:"absolute left-0 top-0 w-12 md:w-16 h-12 md:h-16 rounded-full bg-data-teal flex items-center justify-center text-white font-bold text-lg md:text-xl shadow-lg",children:"3"}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Incremental Version Migration"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Weeks 3-6"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Each rails version upgrade follows our proven methodology—we upgrade one minor version at a time, never skipping versions. This systematic approach surfaces issues incrementally. Each version bump includes gem compatibility updates, deprecation warning resolution, and full test suite validation."}),J.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-data-teal/5 border border-data-teal/10",children:[J.jsx(ux,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm italic text-foreground/80",children:[J.jsx("span",{className:"font-medium not-italic",children:"Deliverable:"})," Weekly progress reports with passing test suites at each version milestone"]})]})]})]}),J.jsxs("div",{className:"relative pl-16 md:pl-20",children:[J.jsx("div",{className:"absolute left-0 top-0 w-12 md:w-16 h-12 md:h-16 rounded-full bg-data-teal/90 flex items-center justify-center text-white font-bold text-lg md:text-xl shadow-lg",children:"4"}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Security Hardening & Performance Optimization"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Week 7"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"With the version upgrade complete, we address all known CVEs, implement modern Rails security features (encrypted credentials, strong parameters audit, CSRF/XSS protection), and enable performance improvements available in the new Rails version."}),J.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-data-teal/5 border border-data-teal/10",children:[J.jsx(ux,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm italic text-foreground/80",children:[J.jsx("span",{className:"font-medium not-italic",children:"Deliverable:"})," Security audit report and performance benchmark comparison"]})]})]})]}),J.jsxs("div",{className:"relative pl-16 md:pl-20",children:[J.jsx("div",{className:"absolute left-0 top-0 w-12 md:w-16 h-12 md:h-16 rounded-full bg-data-green/90 flex items-center justify-center text-white font-bold text-lg md:text-xl shadow-lg",children:"5"}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Staging Validation & Load Testing"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium",children:"Week 8"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"The upgraded application undergoes rigorous testing in a production-like environment. We conduct load testing, integration testing with external services, and coordinate user acceptance testing with your team."}),J.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-data-green/5 border border-data-green/10",children:[J.jsx(ux,{className:"w-4 h-4 text-data-green mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm italic text-foreground/80",children:[J.jsx("span",{className:"font-medium not-italic",children:"Deliverable:"})," QA sign-off, load test results, production deployment plan"]})]})]})]}),J.jsxs("div",{className:"relative pl-16 md:pl-20",children:[J.jsx("div",{className:"absolute left-0 top-0 w-12 md:w-16 h-12 md:h-16 rounded-full bg-data-green flex items-center justify-center text-white font-bold text-lg md:text-xl shadow-lg",children:"6"}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-shadow border-2 border-data-green/20",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Production Deployment & Support"}),J.jsx(hU,{variant:"outline",className:"text-xs font-medium bg-data-green/10 border-data-green/30 text-data-green",children:"Week 9+"})]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Zero-downtime deployment using blue-green or rolling deployment strategies. Our team monitors in real-time, ready to execute rollback if needed. Includes 30 days of post-deployment support and knowledge transfer."}),J.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-data-green/5 border border-data-green/10",children:[J.jsx(ux,{className:"w-4 h-4 text-data-green mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm italic text-foreground/80",children:[J.jsx("span",{className:"font-medium not-italic",children:"Deliverable:"})," Production deployment, documentation package, 30-day support period"]})]})]})]})]})]})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-left",children:"Upgrade Paths We Support"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl leading-relaxed",children:"No matter how far behind your Rails version has fallen, we have a path forward. Our team has successfully completed upgrades across every major Rails version transition."}),J.jsx("div",{className:"overflow-x-auto mb-8",children:J.jsxs("table",{className:"w-full border-collapse rounded-xl overflow-hidden shadow-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"bg-primary text-primary-foreground",children:[J.jsx("th",{className:"px-6 py-4 text-left font-semibold",children:"From Version"}),J.jsx("th",{className:"px-6 py-4 text-left font-semibold",children:"To Version"}),J.jsx("th",{className:"px-6 py-4 text-left font-semibold",children:"Typical Timeline"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"bg-background border-b border-outline/10",children:[J.jsx("td",{className:"px-6 py-4 font-medium text-foreground",children:"Rails 3.x"}),J.jsx("td",{className:"px-6 py-4 text-foreground",children:"Rails 7.x"}),J.jsxs("td",{className:"px-6 py-4 text-muted-foreground",children:["12-16 weeks ",J.jsx("span",{className:"text-xs text-destructive/80",children:"(major refactoring required)"})]})]}),J.jsxs("tr",{className:"bg-surface/50 border-b border-outline/10",children:[J.jsx("td",{className:"px-6 py-4 font-medium text-foreground",children:"Rails 4.x"}),J.jsx("td",{className:"px-6 py-4 text-foreground",children:"Rails 7.x"}),J.jsx("td",{className:"px-6 py-4 text-muted-foreground",children:"8-12 weeks"})]}),J.jsxs("tr",{className:"bg-background border-b border-outline/10",children:[J.jsx("td",{className:"px-6 py-4 font-medium text-foreground",children:"Rails 5.x"}),J.jsx("td",{className:"px-6 py-4 text-foreground",children:"Rails 7.x"}),J.jsx("td",{className:"px-6 py-4 text-muted-foreground",children:"6-10 weeks"})]}),J.jsxs("tr",{className:"bg-surface/50 border-b border-outline/10",children:[J.jsx("td",{className:"px-6 py-4 font-medium text-foreground",children:"Rails 6.x"}),J.jsx("td",{className:"px-6 py-4 text-foreground",children:"Rails 7.x"}),J.jsx("td",{className:"px-6 py-4 text-muted-foreground",children:"4-6 weeks"})]}),J.jsxs("tr",{className:"bg-background",children:[J.jsx("td",{className:"px-6 py-4 font-medium text-foreground",children:"Rails 7.0"}),J.jsx("td",{className:"px-6 py-4 text-foreground",children:"Rails 7.1+"}),J.jsx("td",{className:"px-6 py-4 text-muted-foreground",children:"2-4 weeks"})]})]})]})}),J.jsx("div",{className:"clean-card p-5 border-l-4 border-data-teal mb-6",children:J.jsxs("p",{className:"text-foreground",children:[J.jsx("span",{className:"font-semibold",children:"Ruby Version Upgrades:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"We also handle Ruby version upgrades (2.x to 3.x) as part of the migration, ensuring your entire stack is modern and supported."})]})}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic",children:"Timelines are estimates based on typical applications. Actual duration depends on codebase size, test coverage, gem complexity, and team availability for reviews."})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-center",children:"Why Companies Trust Allerin for Rails Upgrades"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 text-center max-w-3xl mx-auto",children:"With 50+ successful migrations completed, Allerin is the Rails upgrade company enterprises trust for mission-critical applications."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"p-3 rounded-xl bg-primary/10 w-fit mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(pr,{className:"w-7 h-7 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Battle-Tested Methodology"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Our 6-phase process has been refined through dozens of successful upgrades. We've encountered (and solved) the edge cases that break other approaches."})]}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"p-3 rounded-xl bg-data-teal/10 w-fit mb-4 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(Ld,{className:"w-7 h-7 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Zero-Downtime Expertise"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We don't just upgrade your code—we deploy it safely. Blue-green deployments, database migrations that don't lock tables, and instant rollback capability."})]}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"p-3 rounded-xl bg-data-green/10 w-fit mb-4 group-hover:bg-data-green/20 transition-colors",children:J.jsx(xh,{className:"w-7 h-7 text-data-green"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Full Transparency"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Weekly progress reports, access to our project management tools, and clear communication throughout. You're never left wondering about status."})]}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"p-3 rounded-xl bg-data-orange/10 w-fit mb-4 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(GI,{className:"w-7 h-7 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Knowledge Transfer Included"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"We don't just hand you upgraded code—we ensure your team understands every change. Documentation, code review sessions, and training included."})]}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"p-3 rounded-xl bg-data-amber/10 w-fit mb-4 group-hover:bg-data-amber/20 transition-colors",children:J.jsx(Rm,{className:"w-7 h-7 text-data-amber"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Fixed-Price Options Available"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"After our assessment phase, we can offer fixed-price contracts for qualified projects. No surprise bills."})]}),J.jsxs("div",{className:"clean-card p-6 hover:shadow-lg transition-all group",children:[J.jsx("div",{className:"p-3 rounded-xl bg-primary/10 w-fit mb-4 group-hover:bg-primary/20 transition-colors",children:J.jsx(rg,{className:"w-7 h-7 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Post-Deployment Support"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"30 days of included support after go-live. If upgrade-related issues emerge, we fix them—period."})]})]})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-10 text-center",children:"Frequently Asked Questions"}),J.jsx(R$,{type:"single",collapsible:!0,className:"space-y-4",children:_.map((e,t)=>J.jsxs(O$,{value:`faq-${t}`,className:"clean-card px-6 border rounded-lg overflow-hidden",children:[J.jsx(D$,{className:"text-left font-semibold text-foreground hover:no-underline py-5",children:e.question}),J.jsx(q$,{className:"text-muted-foreground leading-relaxed pb-5",children:e.answer})]},t))})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-20 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4 text-center",children:"Investment & Engagement Options"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 text-center max-w-3xl mx-auto leading-relaxed",children:"Every Rails application is different, and cookie-cutter pricing doesn't work for upgrades. That said, we believe in transparency. Here's how we structure engagements:"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-16",children:[J.jsxs("div",{className:"clean-card p-6 border-t-4 border-data-teal hover:shadow-lg transition-shadow",children:[J.jsx(hU,{variant:"outline",className:"mb-4 text-xs font-medium bg-data-teal/10 border-data-teal/30 text-data-teal",children:"STARTING POINT"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Assessment Phase"}),J.jsx("div",{className:"mb-4",children:J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"From $2,500"})}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"Comprehensive codebase audit with detailed upgrade roadmap, risk analysis, and effort estimates."}),J.jsx("p",{className:"text-xs text-data-teal font-medium italic",children:"Credited toward full project if you proceed"})]}),J.jsxs("div",{className:"clean-card p-6 border-2 border-primary shadow-lg relative hover:shadow-xl transition-shadow scale-[1.02]",children:[J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2",children:J.jsx(hU,{className:"bg-primary text-primary-foreground text-xs font-medium px-4",children:"MOST COMMON"})}),J.jsxs("div",{className:"pt-2",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Standard Upgrades"}),J.jsx("div",{className:"mb-4",children:J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$10,000 - $75,000"})}),J.jsxs("ul",{className:"space-y-3 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("span",{children:[J.jsx("strong",{className:"text-foreground",children:"Minor version upgrades"})," (1-2 versions): $10,000 - $35,000"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("span",{children:[J.jsx("strong",{className:"text-foreground",children:"Major version upgrades"})," (Rails 5/6 → 7): $35,000 - $75,000"]})]})]})]})]}),J.jsxs("div",{className:"clean-card p-6 border-t-4 border-data-orange hover:shadow-lg transition-shadow",children:[J.jsx(hU,{variant:"outline",className:"mb-4 text-xs font-medium bg-data-orange/10 border-data-orange/30 text-data-orange",children:"COMPLEX PROJECTS"}),J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-2",children:"Legacy Rescue"}),J.jsx("div",{className:"mb-4",children:J.jsx("span",{className:"text-3xl font-bold text-foreground",children:"$75,000 - $200,000+"})}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"For Rails 3.x/4.x applications requiring significant refactoring, gem replacements, and extensive testing."})]})]}),J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h3",{className:"text-2xl font-semibold text-foreground mb-6 text-center",children:"Engagement Models"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"text-center p-6 rounded-xl bg-surface/50 border border-outline/10",children:[J.jsx("div",{className:"p-3 rounded-xl bg-primary/10 w-fit mx-auto mb-4",children:J.jsx(Rm,{className:"w-6 h-6 text-primary"})}),J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Fixed Price"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Available after assessment for well-defined scopes. Best for straightforward upgrades with good test coverage."})]}),J.jsxs("div",{className:"text-center p-6 rounded-xl bg-surface/50 border border-outline/10",children:[J.jsx("div",{className:"p-3 rounded-xl bg-data-teal/10 w-fit mx-auto mb-4",children:J.jsx(Ld,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Time & Materials"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Flexible engagement with weekly billing. Best for complex legacy applications or when scope may evolve."})]}),J.jsxs("div",{className:"text-center p-6 rounded-xl bg-surface/50 border border-outline/10",children:[J.jsx("div",{className:"p-3 rounded-xl bg-data-orange/10 w-fit mx-auto mb-4",children:J.jsx(GI,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h4",{className:"font-semibold text-foreground mb-2",children:"Dedicated Team"}),J.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Full-time engineers embedded with your team. Best for large enterprises with multiple applications."})]})]})]})]})})}),"rails-upgrades"===s.slug&&J.jsxs("section",{className:"py-20 md:py-24 bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 text-white relative overflow-hidden",children:[J.jsxs("div",{className:"absolute inset-0 opacity-10",children:[J.jsx("div",{className:"absolute top-0 left-1/4 w-96 h-96 bg-data-teal rounded-full blur-3xl"}),J.jsx("div",{className:"absolute bottom-0 right-1/4 w-96 h-96 bg-primary rounded-full blur-3xl"})]}),J.jsx("div",{className:"container mx-auto px-6 relative z-10",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold mb-6 leading-tight",children:"Ready to Modernize Your Rails Application?"}),J.jsx("p",{className:"text-lg md:text-xl text-slate-300 mb-10 max-w-3xl mx-auto leading-relaxed",children:"Start with a free assessment. We'll analyze your codebase, identify risks and blockers, and provide a detailed roadmap—with no obligation to proceed. Most assessments are completed within 5 business days."}),J.jsx("div",{className:"mb-8",children:J.jsxs(oz,{size:"lg",className:"bg-data-teal hover:bg-data-teal/90 text-white text-lg px-10 py-6 h-auto font-semibold shadow-lg shadow-data-teal/25 hover:shadow-xl hover:shadow-data-teal/30 transition-all",onClick:()=>{window.gtag&&window.gtag("event","rails_upgrade_final_cta_click",{cta_type:"primary",button_text:"Get Your Free Assessment"}),v(!0)},children:["Get Your Free Assessment",J.jsx(Ka,{className:"ml-2 w-5 h-5"})]})}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center mb-12",children:[J.jsxs(oz,{variant:"outline",size:"lg",className:"border-slate-400 text-slate-200 hover:bg-white/10 hover:text-white hover:border-white transition-all",onClick:()=>{window.gtag&&window.gtag("event","rails_upgrade_final_cta_click",{cta_type:"secondary",button_text:"Schedule a Call"}),v(!0)},children:[J.jsx(rg,{className:"w-4 h-4 mr-2"}),"Schedule a Call"]}),J.jsxs(oz,{variant:"outline",size:"lg",className:"border-slate-400 text-slate-200 hover:bg-white/10 hover:text-white hover:border-white transition-all",onClick:()=>{window.gtag&&window.gtag("event","rails_upgrade_final_cta_click",{cta_type:"download",button_text:"Download Rails Upgrade Checklist"}),v(!0)},children:[J.jsx(zm,{className:"w-4 h-4 mr-2"}),"Download: Rails Upgrade Checklist"]})]}),J.jsxs("div",{className:"flex flex-wrap gap-6 md:gap-10 justify-center text-sm text-slate-400",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{children:"No credit card required"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{children:"Assessment in 5 business days"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{children:"100% confidential—NDA available"})]})]})]})})]}),J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsxs("div",{className:"clean-card p-6 bg-gradient-to-r from-data-teal/5 to-transparent border-l-4 border-data-teal",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"At a Glance"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Timeline:"})," ",J.jsx("span",{className:"text-muted-foreground",children:s.timeline})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Team Size:"})," ",J.jsx("span",{className:"text-muted-foreground",children:s.team})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Typical ROI:"})," ",J.jsx("span",{className:"text-muted-foreground",children:"agentic-ai"===s.key?"8 weeks to positive ROI":"genai-accelerator"===s.key?"6 weeks to production value":"computer-vision-fasttrack"===s.key?"4-8 weeks to deployment ROI":"Contact for estimate"})]}),J.jsxs("div",{children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Best For:"})," ",J.jsx("span",{className:"text-muted-foreground",children:s.popularIndustries?.map(e=>e.replace("-"," & ")).join(", ")||"Multiple industries"})]})]}),"agentic-ai"===s.key&&J.jsxs("div",{className:"mt-6 pt-6 border-t border-outline/20",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Key Takeaways:"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Agentic AI Systems automate back-office workflows with 94% accuracy and human oversight"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Typical deployment: 2-4 weeks from design to production pilot"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"ROI achieved in 8 weeks on average for Fortune 500 clients"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Supports cloud, on-prem, or hybrid deployments with full compliance (HIPAA, SOC2, FedRAMP)"})]})]})]}),"genai-accelerator"===s.key&&J.jsxs("div",{className:"mt-6 pt-6 border-t border-outline/20",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Key Takeaways:"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"GenAI Product Accelerator ships production RAG features in 4-6 weeks with measurable accuracy and safety gates"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Includes full eval suite, CI regression checks, and observability dashboards"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Supports cloud, on-prem, and hybrid deployments with PII protection and compliance (HIPAA, SOC2)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Average 91% accuracy and <3% hallucination rate in production"})]})]})]}),"computer-vision-fasttrack"===s.key&&J.jsxs("div",{className:"mt-6 pt-6 border-t border-outline/20",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Key Takeaways:"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Computer Vision FastTrack deploys production edge AI in 4-8 weeks with <200ms latency and 96% accuracy"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Includes custom model training, edge optimization (TensorRT/ONNX), and MLOps workflows"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Supports Jetson, x86, ARM; cloud fallback for batch processing"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal",children:"•"}),J.jsx("span",{children:"Typical deployment: 96% accuracy, 120ms p95 latency, 87% reduction in manual review"})]})]})]})]})})})}),"integration-fasttrack"===s.slug&&s.compatibilityMatrix&&J.jsx("section",{className:"py-12 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsx(QZ,{protocols:s.compatibilityMatrix.protocols,messageBrokers:s.compatibilityMatrix.messageBrokers,messageFormats:s.compatibilityMatrix.messageFormats,targetSystems:s.compatibilityMatrix.targetSystems})})})}),"rails-upgrades"===s.slug&&s.compatibilityMatrix&&J.jsx("section",{className:"py-12 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsx(QZ,{protocols:s.compatibilityMatrix.protocols,messageBrokers:s.compatibilityMatrix.messageBrokers,messageFormats:s.compatibilityMatrix.messageFormats,targetSystems:s.compatibilityMatrix.targetSystems})})})}),"computer-vision-fasttrack"===s.key&&J.jsx("section",{className:"py-12 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Compatibility Matrix"}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Edge Hardware"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Jetson Orin"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Jetson Xavier"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Jetson Nano"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"x86 (Intel/AMD)"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Inference Engines"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"DeepStream"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Triton"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"ONNX Runtime"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"TensorRT"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Stream Protocols"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"RTSP"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"RTMP"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"HTTP/MJPEG"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"USB"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Integration Points"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"VMS/NVR"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"WMS/TMS"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"EAM/CMMS"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"REST/MQTT"})]})]})]})]})})}),"computer-vision-fasttrack"===s.key&&J.jsx("section",{className:"py-12 bg-gradient-to-r from-data-teal/5 to-transparent",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-teal bg-background",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Safety & Governance"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-4 text-sm text-muted-foreground",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Reviewer Audit Trails"}),J.jsx("p",{children:"Complete chain-of-custody for all annotations, approvals, and model updates with reason codes and timestamps."})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"Retention & Compliance"}),J.jsx("p",{children:"Configurable retention windows (7-365 days) with cold tier archival. Supports SOC2, CJIS, and industry-specific requirements."})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:"PII Masking & Redaction"}),J.jsx("p",{children:"Automatic face blurring, license plate redaction, and configurable masking zones for privacy compliance (GDPR, CCPA)."})]})]})]})})})}),s.beforeAfterStats&&J.jsx("section",{className:"py-16 bg-gradient-to-r from-data-teal/5 via-data-orange/5 to-data-blue/5",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"agentic-ai"===s.key?"Agentic AI Impact: Before & After Results":"genai-accelerator"===s.key?"GenAI Product Impact: Measured Results":"computer-vision-fasttrack"===s.key?"Computer Vision ROI: Real Metrics":"ai-orchestration"===s.key?"AI Orchestration Impact: Cost & Performance":"rails-upgrades"===s.slug?"Real Impact: Measured Before & After":"Real Impact"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.beforeAfterStats.map((e,t)=>J.jsxs(tt,{to:"/how-we-measure#formulas",className:"clean-card p-6 border-l-4 border-data-teal hover:shadow-lg transition-shadow cursor-pointer group",onClick:()=>S("beforeAfterStats"),children:[J.jsxs("div",{className:"text-sm font-semibold text-data-teal mb-3 flex items-center justify-between",children:[e.metric,J.jsx("span",{className:"text-xs text-muted-foreground group-hover:text-data-teal transition-colors",children:"How measured →"})]}),J.jsxs("div",{className:"flex items-center gap-4 mb-2",children:[J.jsxs("div",{className:"text-muted-foreground",children:[J.jsx("div",{className:"text-xs mb-1",children:"Before"}),J.jsx("div",{className:"text-2xl font-bold",children:e.before})]}),J.jsx("div",{className:"text-data-orange text-2xl",children:"→"}),J.jsxs("div",{className:"text-foreground",children:[J.jsx("div",{className:"text-xs mb-1",children:"After"}),J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:e.after})]})]}),J.jsx("div",{className:"text-sm text-muted-foreground",children:e.impact})]},t))})]})})}),"agentic-ai"===s.key&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsx("div",{className:"clean-card p-8 border-l-4 border-data-orange bg-gradient-to-r from-data-orange/5 to-transparent",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"text-4xl",children:"🏆"}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-orange uppercase tracking-wide mb-2",children:"Case Study Highlight"}),J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-3",children:"Fortune 500 Insurance: 73% Claims Automation"}),J.jsx("p",{className:"text-muted-foreground mb-4",children:"Automated claim review, fraud detection, and policy verification with 94% accuracy. Human reviewers now handle only edge cases, reducing processing time from 8 hours/day to 45 minutes/day."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-4 mb-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"73%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Claims Automated"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"94%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Agent Accuracy"})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-2xl font-bold text-data-teal",children:"8 weeks"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Time to ROI"})]})]}),J.jsx(oz,{variant:"outline",size:"sm",onClick:()=>v(!0),children:"Read Full Case Study →"})]})]})})})})}),"agentic-ai"===s.key&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"When to Choose What"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Agentic AI Systems builds the agents and workflows. For multi-agent orchestration at scale, consider our control plane solution."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-orange",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Agentic AI Systems"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Best for building 1-3 focused agents"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Design & deploy specific agent workflows"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Human-in-the-loop (HITL) review flows"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Policy alignment & guardrails"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Explainable agent decisions"})]})]})]}),J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-amber",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"AI Orchestration"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Best for managing 5+ agents at scale"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Multi-model routing & fallbacks"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Cost governance & budget caps"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Central audit trails & run logs"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Enterprise-wide governance"})]})]}),J.jsx("div",{className:"mt-4",children:J.jsx(tt,{to:"/services/ai-orchestration",children:J.jsx(oz,{variant:"outline",size:"sm",className:"w-full",children:"Learn about AI Orchestration →"})})})]})]})]})})}),"genai-accelerator"===s.key&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"When to Choose What"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"GenAI Product Accelerator builds RAG features for search and Q&A. For multi-step workflows with actions, consider Agentic AI."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-teal",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"GenAI Product Accelerator"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Best for RAG/search/Q&A features"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Knowledge retrieval and semantic search"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Document Q&A and summarization"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Conversational AI assistants"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Content generation with grounding"})]})]})]}),J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-orange",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Agentic AI Systems"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Best for multi-step workflows with actions"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Task automation with decision-making"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Tool-calling and API orchestration"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Human-in-the-loop workflows"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Policy enforcement and compliance"})]})]}),J.jsx("div",{className:"mt-4",children:J.jsx(tt,{to:"/services/agentic-ai",children:J.jsx(oz,{variant:"outline",size:"sm",className:"w-full",children:"Learn about Agentic AI →"})})})]})]})]})})}),("computer-vision-fasttrack"===s.key||"data-analytics-platform"===s.key||"ai-orchestration"===s.key||"mlops-model-ops"===s.slug||"platform-modernization"===s.slug||"security-compliance"===s.slug||"integration-fasttrack"===s.slug||"rails-upgrades"===s.slug)&&s.industryPatterns&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Industry Deployment Patterns"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"computer-vision-fasttrack"===s.key?"How different industries use Computer Vision in production environments.":"data-analytics-platform"===s.key?"How different industries leverage Data & Analytics platforms for operational intelligence.":"ai-orchestration"===s.key?"How different industries deploy AI orchestration for multi-agent coordination and cost optimization.":"mlops-model-ops"===s.slug?"How different industries implement MLOps for model governance and reliability.":"platform-modernization"===s.slug?"How different industries modernize legacy platforms for performance and cost efficiency.":"integration-fasttrack"===s.slug?"How different industries deploy production-grade integration connectors with contract testing and reconciliation.":"rails-upgrades"===s.slug?"How different industries upgrade Rails applications without feature freeze and with proven performance gains.":"How different industries achieve security and compliance across regulatory requirements."}),J.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.industryPatterns.map((e,t)=>J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-cyan",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:e.industry}),J.jsx("p",{className:"text-sm font-semibold text-data-teal mb-3",children:e.useCase}),J.jsx("p",{className:"text-sm text-muted-foreground",children:e.example})]},t))})]})})}),("computer-vision-fasttrack"===s.key||"data-analytics-platform"===s.key||"mlops-model-ops"===s.slug||"platform-modernization"===s.slug||"integration-fasttrack"===s.slug||"rails-upgrades"===s.slug)&&s.architectureGuide&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Architecture Decision Guide"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"computer-vision-fasttrack"===s.key?"Choosing the right deployment architecture for your Computer Vision system.":"data-analytics-platform"===s.key?"Choosing the right data platform architecture for your analytics requirements.":"integration-fasttrack"===s.slug?"Choosing the right integration architecture pattern for your systems and migration strategy.":"rails-upgrades"===s.slug?"Choosing the right Rails upgrade strategy for your team size, risk tolerance, and deployment constraints.":"Choosing the right MLOps architecture for your organization's scale and governance needs."}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs("table",{className:"w-full border border-outline/20",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"bg-surface/50",children:[J.jsx("th",{className:"text-left p-4 border-b border-outline/20 font-semibold text-foreground",children:"Approach"}),J.jsx("th",{className:"text-left p-4 border-b border-outline/20 font-semibold text-foreground",children:"When to Use"}),J.jsx("th",{className:"text-left p-4 border-b border-outline/20 font-semibold text-foreground",children:"Tradeoffs"}),J.jsx("th",{className:"text-left p-4 border-b border-outline/20 font-semibold text-foreground",children:"Best For"})]})}),J.jsx("tbody",{children:s.architectureGuide.map((e,t)=>J.jsxs("tr",{className:"border-b border-outline/20",children:[J.jsx("td",{className:"p-4 font-semibold text-data-teal",children:e.approach}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:e.when}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:e.tradeoffs}),J.jsx("td",{className:"p-4 text-sm text-muted-foreground",children:e.bestFor})]},t))})]})})]})})}),"data-analytics-platform"===s.slug&&(s.timeline||s.team)&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Timeline & Team"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[s.timeline&&J.jsxs(aU,{className:"p-6 border-border/50 hover:border-primary/30 transition-colors",children:[J.jsxs("h3",{className:"font-semibold text-lg mb-3 flex items-center gap-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-primary"}),"Typical Timeline"]}),J.jsx("p",{className:"text-2xl font-bold text-primary",children:s.timeline}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"From kickoff to acceptance testing"})]}),s.team&&J.jsxs(aU,{className:"p-6 border-border/50 hover:border-primary/30 transition-colors",children:[J.jsxs("h3",{className:"font-semibold text-lg mb-3 flex items-center gap-2",children:[J.jsx(GI,{className:"h-5 w-5 text-primary"}),"Delivery Team"]}),J.jsx("div",{className:"flex flex-wrap gap-2",children:Array.isArray(s.team)?s.team.map((e,t)=>J.jsx(hU,{variant:"secondary",className:"text-xs",children:e},t)):J.jsx("p",{className:"text-sm text-muted-foreground",children:s.team})})]})]})]})})}),"integration-fasttrack"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Tech & Deployment"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Our technology stack and deployment options for production-ready integration connectors."}),J.jsx(aU,{className:"p-6 border-l-4 border-data-cyan bg-data-cyan/5",children:J.jsxs("div",{className:"space-y-6 text-sm text-muted-foreground leading-relaxed",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Protocols"}),J.jsx("p",{children:"REST/GraphQL/gRPC, SOAP, SFTP/S3, Kafka/Kinesis/PubSub, webhooks"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Stacks"}),J.jsx("p",{children:"Node/TypeScript, Java/Spring, Python/FastAPI, Go; containerized"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Message Formats"}),J.jsx("p",{children:"JSON/Avro/Protobuf/NDJSON/CSV; EDI X12 (270/271/276/277/835/837), HL7/FHIR"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Target Systems"}),J.jsx("p",{children:"SAP/SuccessFactors, Oracle, Workday, Salesforce, ServiceNow, Dynamics, Netsuite; Okta/Azure AD (SCIM/OIDC/SAML); Snowflake/BigQuery/Redshift; ArcGIS/feature services; S3/GCS/Azure Blob; Triton/MLflow endpoints; VMS/WMS/TMS/EAM/CMMS"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Observability"}),J.jsx("p",{children:"OpenTelemetry traces; Prometheus/Grafana or Datadog; ELK"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-base font-semibold text-foreground mb-2",children:"Security"}),J.jsx("p",{children:"mTLS, JWS/JWT validation, key rotation; IP allowlists; audit logs"})]})]})})]})})}),"integration-fasttrack"===s.slug&&s.inputs&&s.inputs.length>0&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Inputs We Need"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Critical inputs to ensure successful connector delivery and assess feasibility before engagement."}),J.jsx(aU,{className:"p-6 border-l-4 border-primary",children:J.jsx("ul",{className:"space-y-3",children:s.inputs.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-5 w-5 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})})]})})}),"data-analytics-platform"===s.slug&&s.inputs&&s.inputs.length>0&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Inputs We Need"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"To ensure a successful implementation, we'll need the following information from your team."}),J.jsx(aU,{className:"p-6 border-l-4 border-primary",children:J.jsx("ul",{className:"space-y-3",children:s.inputs.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx(Rl,{className:"h-5 w-5 text-primary mt-0.5 flex-shrink-0"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"MLOps Stack Comparison"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"We help you choose and implement the right MLOps platform for your team's needs and constraints."}),J.jsx(vZ,{})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Deployment Pipeline"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Governed promotion path from dev to production with automated quality gates and rollback automation."}),J.jsx("div",{className:"clean-card p-6 border-border/50 bg-surface/20",children:J.jsx("img",{src:"/images/mlops-deployment-flow.webp",alt:"MLOps deployment pipeline: Dev → Staging → Canary → Prod with quality gates",className:"w-full h-auto rounded-lg",loading:"lazy",decoding:"async",width:"1280",height:"720",style:{aspectRatio:"16/9"}})})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{className:"py-12 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Technology & Integration Matrix"}),J.jsxs("div",{className:"grid md:grid-cols-5 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Model Registry"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"MLflow"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"W&B"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Custom"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"CI/CD"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GitHub Actions"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GitLab CI"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Model Serving"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Triton"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"TF Serving"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"FastAPI"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Monitoring"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Prometheus"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Grafana"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Feature Stores"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Feast"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Tecton"})]})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Migration Strategy Comparison"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"We help you choose the right modernization approach based on your team size, risk tolerance, and scaling requirements."}),J.jsx(MZ,{})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Before/After Architecture"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Visual transformation from monolithic to modular architecture with API gateway, observability, and deployment automation."}),J.jsx("div",{className:"clean-card p-6 border-border/50 bg-surface/20",children:J.jsx("img",{src:"/images/platform-migration-architecture.webp",alt:"Platform migration architecture: Monolithic legacy system transformed to modular architecture with API gateway, microservices, and observability layer",className:"w-full h-auto rounded-lg",loading:"lazy",decoding:"async",width:"1280",height:"720",style:{aspectRatio:"16/9"}})})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-12 bg-surface/50",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Technology & Integration Matrix"}),J.jsxs("div",{className:"grid md:grid-cols-5 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Languages/Frameworks"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Ruby/Rails"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Node.js"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Python"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Java/Spring"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:".NET/C#"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Cloud Platforms"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"AWS"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Azure"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GCP"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"On-prem"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Containers/Orchestration"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Docker"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Kubernetes"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"ECS"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GKE/AKS"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Observability"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Datadog"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"New Relic"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Prometheus"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Grafana"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"CI/CD"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GitHub Actions"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GitLab CI"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Jenkins"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"CircleCI"})]})]})]})]})})}),"platform-modernization"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Week-by-Week Timeline"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Typical 4–8 week modernization sprint broken into measurable phases with clear acceptance criteria."}),J.jsxs("div",{className:"space-y-4",children:[J.jsx(aU,{className:"p-5 border-l-4 border-data-teal bg-data-teal/5",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx(hU,{variant:"secondary",className:"text-xs font-semibold",children:"Weeks 1–2"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"Architecture & Instrumentation"}),J.jsxs("ul",{className:"space-y-1.5 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Module boundaries defined with API contracts"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Baseline SLOs and error budgets established"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Observability stack deployed (distributed tracing, structured logging)"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Test gap analysis and contract test scaffolding"})]})]})]})]})}),J.jsx(aU,{className:"p-5 border-l-4 border-data-blue bg-data-blue/5",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx(hU,{variant:"secondary",className:"text-xs font-semibold",children:"Weeks 3–6"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"Refactor Wave & Dual-Run"}),J.jsxs("ul",{className:"space-y-1.5 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Extract first modules (Catalog, Orders, Payments, etc.) with API edges"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Dual-run mode enabled: shadow traffic validation against legacy"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Integration tests passing with contract validation"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-blue mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"First canary deployment (10% traffic) with metrics comparison"})]})]})]})]})}),J.jsx(aU,{className:"p-5 border-l-4 border-data-orange bg-data-orange/5",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsx(hU,{variant:"secondary",className:"text-xs font-semibold",children:"Weeks 7–8"})}),J.jsxs("div",{className:"flex-1",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"Cutover & Handoff"}),J.jsxs("ul",{className:"space-y-1.5 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"100% traffic migration with zero-downtime cutover"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Rollback rehearsal: proven <15 min MTTR to legacy"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Cost tuning: autoscale policies, rightsizing, reserved instances"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsx("span",{children:"Runbook handoff with SLO dashboards, alert policies, and escalation procedures"})]})]})]})]})})]})]})})}),"security-compliance"===s.slug&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Security Framework Comparison"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"We align your security posture to industry-standard frameworks based on your compliance requirements and risk profile."}),J.jsx(IZ,{})]})})}),"security-compliance"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Compliance Requirements Matrix"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Detailed breakdown of regulatory requirements and audit-ready artifacts we deliver for each compliance standard."}),J.jsx(TZ,{})]})})}),"security-compliance"===s.slug&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Policy Control Mapping"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Clear mapping from security controls to implementation specifics and audit evidence. Buyers can scan this to understand exactly what we deliver."}),J.jsxs("div",{className:"mb-4 grid md:grid-cols-[200px_1fr_1fr] gap-4 text-xs font-semibold text-primary",children:[J.jsx("div",{children:"Control"}),J.jsx("div",{children:"What We Implement"}),J.jsx("div",{children:"Evidence Delivered"})]}),J.jsx(OZ,{})]})})}),"security-compliance"===s.slug&&J.jsx("section",{className:"py-12",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Technology & Tool Compatibility"}),J.jsxs("div",{className:"grid md:grid-cols-5 gap-4",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"SAST/DAST/SCA"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Snyk"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GHAS"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Semgrep"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"ZAP"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Container/IaC"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Trivy"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Grype"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"tfsec"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"checkov"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Secrets/KMS"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Vault"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"AWS KMS"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"GCP KMS"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Azure KV"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Identity/SSO"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"OIDC"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"SAML"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"SCIM"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"LDAP"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-data-teal mb-2",children:"Accessibility"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"axe"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Pa11y"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"Lighthouse"}),J.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-background border border-outline/30 text-muted-foreground",children:"NVDA"})]})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-16 md:py-20 bg-gradient-to-b from-surface/30 to-background",id:"what-is-product-pod",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"What is a Product Pod?"}),J.jsxs("div",{className:"bg-card border border-primary/20 rounded-xl p-6 md:p-8 mb-10 shadow-soft",children:[J.jsxs("blockquote",{className:"text-lg md:text-xl text-foreground leading-relaxed mb-4",children:[J.jsx("strong",{children:"A Product Pod is a dedicated, cross-functional development team that owns continuous product delivery with outcome accountability."})," Unlike staff augmentation where you manage individual contractors, a Pod operates as an integrated unit with its own leadership, built-in Agile delivery process, and shared responsibility for results. The pod model for software development transforms how organizations build digital products—moving from buying hours to buying outcomes."]}),J.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Think of it as a dedicated team model meets agile squad services—a self-managing unit of specialists (developers, QA, DevOps, design) who work together long-term on your product. Product-oriented delivery means the Pod isn't measured by utilization rates or billable hours, but by features shipped, velocity maintained, and business outcomes achieved."})]}),J.jsxs("div",{className:"mb-8",children:[J.jsx("h3",{className:"text-xl font-semibold text-foreground mb-6",children:"The Dedicated Development Team Market"}),J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-5 text-center",children:[J.jsx("div",{className:"text-3xl font-bold text-data-teal mb-1",children:"$340B"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"IT staff augmentation market in 2024"})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-5 text-center",children:[J.jsx("div",{className:"text-3xl font-bold text-data-blue mb-1",children:"13.7%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"CAGR growth to $1.2T by 2033"})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-5 text-center",children:[J.jsx("div",{className:"text-3xl font-bold text-data-orange mb-1",children:"72%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"of tech leaders plan to scale via external teams in 2025"})]}),J.jsxs("div",{className:"bg-background border border-outline/30 rounded-lg p-5 text-center",children:[J.jsx("div",{className:"text-3xl font-bold text-primary mb-1",children:"25%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"productivity gain from agile pod teams"})]})]})]}),J.jsxs("div",{className:"bg-surface/50 border border-outline/30 rounded-lg p-6",children:[J.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Why Organizations Are Moving to Dedicated Team Services"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-4 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{className:"text-foreground",children:"Outcome-based software development"})," replaces hours-based billing"]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{className:"text-foreground",children:"Results-oriented development teams"})," with built-in accountability"]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{className:"text-foreground",children:"Continuous delivery teams"})," ship 40% faster than traditional outsourcing"]})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{className:"text-foreground",children:"Knowledge transfer by design"})," eliminates vendor lock-in"]})]})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 bg-surface/50",id:"pod-differentiators",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"The Staff Augmentation Trap: Hours Without Outcomes"}),J.jsxs("div",{className:"max-w-3xl mb-12",children:[J.jsx("p",{className:"text-lg text-muted-foreground mb-4 leading-relaxed",children:"You've tried staff augmentation. Maybe more than once. You brought in developers to accelerate your roadmap. What you got was a different kind of burden."}),J.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:'External contractors who needed constant management. People treating your project as one of many, not their top priority. Knowledge walking out the door when engagements end. "Resources" who delivered lines of code but not business outcomes.'})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"p-6 bg-background border-outline/50 shadow-sm hover:shadow-md transition-shadow",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-destructive/10 flex items-center justify-center",children:J.jsx(bg,{className:"w-5 h-5 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"The Management Burden"})]}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Staff augmentation gives you developers. Managing them? That's still on you. Defining work, running sprints, unblocking issues, reviewing code—you're not getting capacity, you're getting more work."}),J.jsx("p",{className:"text-sm font-medium text-data-orange",children:"The Real Cost: More management overhead, not less"})]}),J.jsxs(aU,{className:"p-6 bg-background border-outline/50 shadow-sm hover:shadow-md transition-shadow",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-destructive/10 flex items-center justify-center",children:J.jsx(ZS,{className:"w-5 h-5 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"The Accountability Gap"})]}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"When external developers miss deadlines or deliver buggy code, who's responsible? In traditional augmentation, you are. The vendor provided resources—what happens with them is your problem."}),J.jsx("p",{className:"text-sm font-medium text-data-orange",children:"The Real Cost: Risk stays with you, vendor gets paid regardless"})]}),J.jsxs(aU,{className:"p-6 bg-background border-outline/50 shadow-sm hover:shadow-md transition-shadow",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-destructive/10 flex items-center justify-center",children:J.jsx(jn,{className:"w-5 h-5 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"The Knowledge Drain"})]}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"After 18 months of working with external developers, they leave. Where does the knowledge go? With them. Undocumented decisions, tribal knowledge, context—all gone."}),J.jsx("p",{className:"text-sm font-medium text-data-orange",children:"The Real Cost: Repeated ramp-up, lost institutional knowledge"})]}),J.jsxs(aU,{className:"p-6 bg-background border-outline/50 shadow-sm hover:shadow-md transition-shadow",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-destructive/10 flex items-center justify-center",children:J.jsx(vf,{className:"w-5 h-5 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"The Commitment Problem"})]}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Your external developers are working on three other projects. Your Slack messages compete with other clients. Your priorities compete with theirs. Full-time rates, fractional attention."}),J.jsx("p",{className:"text-sm font-medium text-data-orange",children:"The Real Cost: Split focus, delayed responses, competing priorities"})]}),J.jsxs(aU,{className:"p-6 bg-background border-outline/50 shadow-sm hover:shadow-md transition-shadow",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-10 h-10 rounded-lg bg-destructive/10 flex items-center justify-center",children:J.jsx(FP,{className:"w-5 h-5 text-destructive"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"The Process Vacuum"})]}),J.jsx("p",{className:"text-muted-foreground mb-4 leading-relaxed",children:"Staff augmentation assumes you have strong delivery processes. Most organizations don't. You're adding developers to a broken pipeline—more throughput into the same bottlenecks."}),J.jsx("p",{className:"text-sm font-medium text-data-orange",children:"The Real Cost: More developers, same velocity"})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{id:"differentiators",className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Outcome-Based Software Development: Why Pods Deliver Better Results"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-3xl leading-relaxed",children:"A Product Pod isn't just a dedicated software development team—it's a complete delivery system built for product-oriented delivery. Cross-functional specialists who work together long-term as an agile squad, dedicated to your product, accountable for outcomes. You don't manage individual contractors. You partner with a results-oriented development team that owns delivery."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 lg:gap-8",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(ZS,{className:"w-6 h-6 text-data-teal"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Outcome Accountability You Can Measure"})]}),J.jsx("p",{className:"text-muted-foreground mb-5 leading-relaxed",children:"Unlike traditional software development team outsourcing, Pods aren't measured by hours worked. We're measured by features shipped, velocity trends, sprint commitments met, production stability. Our success is tied to yours—not to maximizing billable time. This is outcome-based software development in practice."}),J.jsxs("div",{className:"flex items-start gap-3 px-4 py-3 rounded-lg bg-primary/5 border border-primary/10",children:[J.jsx(Ef,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm text-foreground/80",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"How It Works:"})," Defined outcome metrics, regular measurement, shared accountability for hitting targets."]})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 group-hover:bg-data-blue/20 transition-colors",children:J.jsx(bw,{className:"w-6 h-6 text-data-blue"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Built-In Delivery Process"})]}),J.jsx("p",{className:"text-muted-foreground mb-5 leading-relaxed",children:"Every Pod comes with Agile delivery baked in. Sprint planning, daily standups, demos, retrospectives—you don't build the process, we bring it. The Pod Lead manages execution; you focus on what to build."}),J.jsxs("div",{className:"flex items-start gap-3 px-4 py-3 rounded-lg bg-primary/5 border border-primary/10",children:[J.jsx(Ef,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm text-foreground/80",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"How It Works:"})," Agile ceremonies, clear cadence, managed by Pod Lead. You participate in planning and reviews, we handle execution."]})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 group-hover:bg-data-orange/20 transition-colors",children:J.jsx($a,{className:"w-6 h-6 text-data-orange"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"Knowledge Transfer by Design"})]}),J.jsx("p",{className:"text-muted-foreground mb-5 leading-relaxed",children:"Knowledge shouldn't be locked in our heads. Every Pod engagement includes documentation, code reviews with your team, pairing sessions, and explicit knowledge transfer milestones."}),J.jsxs("div",{className:"flex items-start gap-3 px-4 py-3 rounded-lg bg-primary/5 border border-primary/10",children:[J.jsx(Ef,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm text-foreground/80",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"How It Works:"})," Living documentation, shadowing opportunities, gradual handoff process, no vendor lock-in."]})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 lg:p-8 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-5",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-accent/10 group-hover:bg-accent/20 transition-colors",children:J.jsx(Xx,{className:"w-6 h-6 text-accent"})}),J.jsx("h3",{className:"text-xl font-semibold text-foreground pt-2",children:"True Dedication"})]}),J.jsx("p",{className:"text-muted-foreground mb-5 leading-relaxed",children:"Your Pod works on your product. Not yours and three others. Full-time commitment means context stays loaded, responses are immediate, and your priorities are their only priorities."}),J.jsxs("div",{className:"flex items-start gap-3 px-4 py-3 rounded-lg bg-primary/5 border border-primary/10",children:[J.jsx(Ef,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm text-foreground/80",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"How It Works:"})," Pod members work exclusively on your product. Your roadmap is their roadmap."]})]})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"From Kickoff to Continuous Delivery: The Pod Lifecycle"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-3xl leading-relaxed",children:"A structured engagement that moves fast without cutting corners. Here's how your Pod engagement unfolds:"})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"hidden lg:block absolute top-16 left-[calc(12.5%+16px)] right-[calc(12.5%+16px)] h-1 bg-gradient-to-r from-data-teal via-data-blue to-data-orange rounded-full"}),J.jsxs("div",{className:"grid lg:grid-cols-4 gap-6 lg:gap-4",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"lg:hidden absolute left-6 top-12 bottom-0 w-0.5 bg-gradient-to-b from-data-teal to-data-blue"}),J.jsxs("div",{className:"flex lg:flex-col items-start lg:items-center gap-4 lg:gap-0",children:[J.jsx("div",{className:"relative z-10 flex-shrink-0 w-12 h-12 rounded-full bg-data-teal flex items-center justify-center shadow-lg",children:J.jsx("span",{className:"text-lg font-bold text-white",children:"1"})}),J.jsxs("div",{className:"lg:mt-6 lg:text-center flex-1",children:[J.jsx(hU,{className:"bg-data-teal/10 text-data-teal border-data-teal/20 mb-2",children:"Weeks 1-3"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Discovery & Pod Assembly"})]})]}),J.jsxs("div",{className:"ml-16 lg:ml-0 lg:mt-4 bg-card rounded-xl p-5 border border-outline/30 shadow-soft",children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Before a single line of code, we understand your product, goals, and constraints. Then we assemble the right Pod for your needs."}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide mb-1.5",children:"Activities"}),J.jsx("div",{className:"flex flex-wrap gap-1.5",children:["Product discovery","Architecture review","Pod composition","Team selection"].map(e=>J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:e},e))})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide mb-1.5",children:"Deliverables"}),J.jsx("ul",{className:"space-y-1",children:["Pod charter","Technical documentation","Sprint zero plan","Communication protocols"].map(e=>J.jsxs("li",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-teal flex-shrink-0"}),e]},e))})]})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"lg:hidden absolute left-6 top-12 bottom-0 w-0.5 bg-gradient-to-b from-data-blue to-data-blue"}),J.jsxs("div",{className:"flex lg:flex-col items-start lg:items-center gap-4 lg:gap-0",children:[J.jsx("div",{className:"relative z-10 flex-shrink-0 w-12 h-12 rounded-full bg-data-blue flex items-center justify-center shadow-lg",children:J.jsx("span",{className:"text-lg font-bold text-white",children:"2"})}),J.jsxs("div",{className:"lg:mt-6 lg:text-center flex-1",children:[J.jsx(hU,{className:"bg-data-blue/10 text-data-blue border-data-blue/20 mb-2",children:"Weeks 2-4"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Sprint Zero & Foundation"})]})]}),J.jsxs("div",{className:"ml-16 lg:ml-0 lg:mt-4 bg-card rounded-xl p-5 border border-outline/30 shadow-soft",children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"The Pod ramps up, establishes velocity baseline, and ships initial deliverables to demonstrate value fast."}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide mb-1.5",children:"Activities"}),J.jsx("div",{className:"flex flex-wrap gap-1.5",children:["Environment setup","CI/CD pipeline","First sprint planning","Initial development"].map(e=>J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:e},e))})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide mb-1.5",children:"Deliverables"}),J.jsx("ul",{className:"space-y-1",children:["Working pipeline","First sprint completed","Velocity baseline","Retrospective learnings"].map(e=>J.jsxs("li",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[J.jsx(Rl,{className:"w-3 h-3 text-data-blue flex-shrink-0"}),e]},e))})]})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"lg:hidden absolute left-6 top-12 bottom-0 w-0.5 bg-gradient-to-b from-data-blue to-data-orange"}),J.jsxs("div",{className:"flex lg:flex-col items-start lg:items-center gap-4 lg:gap-0",children:[J.jsx("div",{className:"relative z-10 flex-shrink-0 w-12 h-12 rounded-full bg-primary flex items-center justify-center shadow-lg",children:J.jsx("span",{className:"text-lg font-bold text-white",children:"3"})}),J.jsxs("div",{className:"lg:mt-6 lg:text-center flex-1",children:[J.jsx(hU,{className:"bg-primary/10 text-primary border-primary/20 mb-2",children:"Ongoing"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Continuous Delivery"})]})]}),J.jsxs("div",{className:"ml-16 lg:ml-0 lg:mt-4 bg-card rounded-xl p-5 border border-outline/30 shadow-soft",children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"The Pod hits cruising altitude—predictable sprints, regular demos, continuous improvement."}),J.jsxs("div",{className:"bg-muted/50 rounded-lg p-4",children:[J.jsx("p",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide mb-3",children:"2-Week Sprint Cadence"}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-16 text-xs font-medium text-data-teal",children:"Day 1"}),J.jsx("div",{className:"flex-1 h-6 bg-data-teal/20 rounded flex items-center px-2",children:J.jsx("span",{className:"text-xs text-data-teal font-medium",children:"Sprint Planning"})})]}),J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-16 text-xs font-medium text-data-blue",children:"Daily"}),J.jsx("div",{className:"flex-1 h-6 bg-data-blue/20 rounded flex items-center px-2",children:J.jsx("span",{className:"text-xs text-data-blue font-medium",children:"Standups (15 min)"})})]}),J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-16 text-xs font-medium text-foreground/60",children:"Mid-Sprint"}),J.jsx("div",{className:"flex-1 h-6 bg-muted rounded flex items-center px-2",children:J.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:"Progress Check-in"})})]}),J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-16 text-xs font-medium text-primary",children:"Day 10"}),J.jsx("div",{className:"flex-1 h-6 bg-primary/20 rounded flex items-center px-2",children:J.jsx("span",{className:"text-xs text-primary font-medium",children:"Sprint Demo"})})]}),J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"w-16 text-xs font-medium text-data-orange",children:"End"}),J.jsx("div",{className:"flex-1 h-6 bg-data-orange/20 rounded flex items-center px-2",children:J.jsx("span",{className:"text-xs text-data-orange font-medium",children:"Retro & Release"})})]})]})]})]})]}),J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"flex lg:flex-col items-start lg:items-center gap-4 lg:gap-0",children:[J.jsx("div",{className:"relative z-10 flex-shrink-0 w-12 h-12 rounded-full bg-data-orange flex items-center justify-center shadow-lg",children:J.jsx("span",{className:"text-lg font-bold text-white",children:"4"})}),J.jsxs("div",{className:"lg:mt-6 lg:text-center flex-1",children:[J.jsx(hU,{className:"bg-data-orange/10 text-data-orange border-data-orange/20 mb-2",children:"Ongoing"}),J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-2",children:"Knowledge Transfer & Evolution"})]})]}),J.jsxs("div",{className:"ml-16 lg:ml-0 lg:mt-4 bg-card rounded-xl p-5 border border-outline/30 shadow-soft",children:[J.jsx("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:"Throughout engagement—not just at the end—knowledge flows to your team. No vendor lock-in."}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide mb-1.5",children:"Continuous Activities"}),J.jsx("div",{className:"flex flex-wrap gap-1.5",children:["Real-time documentation","Code review participation","Pairing sessions","Handoff milestones"].map(e=>J.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-md text-muted-foreground",children:e},e))})]}),J.jsxs("div",{className:"flex items-start gap-2 px-3 py-2 rounded-lg bg-data-orange/10 border border-data-orange/20",children:[J.jsx($a,{className:"w-4 h-4 text-data-orange mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-xs text-data-orange",children:[J.jsx("span",{className:"font-semibold",children:"Exit Ready:"})," Your team can take over any time with full context"]})]})]})]})]})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Accountability You Can Measure"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-3xl leading-relaxed",children:"\"Outcome accountability\" isn't a slogan—it's measurable. Every Pod tracks metrics that matter, reviewed together regularly."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:[J.jsx("div",{className:"px-6 py-4 bg-data-teal/10 border-b border-data-teal/20",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/20",children:J.jsx(Rw,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Delivery Metrics"})]})}),J.jsxs("div",{className:"p-6 space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Sprint Commitment Rate"}),J.jsx("span",{className:"text-sm font-semibold text-data-teal",children:"Target: 85%+"})]}),J.jsx("div",{className:"h-2 bg-muted rounded-full overflow-hidden",children:J.jsx("div",{className:"h-full w-[85%] bg-gradient-to-r from-data-teal to-data-teal/70 rounded-full"})})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Velocity Trend"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Story points over time"})]}),J.jsx("div",{className:"flex items-end gap-1 h-8",children:[40,45,50,55,60,65,70].map((e,t)=>J.jsx("div",{className:"flex-1 bg-data-teal/30 rounded-t",style:{height:`${e}%`}},t))})]}),J.jsxs("div",{className:"grid grid-cols-2 gap-3 pt-2",children:[J.jsxs("div",{className:"px-3 py-2 bg-muted/50 rounded-lg",children:[J.jsx("p",{className:"text-xs text-muted-foreground",children:"Release Frequency"}),J.jsx("p",{className:"text-sm font-semibold text-foreground",children:"2-5×/week"})]}),J.jsxs("div",{className:"px-3 py-2 bg-muted/50 rounded-lg",children:[J.jsx("p",{className:"text-xs text-muted-foreground",children:"Lead Time"}),J.jsx("p",{className:"text-sm font-semibold text-foreground",children:"<5 days"})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:[J.jsx("div",{className:"px-6 py-4 bg-data-blue/10 border-b border-data-blue/20",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-blue/20",children:J.jsx(Gk,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Quality Metrics"})]})}),J.jsxs("div",{className:"p-6 space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Bug Escape Rate"}),J.jsx("span",{className:"text-sm font-semibold text-data-blue",children:"Target: <5%"})]}),J.jsx("div",{className:"h-2 bg-muted rounded-full overflow-hidden",children:J.jsx("div",{className:"h-full w-[95%] bg-gradient-to-r from-data-blue to-data-blue/70 rounded-full"})}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Bugs caught before production"})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Test Coverage"}),J.jsx("span",{className:"text-sm font-semibold text-data-blue",children:"Target: 80%+"})]}),J.jsx("div",{className:"h-2 bg-muted rounded-full overflow-hidden",children:J.jsx("div",{className:"h-full w-[80%] bg-gradient-to-r from-data-blue to-data-blue/70 rounded-full"})})]}),J.jsxs("div",{className:"grid grid-cols-2 gap-3 pt-2",children:[J.jsxs("div",{className:"px-3 py-2 bg-muted/50 rounded-lg",children:[J.jsx("p",{className:"text-xs text-muted-foreground",children:"Production Incidents"}),J.jsx("p",{className:"text-sm font-semibold text-foreground",children:"<2/month"})]}),J.jsxs("div",{className:"px-3 py-2 bg-muted/50 rounded-lg",children:[J.jsx("p",{className:"text-xs text-muted-foreground",children:"Tech Debt Ratio"}),J.jsx("p",{className:"text-sm font-semibold text-foreground",children:"<15%"})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:[J.jsx("div",{className:"px-6 py-4 bg-primary/10 border-b border-primary/20",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/20",children:J.jsx(GI,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Collaboration Metrics"})]})}),J.jsxs("div",{className:"p-6 space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Knowledge Transfer Completion"}),J.jsx("span",{className:"text-sm font-semibold text-primary",children:"Tracked monthly"})]}),J.jsx("div",{className:"flex gap-1",children:[1,2,3,4,5].map(e=>J.jsx("div",{className:"flex-1 h-2 rounded "+(e<=4?"bg-primary":"bg-muted")},e))}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Documentation, pairing, handoff milestones"})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Stakeholder Satisfaction"}),J.jsx("span",{className:"text-sm font-semibold text-primary",children:"NPS surveys"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx("div",{className:"h-2 flex-1 bg-muted rounded-full overflow-hidden",children:J.jsx("div",{className:"h-full w-[90%] bg-gradient-to-r from-primary to-primary/70 rounded-full"})}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"9/10"})]})]}),J.jsxs("div",{className:"grid grid-cols-2 gap-3 pt-2",children:[J.jsxs("div",{className:"px-3 py-2 bg-muted/50 rounded-lg",children:[J.jsx("p",{className:"text-xs text-muted-foreground",children:"Response Time"}),J.jsx("p",{className:"text-sm font-semibold text-foreground",children:"<4 hours"})]}),J.jsxs("div",{className:"px-3 py-2 bg-muted/50 rounded-lg",children:[J.jsx("p",{className:"text-xs text-muted-foreground",children:"Transparency"}),J.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Weekly reports"})]})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:[J.jsx("div",{className:"px-6 py-4 bg-data-orange/10 border-b border-data-orange/20",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-orange/20",children:J.jsx(ZC,{className:"w-5 h-5 text-data-orange transform rotate-180"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Business Impact"})]})}),J.jsxs("div",{className:"p-6 space-y-4",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Feature Adoption"}),J.jsx("span",{className:"text-sm font-semibold text-data-orange",children:"Usage tracking"})]}),J.jsx("div",{className:"flex items-end gap-1 h-8",children:[30,45,60,55,70,80,85].map((e,t)=>J.jsx("div",{className:"flex-1 bg-data-orange/30 rounded-t",style:{height:`${e}%`}},t))}),J.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Are features being used as intended?"})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center justify-between mb-2",children:[J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Time to Value"}),J.jsx("span",{className:"text-sm font-semibold text-data-orange",children:"First value: <30 days"})]}),J.jsx("div",{className:"h-2 bg-muted rounded-full overflow-hidden",children:J.jsx("div",{className:"h-full w-full bg-gradient-to-r from-data-orange to-data-orange/70 rounded-full"})})]}),J.jsxs("div",{className:"px-4 py-3 bg-muted/50 rounded-lg",children:[J.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:"Product Goal Progress"}),J.jsx("p",{className:"text-sm font-medium text-foreground",children:"OKR alignment tracked quarterly with your leadership"})]})]})]})]}),J.jsxs("div",{className:"mt-8 flex items-start gap-3 px-6 py-4 bg-muted/30 rounded-xl border border-outline/20",children:[J.jsx(xh,{className:"w-5 h-5 text-primary mt-0.5 flex-shrink-0"}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Full Transparency:"})," All metrics shared in weekly reports and sprint retrospectives. You see what we see—no hidden dashboards."]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Choosing the Right Model"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:"Not every engagement model fits every need. Here's how Product Pods compare to the alternatives—so you can make the right choice."})]}),J.jsxs(pQ,{defaultValue:"staff-aug",className:"mb-12",children:[J.jsxs(gQ,{className:"grid w-full grid-cols-3 mb-8 h-auto",children:[J.jsx(fQ,{value:"staff-aug",className:"text-sm py-3 px-2 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",children:"vs. Staff Augmentation"}),J.jsx(fQ,{value:"project-outsourcing",className:"text-sm py-3 px-2 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",children:"vs. Project Outsourcing"}),J.jsx(fQ,{value:"in-house",className:"text-sm py-3 px-2 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",children:"vs. Building In-House"})]}),J.jsx(yQ,{value:"staff-aug",children:J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:[J.jsxs("div",{className:"px-6 py-4 bg-muted/30 border-b border-outline/20",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Product Pods vs. Staff Augmentation"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"From contractors you manage to a team that delivers"})]}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/20",children:[J.jsx(GK,{className:"w-[180px] font-semibold",children:"Dimension"}),J.jsx(GK,{className:"font-semibold",children:"Staff Augmentation"}),J.jsx(GK,{className:"font-semibold bg-primary/5",children:"Product Pods"})]})}),J.jsxs(VK,{children:[J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"You Get"}),J.jsx(UK,{className:"text-muted-foreground",children:"Individual developers"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Integrated, cross-functional team"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Management"}),J.jsx(UK,{className:"text-muted-foreground",children:"You manage day-to-day"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Pod Lead manages delivery"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Accountability"}),J.jsx(UK,{className:"text-muted-foreground",children:"Hours worked"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Outcomes delivered"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Process"}),J.jsx(UK,{className:"text-muted-foreground",children:"You provide methodology"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Built-in Agile with ceremonies"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Commitment"}),J.jsx(UK,{className:"text-muted-foreground",children:"Often part-time or split"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Full dedication to your product"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Knowledge"}),J.jsx(UK,{className:"text-muted-foreground",children:"Walks away when contract ends"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Transferred to your team"})]})]})]})})]})}),J.jsx(yQ,{value:"project-outsourcing",children:J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:[J.jsxs("div",{className:"px-6 py-4 bg-muted/30 border-b border-outline/20",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Product Pods vs. Project Outsourcing"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"From fixed deliverables to continuous partnership"})]}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/20",children:[J.jsx(GK,{className:"w-[180px] font-semibold",children:"Dimension"}),J.jsx(GK,{className:"font-semibold",children:"Project Outsourcing"}),J.jsx(GK,{className:"font-semibold bg-primary/5",children:"Product Pods"})]})}),J.jsxs(VK,{children:[J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Scope"}),J.jsx(UK,{className:"text-muted-foreground",children:"Fixed deliverable, fixed price"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Continuous delivery, evolving scope"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Flexibility"}),J.jsx(UK,{className:"text-muted-foreground",children:"Change orders required"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Adapt sprint to sprint"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Relationship"}),J.jsx(UK,{className:"text-muted-foreground",children:"Transactional, milestone-based"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Partnership, embedded in your team"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Visibility"}),J.jsx(UK,{className:"text-muted-foreground",children:"Periodic milestone reports"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Daily transparency, shared tools"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Learning"}),J.jsx(UK,{className:"text-muted-foreground",children:"Limited feedback loops"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Continuous improvement built-in"})]})]})]})})]})}),J.jsx(yQ,{value:"in-house",children:J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 shadow-soft overflow-hidden",children:[J.jsxs("div",{className:"px-6 py-4 bg-muted/30 border-b border-outline/20",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Product Pods vs. Building In-House"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"From months of hiring to weeks of delivery"})]}),J.jsx("div",{className:"overflow-x-auto",children:J.jsxs(WK,{children:[J.jsx(HK,{children:J.jsxs(BK,{className:"bg-muted/20",children:[J.jsx(GK,{className:"w-[180px] font-semibold",children:"Dimension"}),J.jsx(GK,{className:"font-semibold",children:"In-House Team"}),J.jsx(GK,{className:"font-semibold bg-primary/5",children:"Product Pods"})]})}),J.jsxs(VK,{children:[J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Ramp Time"}),J.jsx(UK,{className:"text-muted-foreground",children:"3-6 months to hire & onboard"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"2-4 weeks to first delivery"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Cost Structure"}),J.jsx(UK,{className:"text-muted-foreground",children:"Salaries + benefits + overhead"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Predictable monthly investment"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Commitment"}),J.jsx(UK,{className:"text-muted-foreground",children:"Long-term employment obligation"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Flexible engagement length"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Risk"}),J.jsx(UK,{className:"text-muted-foreground",children:"Hiring mistakes are expensive"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Adjust team composition as needed"})]}),J.jsxs(BK,{children:[J.jsx(UK,{className:"font-medium",children:"Scaling"}),J.jsx(UK,{className:"text-muted-foreground",children:"Hire more people (slowly)"}),J.jsx(UK,{className:"bg-primary/5 font-medium text-foreground",children:"Add Pods when ready (quickly)"})]})]})]})})]})})]}),J.jsxs("div",{className:"bg-gradient-to-br from-primary/5 via-data-teal/5 to-data-blue/5 rounded-2xl p-8 border border-primary/20",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-6",children:"When Product Pods Are the Right Choice"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:[{text:"You need a team, not just individuals",icon:GI},{text:"Ongoing development, not a one-time project",icon:bw},{text:"You want delivery management included",icon:Lx},{text:"Knowledge transfer matters for your org",icon:Qi},{text:"Outcome accountability > tracking hours",icon:ZS},{text:"Speed to value is a priority",icon:$P}].map((e,t)=>J.jsxs("div",{className:"flex items-center gap-3 p-3 bg-background/60 rounded-lg",children:[J.jsx("div",{className:"flex-shrink-0 p-1.5 rounded-full bg-data-teal/20",children:J.jsx(Rl,{className:"w-4 h-4 text-data-teal"})}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:e.text})]},t))}),J.jsx("div",{className:"mt-6 pt-6 border-t border-outline/30",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Not sure?"})," We'll help you evaluate during discovery. Sometimes staff aug or a fixed project makes more sense—we'll tell you."]})})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Where Product Pods Deliver Value"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl",children:"Different companies, different challenges—same need for reliable product delivery. Here's where Pods make the biggest impact."})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs(RU,{children:[J.jsx(OU,{className:"w-full",children:J.jsxs("div",{className:"flex items-center gap-4 p-5 bg-card rounded-xl border border-outline/30 hover:border-primary/30 hover:shadow-soft transition-all text-left group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(Rw,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{className:"flex-grow",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Startup MVP & Iteration"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Seed-stage startup with vision, limited runway"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground group-data-[state=open]:rotate-180 transition-transform"})]})}),J.jsx(DU,{children:J.jsx("div",{className:"px-5 pb-5 pt-0 -mt-2 bg-card rounded-b-xl border-x border-b border-outline/30",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-6 border-t border-outline/20",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Need to build MVP, test, iterate—no time to hire a full engineering team from scratch."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Starter Pod becomes your development arm. MVP delivered in 10-12 weeks with rapid iteration cycles."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-blue"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Fast iteration to product-market fit. Knowledge transfers when you raise and build in-house."})]})]})})})]}),J.jsxs(RU,{children:[J.jsx(OU,{className:"w-full",children:J.jsxs("div",{className:"flex items-center gap-4 p-5 bg-card rounded-xl border border-outline/30 hover:border-primary/30 hover:shadow-soft transition-all text-left group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-teal/10 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(ZC,{className:"w-6 h-6 text-data-teal transform rotate-180"})}),J.jsxs("div",{className:"flex-grow",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Scale-Up Product Acceleration"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Series B/C with product-market fit"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground group-data-[state=open]:rotate-180 transition-transform"})]})}),J.jsx(DU,{children:J.jsx("div",{className:"px-5 pb-5 pt-0 -mt-2 bg-card rounded-b-xl border-x border-b border-outline/30",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-6 border-t border-outline/20",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Growth requires faster feature velocity than your internal team can deliver. Hiring takes too long."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Add 1-2 Standard Pods for parallel development tracks. Integrated with your existing team."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-blue"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"2-3x feature velocity without hiring overhead. Scale capacity on demand."})]})]})})})]}),J.jsxs(RU,{children:[J.jsx(OU,{className:"w-full",children:J.jsxs("div",{className:"flex items-center gap-4 p-5 bg-card rounded-xl border border-outline/30 hover:border-primary/30 hover:shadow-soft transition-all text-left group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-blue/10 group-hover:bg-data-blue/20 transition-colors",children:J.jsx(Gx,{className:"w-6 h-6 text-data-blue"})}),J.jsxs("div",{className:"flex-grow",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Enterprise Innovation Lab"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Enterprise exploring new digital products"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground group-data-[state=open]:rotate-180 transition-transform"})]})}),J.jsx(DU,{children:J.jsx("div",{className:"px-5 pb-5 pt-0 -mt-2 bg-card rounded-b-xl border-x border-b border-outline/30",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-6 border-t border-outline/20",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Internal teams fully allocated. IT processes too slow for innovation experiments."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Innovation Pod operates with startup speed, outside normal enterprise constraints."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-blue"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Rapid prototyping, fail fast culture. Successful innovations transfer to in-house teams."})]})]})})})]}),J.jsxs(RU,{children:[J.jsx(OU,{className:"w-full",children:J.jsxs("div",{className:"flex items-center gap-4 p-5 bg-card rounded-xl border border-outline/30 hover:border-primary/30 hover:shadow-soft transition-all text-left group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-primary/10 group-hover:bg-primary/20 transition-colors",children:J.jsx(mc,{className:"w-6 h-6 text-primary"})}),J.jsxs("div",{className:"flex-grow",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Technical Debt Burn-Down"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Product creaking under accumulated technical debt"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground group-data-[state=open]:rotate-180 transition-transform"})]})}),J.jsx(DU,{children:J.jsx("div",{className:"px-5 pb-5 pt-0 -mt-2 bg-card rounded-b-xl border-x border-b border-outline/30",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-6 border-t border-outline/20",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Your team is stuck maintaining legacy systems instead of building new features."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Technical Pod focused on debt reduction while your team continues feature development."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-blue"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Systematic debt reduction without feature freeze. Improved velocity over time."})]})]})})})]}),J.jsxs(RU,{children:[J.jsx(OU,{className:"w-full",children:J.jsxs("div",{className:"flex items-center gap-4 p-5 bg-card rounded-xl border border-outline/30 hover:border-primary/30 hover:shadow-soft transition-all text-left group",children:[J.jsx("div",{className:"flex-shrink-0 p-3 rounded-lg bg-data-orange/10 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(Np,{className:"w-6 h-6 text-data-orange"})}),J.jsxs("div",{className:"flex-grow",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Non-Technical Founder"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Domain expert with product idea, no technical background"})]}),J.jsx(al,{className:"w-5 h-5 text-muted-foreground group-data-[state=open]:rotate-180 transition-transform"})]})}),J.jsx(DU,{children:J.jsx("div",{className:"px-5 pb-5 pt-0 -mt-2 bg-card rounded-b-xl border-x border-b border-outline/30",children:J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 pt-6 border-t border-outline/20",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(eI,{className:"w-4 h-4 text-data-orange"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Challenge"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Don't know how to hire, manage, or evaluate developers. Risk of getting taken advantage of."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ef,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Solution"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Full-service Pod with heavy Pod Lead guidance. We translate your vision into technical reality."})]}),J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ZS,{className:"w-4 h-4 text-data-blue"}),J.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Outcome"})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Working product, understanding of development process, foundation for future in-house team."})]})]})})})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Frequently Asked Questions"}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"Common questions about working with Product Pods"})]}),J.jsxs(R$,{type:"single",collapsible:!0,className:"space-y-3",children:[J.jsxs(O$,{value:"faq-1",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How is a Product Pod different from staff augmentation?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Staff augmentation gives you individual developers under your management. A Product Pod is an integrated team with its own Pod Lead, built-in Agile process, and outcome accountability. You work with the Pod as a unit, not manage individuals. The Pod Lead handles day-to-day execution while you focus on product direction."})]}),J.jsxs(O$,{value:"faq-2",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How quickly can a Pod start delivering?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Most Pods complete discovery and ramp-up in 2-4 weeks, with meaningful delivery beginning in Sprint 1 (week 3-4). By week 6-8, the Pod hits steady-state velocity—dramatically faster than building an in-house team from scratch, which typically takes 3-6 months."})]}),J.jsxs(O$,{value:"faq-3",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:'What does "outcome accountability" mean in practice?'})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"We define success metrics together—sprint commitment rate, velocity, quality metrics. These are measured and reviewed regularly in sprint retrospectives. Our success is tied to these outcomes, not just hours billed. You see the same dashboards we do."})]}),J.jsxs(O$,{value:"faq-4",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How does knowledge transfer work?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Knowledge transfer is built in, not an afterthought. This includes real-time documentation, architecture decision records (ADRs), optional pairing sessions with your team, and structured handoff when engagements evolve. Zero vendor lock-in—you own all code and documentation from day one."})]}),J.jsxs(O$,{value:"faq-5",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"Can I scale the Pod up or down?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Yes. Pods can scale with 2-4 weeks notice for additions, 4-6 weeks for reductions. You can also add entire Pods as needs grow—running multiple parallel tracks. We flex to your needs without long-term headcount commitments."})]}),J.jsxs(O$,{value:"faq-6",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"Who manages the Pod day-to-day?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"The Pod Lead handles day-to-day management—sprint execution, blockers, team health, and Agile ceremonies. You participate in planning and reviews; execution management is our responsibility. This frees your time for product strategy and stakeholder work."})]}),J.jsxs(O$,{value:"faq-7",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What if I need specific technology expertise?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Pods are composed based on your tech stack. React/Node, Python/Django, mobile (iOS/Android/Flutter), cloud (AWS/GCP/Azure), AI/ML—we build the Pod with the right specialists. If you need niche expertise mid-engagement, we can bring in specialists."})]}),J.jsxs(O$,{value:"faq-8",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"Do you offer remote development teams, nearshore, or offshore options?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Yes. All Pods operate as remote development teams with proven distributed practices. We offer flexible geographic options: US-based teams (Austin HQ), nearshore development teams in Latin America for time zone alignment, and offshore development team options for cost optimization. Standard practices include overlap hours (minimum 4-6 hours with your team), async documentation, video-first communication, and collaboration tools (Slack, Jira, Notion). Whether you need an outsourced development team with US time zone coverage or a cost-optimized remote team, we configure to your requirements."})]}),J.jsxs(O$,{value:"faq-9",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What happens when the engagement ends?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Structured knowledge transfer regardless of how engagement evolves. Documentation is updated to current state, handoff sessions conducted with your team, and a 30-day support period addresses any questions. No cliff—smooth transition."})]}),J.jsxs(O$,{value:"faq-10",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How does pricing work?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Pods are priced monthly based on team composition. Predictable costs with no surprise bills—pricing includes all management overhead, tools, and process. No separate line items for project management, QA, or deployment support."})]}),J.jsxs(O$,{value:"faq-11",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"Can I meet the Pod team before committing?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Yes. You'll meet the proposed Pod Lead and key team members before finalizing the engagement. Team fit matters—we want you to feel confident in who you're working with."})]}),J.jsxs(O$,{value:"faq-12",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What if a Pod member isn't working out?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"We address fit issues quickly. Team dynamics and skill alignment matter for delivery. We can rotate team members with minimal disruption to delivery—typically within 1-2 sprints."})]}),J.jsxs(O$,{value:"faq-13",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What is a dedicated development team?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"A dedicated development team is a group of software professionals assigned exclusively to your project for an extended period. Unlike staff augmentation (where you manage individual contractors) or project outsourcing (fixed scope, fixed price), a dedicated team model provides ongoing capacity with consistent people who build deep product knowledge. The team typically includes developers, QA, DevOps, and a delivery lead. Product Pods are our implementation of the dedicated team model—with outcome accountability and knowledge transfer built in."})]}),J.jsxs(O$,{value:"faq-14",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"How much does a dedicated development team cost?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Dedicated team pricing varies based on team size, seniority, and geographic mix. For US-based pods, expect $40,000-$80,000/month for a standard team (Pod Lead + 2-4 developers + QA). Blended teams with nearshore or offshore talent range $25,000-$50,000/month. Enterprise pods with senior specialists and expanded capacity run $80,000-$150,000+/month. Unlike staff augmentation where you hire by the hour, Pod pricing is predictable monthly—no surprise bills, no utilization games. The cost includes all management overhead, Agile process, and tools."})]}),J.jsxs(O$,{value:"faq-15",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What is an agile pod and how does it differ from a scrum team?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:'An agile pod (or "squad" in some frameworks) is a small, cross-functional team that owns a specific product area or capability. The main difference from a traditional scrum team: pods are typically more autonomous, with built-in leadership and all skills needed to go from idea to production. While scrum teams often depend on external PMs, architects, or DevOps, agile pods include these capabilities. Pods also tend to be more stable—the same people work together long-term, building team chemistry and product knowledge. Product Pods follow agile squad best practices with outcome-based accountability layered on top.'})]}),J.jsxs(O$,{value:"faq-16",className:"bg-card rounded-xl border border-outline/30 px-6 shadow-soft",children:[J.jsx(D$,{className:"text-left hover:no-underline py-5",children:J.jsx("span",{className:"text-base font-semibold text-foreground pr-4",children:"What's the difference between dedicated teams and project outsourcing?"})}),J.jsx(q$,{className:"text-muted-foreground pb-5",children:"Project outsourcing is scope-based: fixed requirements, fixed timeline, fixed price. You hand off specs and get back a deliverable. Dedicated team services are capacity-based: ongoing team, evolving requirements, continuous delivery. Project outsourcing works for well-defined, bounded work. Dedicated teams work for products that evolve—where requirements change, learning happens, and long-term velocity matters more than hitting a single deadline. Product Pods are dedicated teams, not project outsourcing—we optimize for sustained delivery and product evolution, not a single hand-off."})]})]}),J.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How is a Product Pod different from staff augmentation?",acceptedAnswer:{"@type":"Answer",text:"Staff augmentation gives you individual developers under your management. A Product Pod is an integrated team with its own Pod Lead, built-in Agile process, and outcome accountability. You work with the Pod as a unit, not manage individuals."}},{"@type":"Question",name:"How quickly can a Pod start delivering?",acceptedAnswer:{"@type":"Answer",text:"Most Pods complete discovery and ramp-up in 2-4 weeks, with meaningful delivery beginning in Sprint 1 (week 3-4). By week 6-8, the Pod hits steady-state velocity—dramatically faster than building an in-house team."}},{"@type":"Question",name:"What does 'outcome accountability' mean in practice?",acceptedAnswer:{"@type":"Answer",text:"We define success metrics together—sprint commitment rate, velocity, quality metrics. These are measured and reviewed regularly. Our success is tied to these outcomes, not just hours billed."}},{"@type":"Question",name:"How does knowledge transfer work?",acceptedAnswer:{"@type":"Answer",text:"Knowledge transfer is built in, not an afterthought. This includes real-time documentation, architecture decision records, optional pairing sessions, and structured handoff when engagements evolve. Zero vendor lock-in."}},{"@type":"Question",name:"Can I scale the Pod up or down?",acceptedAnswer:{"@type":"Answer",text:"Yes. Pods can scale with 2-4 weeks notice for additions, 4-6 weeks for reductions. You can also add entire Pods as needs grow. We flex to your needs."}},{"@type":"Question",name:"Who manages the Pod day-to-day?",acceptedAnswer:{"@type":"Answer",text:"The Pod Lead handles day-to-day management—sprint execution, blockers, team health, Agile ceremonies. You participate in planning and reviews; execution management is our responsibility."}},{"@type":"Question",name:"What if I need specific technology expertise?",acceptedAnswer:{"@type":"Answer",text:"Pods are composed based on your tech stack. React/Node, Python/Django, mobile (iOS/Android/Flutter), cloud (AWS/GCP/Azure), AI/ML—we build the Pod with the right specialists."}},{"@type":"Question",name:"How do you handle remote/distributed work?",acceptedAnswer:{"@type":"Answer",text:"All Pods work remotely with proven distributed practices: overlap hours, async documentation, video-first communication, collaboration tools (Slack, Jira). Time zone alignment based on your preference."}},{"@type":"Question",name:"What happens when the engagement ends?",acceptedAnswer:{"@type":"Answer",text:"Structured knowledge transfer regardless of how engagement evolves. Documentation is updated, handoff sessions conducted, and a support period addresses questions."}},{"@type":"Question",name:"How does pricing work?",acceptedAnswer:{"@type":"Answer",text:"Pods are priced monthly based on team composition. Predictable costs with no surprise bills. Pricing includes all management overhead, tools, and process."}},{"@type":"Question",name:"Can I meet the Pod team before committing?",acceptedAnswer:{"@type":"Answer",text:"Yes. You'll meet the proposed Pod Lead and key team members before finalizing. Team fit matters."}},{"@type":"Question",name:"What if a Pod member isn't working out?",acceptedAnswer:{"@type":"Answer",text:"We address fit issues quickly. We can rotate team members with minimal disruption to delivery."}},{"@type":"Question",name:"What is a dedicated development team?",acceptedAnswer:{"@type":"Answer",text:"A dedicated development team is a group of software professionals assigned exclusively to your project for an extended period. Unlike staff augmentation or project outsourcing, a dedicated team model provides ongoing capacity with consistent people who build deep product knowledge."}},{"@type":"Question",name:"How much does a dedicated development team cost?",acceptedAnswer:{"@type":"Answer",text:"US-based pods cost $40,000-$80,000/month for a standard team. Blended teams with nearshore talent range $25,000-$50,000/month. Enterprise pods run $80,000-$150,000+/month. Pricing includes all management overhead and tools."}},{"@type":"Question",name:"What is an agile pod?",acceptedAnswer:{"@type":"Answer",text:"An agile pod is a small, cross-functional team that owns a specific product area or capability. Pods are more autonomous than traditional scrum teams, with built-in leadership and all skills needed to go from idea to production."}},{"@type":"Question",name:"What's the difference between dedicated teams and project outsourcing?",acceptedAnswer:{"@type":"Answer",text:"Project outsourcing is scope-based with fixed requirements and price. Dedicated team services are capacity-based with ongoing team and continuous delivery. Dedicated teams work for products that evolve where long-term velocity matters."}},{"@type":"Question",name:"Do you offer remote, nearshore, or offshore development teams?",acceptedAnswer:{"@type":"Answer",text:"Yes. We offer US-based teams, nearshore development teams in Latin America for time zone alignment, and offshore options for cost optimization. All operate as remote development teams with overlap hours and async documentation."}}]})}})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"text-center mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Flexible Engagement Options"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:"Choose the engagement model that fits your needs—from discovery to multi-Pod scale."})]}),J.jsxs("div",{className:"grid lg:grid-cols-4 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 shadow-soft overflow-hidden flex flex-col",children:[J.jsxs("div",{className:"p-6 border-b border-outline/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(yc,{className:"w-5 h-5 text-data-orange"}),J.jsx("span",{className:"text-sm font-medium text-data-orange",children:"Exploration"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Discovery Engagement"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Validate before committing"})]}),J.jsxs("div",{className:"p-6 flex-grow",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("div",{className:"text-3xl font-bold text-foreground",children:"$25K–$50K"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"One-time investment"})]}),J.jsxs("div",{className:"flex items-center gap-2 mb-4 text-sm",children:[J.jsx(Ld,{className:"w-4 h-4 text-muted-foreground"}),J.jsx("span",{className:"text-muted-foreground",children:"2-4 weeks"})]}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Discovery workshops"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Architecture assessment"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Initial backlog definition"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Proof-of-concept"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Pod recommendation"})]})]})]}),J.jsx("div",{className:"p-6 pt-0",children:J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Start Discovery"})})]}),J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 shadow-soft overflow-hidden flex flex-col",children:[J.jsxs("div",{className:"p-6 border-b border-outline/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(Rw,{className:"w-5 h-5 text-data-teal"}),J.jsx("span",{className:"text-sm font-medium text-data-teal",children:"Launch"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Starter Pod"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"MVPs & focused initiatives"})]}),J.jsxs("div",{className:"p-6 flex-grow",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("div",{className:"text-3xl font-bold text-foreground",children:"$60K–$85K"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Per month"})]}),J.jsxs("div",{className:"flex items-center gap-2 mb-4 text-sm",children:[J.jsx(GI,{className:"w-4 h-4 text-muted-foreground"}),J.jsx("span",{className:"text-muted-foreground",children:"4-5 people • 3 month min"})]}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Pod Lead / Delivery Manager"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"2 Full-Stack Developers"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"QA Engineer"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Shared DevOps"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Built-in Agile process"})]})]})]}),J.jsx("div",{className:"p-6 pt-0",children:J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Get Started"})})]}),J.jsxs("div",{className:"bg-card rounded-2xl border-2 border-primary shadow-medium overflow-hidden flex flex-col relative",children:[J.jsx("div",{className:"absolute top-0 left-0 right-0 bg-primary text-primary-foreground text-center py-1.5 text-sm font-semibold",children:"Most Popular"}),J.jsxs("div",{className:"p-6 border-b border-outline/20 pt-10",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(ZC,{className:"w-5 h-5 text-primary transform rotate-180"}),J.jsx("span",{className:"text-sm font-medium text-primary",children:"Scale"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Standard Pod"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Growth-stage acceleration"})]}),J.jsxs("div",{className:"p-6 flex-grow",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("div",{className:"text-3xl font-bold text-foreground",children:"$100K–$150K"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Per month"})]}),J.jsxs("div",{className:"flex items-center gap-2 mb-4 text-sm",children:[J.jsx(GI,{className:"w-4 h-4 text-muted-foreground"}),J.jsx("span",{className:"text-muted-foreground",children:"6-8 people • 6 month min"})]}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Pod Lead / Delivery Manager"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"3-4 Full-Stack Developers"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Dedicated QA Engineer"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Dedicated DevOps"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-primary flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"UX/UI Designer"})]})]})]}),J.jsx("div",{className:"p-6 pt-0",children:J.jsx(oz,{className:"w-full",onClick:()=>v(!0),children:"Talk to Us"})})]}),J.jsxs("div",{className:"bg-card rounded-2xl border border-outline/30 shadow-soft overflow-hidden flex flex-col",children:[J.jsxs("div",{className:"p-6 border-b border-outline/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(Rn,{className:"w-5 h-5 text-data-blue"}),J.jsx("span",{className:"text-sm font-medium text-data-blue",children:"Enterprise"})]}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Growth Pod"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Multi-track development"})]}),J.jsxs("div",{className:"p-6 flex-grow",children:[J.jsxs("div",{className:"mb-6",children:[J.jsx("div",{className:"text-3xl font-bold text-foreground",children:"$150K–$300K+"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Per Pod, per month"})]}),J.jsxs("div",{className:"flex items-center gap-2 mb-4 text-sm",children:[J.jsx(GI,{className:"w-4 h-4 text-muted-foreground"}),J.jsx("span",{className:"text-muted-foreground",children:"8-12+ people • 12 month min"})]}),J.jsxs("div",{className:"space-y-3 text-sm",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Everything in Standard"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"4-6 Full-Stack Developers"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Multiple QA Engineers"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Business Analyst"})]}),J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("span",{className:"text-foreground",children:"Multi-Pod coordination"})]})]})]}),J.jsx("div",{className:"p-6 pt-0",children:J.jsx(oz,{variant:"outline",className:"w-full",onClick:()=>v(!0),children:"Contact Sales"})})]})]}),J.jsx("div",{className:"mt-10 text-center",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:["All pricing includes management overhead, tools, and process. No hidden fees."," ",J.jsx("button",{onClick:()=>v(!0),className:"text-primary hover:underline font-medium",children:"Get a custom quote →"})]})})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-4",children:"Pod Catalog"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-8",children:"Purpose-built teams for your technology stack. Each pod delivers predictable throughput with measurable SLAs and quality gates."}),J.jsx(EZ,{})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Full-Stack Development Team Expertise Across Every Layer"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-3xl leading-relaxed",children:"Pods are composed based on your technology stack. We hire dedicated development team specialists across frontend, backend, mobile, cloud, and AI/ML—so your Pod has exactly the skills you need."})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-blue/10",children:J.jsx(Zb,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Frontend Development"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"React, Vue, Angular, Next.js, TypeScript. Modern SPAs, SSR/SSG, design systems, accessibility."}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"React"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"TypeScript"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Next.js"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Vue"})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-teal/10",children:J.jsx(qk,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Backend Development"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Node.js, Python, Ruby on Rails, Go, Java/.NET. APIs, microservices, event-driven systems."}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Node.js"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Python"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Rails"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Go"})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-orange/10",children:J.jsx(Uc,{className:"w-5 h-5 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Mobile App Development"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"iOS (Swift), Android (Kotlin), cross-platform (React Native, Flutter). Native performance, hybrid efficiency."}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"iOS"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Android"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"React Native"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Flutter"})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-primary/10",children:J.jsx(sc,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Cloud Development Team"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"AWS, GCP, Azure. Infrastructure as code, Kubernetes, serverless, multi-cloud strategies."}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"AWS"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"GCP"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Azure"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Kubernetes"})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-accent/10",children:J.jsx(jn,{className:"w-5 h-5 text-accent"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"AI Development Team"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"LLM integration, RAG systems, ML pipelines, computer vision, NLP. From POC to production AI."}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"LLMs"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"RAG"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"ML Ops"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"CV"})]})]}),J.jsxs("div",{className:"bg-card rounded-xl p-6 border border-outline/30 shadow-soft",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-2.5 rounded-lg bg-data-blue/10",children:J.jsx(ep,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"DevOps Team as a Service"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"CI/CD pipelines, infrastructure automation, monitoring, security. Ship faster, fail safely."}),J.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"CI/CD"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Terraform"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Docker"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Monitoring"})]})]})]}),J.jsxs("div",{className:"mt-10 text-center",children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Need a specialized stack not listed? We build Pods with the expertise your product requires."}),J.jsx(oz,{variant:"outline",onClick:k,className:"border-outline/50 hover:border-data-teal/50 hover:bg-data-teal/5",children:"Discuss Your Technology Requirements"})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-12 bg-gradient-to-r from-data-teal/10 via-data-blue/10 to-data-orange/10",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-6 text-center",children:"Service Level Objectives"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"text-center p-6 bg-background rounded-lg border",children:[J.jsx("div",{className:"text-sm font-semibold text-data-teal mb-2",children:"Deployment Frequency"}),J.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"2-5×/week"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"Continuous delivery cadence"})]}),J.jsxs("div",{className:"text-center p-6 bg-background rounded-lg border",children:[J.jsx("div",{className:"text-sm font-semibold text-data-blue mb-2",children:"Change Failure Rate"}),J.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"<10%"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"With auto-rollback capability"})]}),J.jsxs("div",{className:"text-center p-6 bg-background rounded-lg border",children:[J.jsx("div",{className:"text-sm font-semibold text-data-orange mb-2",children:"Mean Time to Restore"}),J.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"<1 day"}),J.jsx("div",{className:"text-xs text-muted-foreground",children:"P0/P1 incident resolution"})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-24 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-6xl",children:[J.jsxs("div",{className:"mb-12",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Inside a Product Pod: Roles That Ship Product"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-3xl leading-relaxed",children:"Every Pod is cross-functional—all the skills needed to go from backlog item to production feature. Team composition scales to your needs, but here's what a typical Pod includes:"})]}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-16",children:[J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2.5 rounded-lg bg-primary/10 group-hover:bg-primary/20 transition-colors",children:J.jsx(Lx,{className:"w-5 h-5 text-primary"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Pod Lead / Delivery Manager"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"The quarterback. Responsible for sprint execution, blocker resolution, team health, and client communication. Runs Agile ceremonies, owns delivery metrics."}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide",children:"Owns:"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Sprint commitments, team coordination, delivery quality"})]}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-data-teal/20",children:"Dedicated"})})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2.5 rounded-lg bg-data-blue/10 group-hover:bg-data-blue/20 transition-colors",children:J.jsx(oc,{className:"w-5 h-5 text-data-blue"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Full-Stack Developers (2-4)"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"The engine. Engineers who can work across your stack—frontend, backend, and everything in between. Build features, write tests, review code, ship to production."}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide",children:"Owns:"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Feature development, code quality, technical decisions"})]}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-data-teal/20",children:"Full-Time"})})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2.5 rounded-lg bg-data-teal/10 group-hover:bg-data-teal/20 transition-colors",children:J.jsx(Gk,{className:"w-5 h-5 text-data-teal"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"QA Engineer"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"The quality guardian. Manual and automated testing, test strategy, bug triage, production monitoring. Features work before they ship."}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide",children:"Owns:"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Test coverage, quality gates, release readiness"})]}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-teal/10 text-data-teal border-data-teal/20",children:"Dedicated"})})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2.5 rounded-lg bg-data-orange/10 group-hover:bg-data-orange/20 transition-colors",children:J.jsx(sc,{className:"w-5 h-5 text-data-orange"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"DevOps / Platform Engineer"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"The enabler. CI/CD pipelines, infrastructure as code, monitoring, deployment automation. Makes shipping faster and safer."}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide",children:"Owns:"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Deployment pipeline, infrastructure, operational stability"})]}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-data-blue/10 text-data-blue border-data-blue/20",children:"Shared or Dedicated"})})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2.5 rounded-lg bg-accent/10 group-hover:bg-accent/20 transition-colors",children:J.jsx(zj,{className:"w-5 h-5 text-accent"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"UX/UI Designer"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"The experience architect. User research, wireframes, prototypes, design systems. Ensures what you build is what users need."}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide",children:"Owns:"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"User experience, interface design, usability"})]}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-muted text-muted-foreground border-outline/30",children:"As Needed"})})]})]}),J.jsxs("div",{className:"group bg-card rounded-xl p-6 border border-outline/30 shadow-soft hover:shadow-medium hover:border-primary/30 transition-all duration-300",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"flex-shrink-0 p-2.5 rounded-lg bg-muted group-hover:bg-muted/80 transition-colors",children:J.jsx(pd,{className:"w-5 h-5 text-foreground/70"})}),J.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Business Analyst"})]}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4 leading-relaxed",children:"The translator. Requirements clarification, acceptance criteria, stakeholder communication. Bridges business intent and technical execution."}),J.jsxs("div",{className:"space-y-2 pt-4 border-t border-outline/30",children:[J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"text-xs font-semibold text-foreground/70 uppercase tracking-wide",children:"Owns:"}),J.jsx("span",{className:"text-xs text-muted-foreground",children:"Requirements clarity, acceptance criteria, documentation"})]}),J.jsx("div",{className:"flex items-center gap-2",children:J.jsx(hU,{variant:"secondary",className:"text-xs bg-muted text-muted-foreground border-outline/30",children:"As Needed"})})]})]})]}),J.jsxs("div",{className:"bg-card rounded-xl border border-outline/30 overflow-hidden",children:[J.jsx("div",{className:"px-6 py-4 bg-muted/30 border-b border-outline/30",children:J.jsx("h3",{className:"text-xl font-semibold text-foreground",children:"Pod Sizes: Right-Sized for Your Needs"})}),J.jsxs("div",{className:"grid md:grid-cols-3 divide-y md:divide-y-0 md:divide-x divide-outline/30",children:[J.jsxs("div",{className:"p-6",children:[J.jsx("div",{className:"flex items-center gap-3 mb-4",children:J.jsx("div",{className:"flex -space-x-2",children:[...Array(4)].map((e,t)=>J.jsx("div",{className:"w-8 h-8 rounded-full bg-data-teal/20 border-2 border-card flex items-center justify-center",children:J.jsx(GI,{className:"w-4 h-4 text-data-teal"})},t))})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"Starter Pod"}),J.jsx("p",{className:"text-2xl font-bold text-data-teal mb-3",children:"4-5 people"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{children:"Pod Lead"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{children:"2 Developers"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{children:"QA Engineer"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{children:"Shared DevOps"})]})]}),J.jsx("p",{className:"mt-4 text-xs text-muted-foreground italic",children:"Ideal for MVPs, feature modules, maintenance"})]}),J.jsxs("div",{className:"p-6 bg-primary/5",children:[J.jsx("div",{className:"flex items-center gap-3 mb-4",children:J.jsx("div",{className:"flex -space-x-2",children:[...Array(6)].map((e,t)=>J.jsx("div",{className:"w-8 h-8 rounded-full bg-data-blue/20 border-2 border-card flex items-center justify-center",children:J.jsx(GI,{className:"w-4 h-4 text-data-blue"})},t))})}),J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx("h4",{className:"text-lg font-semibold text-foreground",children:"Standard Pod"}),J.jsx(hU,{className:"bg-primary text-primary-foreground text-xs",children:"Most Popular"})]}),J.jsx("p",{className:"text-2xl font-bold text-data-blue mb-3",children:"6-8 people"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue flex-shrink-0"}),J.jsx("span",{children:"Pod Lead"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue flex-shrink-0"}),J.jsx("span",{children:"3-4 Developers"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue flex-shrink-0"}),J.jsx("span",{children:"QA Engineer"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue flex-shrink-0"}),J.jsx("span",{children:"DevOps Engineer"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-blue flex-shrink-0"}),J.jsx("span",{children:"UX/UI Designer"})]})]}),J.jsx("p",{className:"mt-4 text-xs text-muted-foreground italic",children:"Ideal for product builds, platform development"})]}),J.jsxs("div",{className:"p-6",children:[J.jsx("div",{className:"flex items-center gap-3 mb-4",children:J.jsx("div",{className:"flex -space-x-2",children:[...Array(8)].map((e,t)=>J.jsx("div",{className:"w-8 h-8 rounded-full bg-data-orange/20 border-2 border-card flex items-center justify-center",children:J.jsx(GI,{className:"w-4 h-4 text-data-orange"})},t))})}),J.jsx("h4",{className:"text-lg font-semibold text-foreground mb-2",children:"Growth Pod"}),J.jsx("p",{className:"text-2xl font-bold text-data-orange mb-3",children:"8-12 people"}),J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange flex-shrink-0"}),J.jsx("span",{children:"Pod Lead"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange flex-shrink-0"}),J.jsx("span",{children:"4-6 Developers"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange flex-shrink-0"}),J.jsx("span",{children:"2 QA Engineers"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange flex-shrink-0"}),J.jsx("span",{children:"DevOps Engineer"})]}),J.jsxs("li",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-orange flex-shrink-0"}),J.jsx("span",{children:"Designer + BA"})]})]}),J.jsx("p",{className:"mt-4 text-xs text-muted-foreground italic",children:"Ideal for complex products, multi-stream delivery"})]})]})]})]})})}),"product-pods"===s.slug&&J.jsx("section",{className:"py-20 md:py-28 bg-gradient-to-br from-primary/5 via-data-teal/5 to-data-blue/5",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6",children:"Your Product Deserves a Real Partner"}),J.jsxs("div",{className:"space-y-4 text-lg text-muted-foreground mb-10 text-left md:text-center",children:[J.jsx("p",{children:"You don't need more developers on your Slack channel. You need a team that owns delivery. That measures success by outcomes, not hours. That transfers knowledge instead of hoarding it. That succeeds when you succeed."}),J.jsx("p",{children:"Product Pods give you a complete development capability—not contractors to manage, but a partner to build with. Dedicated to your product. Accountable for results. Ready to start shipping."}),J.jsx("p",{className:"font-medium text-foreground",children:"Let's talk about your product and whether a Pod is the right fit."})]}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[J.jsxs(oz,{size:"lg",className:"text-base px-8",onClick:()=>v(!0),children:["Build Your Pod",J.jsx(Ka,{className:"w-4 h-4 ml-2"})]}),J.jsx(oz,{variant:"outline",size:"lg",className:"text-base px-8",onClick:()=>v(!0),children:"Schedule Discovery Call"})]}),J.jsx("div",{className:"mt-10 pt-8 border-t border-outline/20",children:J.jsxs("div",{className:"flex flex-wrap justify-center gap-x-8 gap-y-4 text-sm text-muted-foreground",children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{children:"No long-term lock-in"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{children:"Meet the team first"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal"}),J.jsx("span",{children:"Knowledge transfer included"})]})]})})]})})}),"mlops-model-ops"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Drift Detection Methods"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Automated statistical tests to catch model degradation before it impacts production."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"KL Divergence"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"PSI (Population Stability)"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Chi-Square Test"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Data Quality Rules"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Performance Decay"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Feature Distribution Shift"})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Integration Points"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Seamless integration with your existing ML infrastructure and tooling."}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-primary mb-1",children:"CI/CD"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"GitHub Actions"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"GitLab CI"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Jenkins"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-primary mb-1",children:"Model Stores"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"MLflow"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"S3"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Azure Blob"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"GCS"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-primary mb-1",children:"Monitoring"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"Prometheus"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Grafana"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Datadog"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"New Relic"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-primary mb-1",children:"Feature Stores"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"Feast"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Tecton"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"SageMaker FS"})]})]}),J.jsxs("div",{children:[J.jsx("div",{className:"text-xs font-semibold text-primary mb-1",children:"Training Platforms"}),J.jsxs("div",{className:"flex flex-wrap gap-1",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"SageMaker"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Vertex AI"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Databricks"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"On-prem GPU"})]})]})]})]})]})})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"KPI Catalog: Example Metrics"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Every KPI includes ownership, clear definitions, calculation formulas, and refresh schedules for accountability and consistency."}),J.jsx(yZ,{})]})})}),"data-analytics-platform"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Data Quality Validation"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Automated validation rules catch issues before they impact dashboards."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Null Rate Checks"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Range Validation"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Uniqueness Constraints"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Referential Integrity"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Format Compliance"}),J.jsx(hU,{variant:"secondary",className:"text-xs",children:"Freshness SLAs"})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Supported Data Sources"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Pre-built connectors for common enterprise and GIS systems."}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"ArcGIS Enterprise"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"CAD/RMS"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"WMS/TMS/YMS"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"ERP (SAP/Oracle)"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Finance Systems"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"S3/Azure Blob"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"PostgreSQL/MySQL"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"REST APIs"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"SFTP/File Shares"})]})]})]})})})}),("computer-vision-fasttrack"===s.key||"data-analytics-platform"===s.key||"mlops-model-ops"===s.slug||"platform-modernization"===s.slug||"security-compliance"===s.slug||"integration-fasttrack"===s.slug)&&"rails-upgrades"!==s.slug&&s.procurementReadiness&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl",children:J.jsxs("div",{className:"clean-card p-6 bg-gradient-to-r from-data-orange/5 to-transparent border-l-4 border-data-orange",children:[J.jsx("h2",{className:"text-2xl font-bold text-foreground mb-4",children:"Procurement & RFP Readiness"}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"computer-vision-fasttrack"===s.key?"Common requirements for Computer Vision vendor evaluation and compliance.":"data-analytics-platform"===s.key?"Common requirements for Data & Analytics platform vendor evaluation and compliance.":"mlops-model-ops"===s.slug?"Common requirements for MLOps vendor evaluation and model governance compliance.":"platform-modernization"===s.slug?"Common requirements for Platform Modernization vendor evaluation and procurement.":"integration-fasttrack"===s.slug?"Common requirements for Integration vendor evaluation, data governance, and enterprise procurement.":"rails-upgrades"===s.slug?"Common requirements for Rails upgrade vendor evaluation, performance guarantees, and security compliance.":"Common requirements for Security & Compliance vendor evaluation and audit readiness."}),J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:s.procurementReadiness.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("span",{className:"text-data-orange font-bold mt-0.5",children:"✓"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},t))}),J.jsx("div",{className:"mt-6 pt-6 border-t border-outline/20",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:["Need vendor compliance docs?"," ",J.jsx(tt,{to:"/trust#services",className:"text-data-teal hover:text-data-orange underline transition-colors",children:"Visit Trust Center →"})]})})]})})})}),"computer-vision-fasttrack"===s.key&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"When to Choose What"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Computer Vision FastTrack builds visual detection models. For text-based AI features, consider GenAI Accelerator."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-cyan",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Computer Vision FastTrack"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Best for visual detection/tracking/classification"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Object detection and tracking (people, vehicles, defects)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Quality inspection and defect classification"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Edge deployment with low-latency requirements"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"✓"}),J.jsx("span",{children:"Real-time video stream analysis"})]})]})]}),J.jsxs("div",{className:"clean-card p-6 border-l-4 border-data-blue",children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"GenAI Product Accelerator"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Best for RAG/search/Q&A features"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Knowledge retrieval and semantic search"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Document Q&A and summarization"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Conversational AI assistants"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"✓"}),J.jsx("span",{children:"Content generation with grounding"})]})]}),J.jsx("div",{className:"mt-4",children:J.jsx(tt,{to:"/services/genai-accelerator",children:J.jsx(oz,{variant:"outline",size:"sm",className:"w-full",children:"Learn about GenAI Accelerator →"})})})]})]})]})})}),J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsxs("div",{className:"flex items-baseline justify-between mb-6",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground",children:"agentic-ai"===s.key?"Multi-Agent Automation Outcomes":"genai-accelerator"===s.key?"GenAI Product Outcomes":"computer-vision-fasttrack"===s.key?"Computer Vision Deployment Outcomes":"ai-orchestration"===s.key?"AI Platform Orchestration Outcomes":"Outcomes"}),J.jsx(tt,{to:"/how-we-measure#formulas",className:"text-data-teal hover:text-data-orange transition-colors text-sm font-medium inline-flex items-center",onClick:()=>S("formulas"),children:"See the math →"})]}),J.jsx("ul",{className:"space-y-3",children:s.outcomes.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx("span",{className:"text-data-teal text-xl mt-1",children:"•"}),J.jsx("span",{className:"text-lg text-muted-foreground",children:e})]},t))})]})})}),J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsxs("div",{className:"flex items-baseline justify-between mb-6",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground",children:"agentic-ai"===s.key?"What You Get: Agentic AI Deliverables":"genai-accelerator"===s.key?"What You Get: GenAI Product Deliverables":"computer-vision-fasttrack"===s.key?"What You Get: CV Pipeline Deliverables":(s.slug,"What You Get (Acceptance Criteria)")}),J.jsx(tt,{to:"/how-we-measure#acceptance",className:"text-data-teal hover:text-data-orange transition-colors text-sm font-medium inline-flex items-center",onClick:()=>S("acceptance"),children:"Our standards →"})]}),"integration-fasttrack"===s.slug||"rails-upgrades"===s.slug?J.jsx(KZ,{items:s.whatYouGet}):J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:s.whatYouGet.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-lg border border-outline/20",children:[J.jsx("span",{className:"text-data-teal font-bold",children:"✓"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})]})})}),("computer-vision-fasttrack"===s.key||"data-analytics-platform"===s.key)&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Industry Benchmarks & Performance"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"computer-vision-fasttrack"===s.key?"Representative performance metrics from typical Computer Vision deployments.*":"Representative performance metrics from typical Data & Analytics platform deployments.*"}),J.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:"computer-vision-fasttrack"===s.key?J.jsxs(J.Fragment,{children:[J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-cyan",children:[J.jsx("div",{className:"text-4xl font-bold text-data-cyan mb-2",children:"96%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Typical model accuracy in production environments"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"Precision/recall on custom datasets"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-cyan",children:[J.jsx("div",{className:"text-4xl font-bold text-data-cyan mb-2",children:"120ms"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"p95 inference latency on Jetson Orin with TensorRT INT8"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"YOLOv8 at 1080p resolution"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-cyan",children:[J.jsx("div",{className:"text-4xl font-bold text-data-cyan mb-2",children:"87%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Reduction in manual review time with MLOps workflow"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"From automated detection + triage"})]})]}):J.jsxs(J.Fragment,{children:[J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-blue",children:[J.jsx("div",{className:"text-4xl font-bold text-data-blue mb-2",children:"97%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Faster query performance (45s → 1.2s)"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"With optimized warehouse and indexing"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-blue",children:[J.jsx("div",{className:"text-4xl font-bold text-data-blue mb-2",children:"99.7%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Data pipeline SLA uptime (from 82%)"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"With monitoring and auto-recovery"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-blue",children:[J.jsx("div",{className:"text-4xl font-bold text-data-blue mb-2",children:"75%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Reduction in manual report prep time"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"From automated narrative generation"})]})]})}),J.jsx("div",{className:"mt-8 grid md:grid-cols-2 gap-6",children:"computer-vision-fasttrack"===s.key?J.jsxs(J.Fragment,{children:[J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"4-8 weeks"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Typical deployment timeline"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"From PoC to production-ready with MLOps"})]}),J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"30-60 FPS"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Real-time processing capability"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"Edge deployment with batching optimization"})]})]}):J.jsxs(J.Fragment,{children:[J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"3-6 weeks"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Typical deployment timeline"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"From requirements to production dashboards"})]}),J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"<3s"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Dashboard load time (p95)"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"With optimized queries and caching"})]})]})}),J.jsx("div",{className:"mt-6 p-4 bg-surface/30 rounded-lg border border-outline/20",children:J.jsxs("p",{className:"text-xs text-muted-foreground",children:["*Representative industry examples based on typical deployments. Actual results vary by use case, data quality, infrastructure configuration, and deployment environment. ",J.jsx(tt,{to:"/how-we-measure",className:"text-data-teal hover:text-data-orange underline",children:"See our methodology →"})]})})]})})}),("computer-vision-fasttrack"===s.key||"data-analytics-platform"===s.key)&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"computer-vision-fasttrack"===s.key?"Hardware & Technology Compatibility":"Technology Stack & Integration Compatibility"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"computer-vision-fasttrack"===s.key?"Proven deployment stack across edge devices, streaming protocols, and inference frameworks.":"Proven integration stack across data warehouses, GIS platforms, BI tools, and data quality frameworks."}),J.jsx("div",{className:"space-y-6",children:"computer-vision-fasttrack"===s.key?J.jsxs(J.Fragment,{children:[J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Edge Hardware"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"NVIDIA Jetson Orin"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"NVIDIA Jetson Xavier"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"NVIDIA Jetson Nano"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"x86 Intel/AMD"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"ARM (Raspberry Pi)"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Inference Frameworks"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"DeepStream SDK"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"NVIDIA Triton"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"ONNX Runtime"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"TensorRT"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"OpenVINO"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Streaming Protocols"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"RTSP"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"RTMP"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"HTTP/HTTPS"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"USB Camera"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"GigE Vision"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Model Formats"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"ONNX"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"TensorRT Engine"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"PyTorch"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"TensorFlow"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Darknet (YOLO)"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Integration Points"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"VMS Systems"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"WMS/TMS"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"ArcGIS/LRS"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"EAM/CMMS"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"REST/Webhooks"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"MQTT"})]})]})]}):J.jsxs(J.Fragment,{children:[J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Data Warehouses"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Snowflake"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Google BigQuery"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Amazon Redshift"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Azure Synapse"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Databricks"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"GIS Platforms"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"ArcGIS Enterprise"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"ArcGIS Online"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"QGIS"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Mapbox"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Google Maps Platform"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"PostGIS"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"BI & Visualization"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Tableau"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Power BI"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Looker"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Metabase"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Custom React + Recharts"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"D3.js"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Data Quality & Transformation"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Great Expectations"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"dbt (Data Build Tool)"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Soda"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Python Validators"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Monte Carlo"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"elementary"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"ETL/ELT & Orchestration"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Fivetran"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Airbyte"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Apache Airflow"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Prefect"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"dbt Cloud"})]})]}),J.jsxs("div",{className:"clean-card p-6",children:[J.jsx("h3",{className:"text-lg font-semibold text-foreground mb-4",children:"Export Formats"}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",className:"text-sm",children:"Shapefiles"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"GeoJSON"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"KML"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"CSV/Excel"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"PDF Reports"}),J.jsx(hU,{variant:"secondary",className:"text-sm",children:"ArcGIS Feature Service"})]})]})]})})]})})}),J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl grid md:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-3",children:"Timeline"}),J.jsx("p",{className:"text-muted-foreground",children:s.timeline})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-3",children:"Team"}),J.jsx("p",{className:"text-muted-foreground",children:s.team})]})]})})}),"agentic-ai"===s.key&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Industry Benchmarks & Statistics"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Based on 50+ enterprise deployments across Fortune 500 companies in manufacturing, healthcare, and financial services."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"89%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Average manual task reduction across Fortune 500 deployments"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"Source: Allerin 2024 deployment data"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"94%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Median agent accuracy with guardrails and HITL review"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"Measured across production environments"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"8 weeks"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Typical time to positive ROI in production environments"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"From pilot to measurable value"})]})]}),J.jsxs("div",{className:"mt-8 grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"$2.4M"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Average annual savings per deployment"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"Based on labor cost reduction and efficiency gains"})]}),J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"20 hours/week"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Average time saved per knowledge worker"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"Redirected to high-value strategic work"})]})]})]})})}),"genai-accelerator"===s.key&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Industry Benchmarks & Statistics"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Based on 35+ production RAG deployments across enterprise and mid-market companies in retail, healthcare, and financial services."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"91%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Median RAG accuracy for production deployments (exact-match + semantic)"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"Source: Allerin 2024 GenAI deployment data"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"2.8%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Average hallucination rate post-optimization (down from 12% baseline)"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"Validated with multi-layer safety gates"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"6 weeks"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Typical time from kickoff to production deploy"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"With full evals and monitoring"})]})]}),J.jsxs("div",{className:"mt-8 grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"$1.8M"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Average annual value created"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"Faster time-to-market + reduced support load"})]}),J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"200ms"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Median p95 query latency for hybrid search RAG"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"BM25 + dense embeddings with reranking"})]})]})]})})}),"computer-vision-fasttrack"===s.key&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Industry Benchmarks & Statistics"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Based on 40+ edge CV deployments across manufacturing, warehousing, and retail operations."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"96%"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Median model accuracy (precision/recall avg) for production CV deployments"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"Source: Allerin 2024 CV deployment data"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"120ms"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Median p95 inference latency on edge (Jetson Orin, YOLOv8, 1080p)"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"TensorRT INT8 optimization"})]}),J.jsxs("div",{className:"clean-card p-6 text-center border-l-4 border-data-teal",children:[J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"4-8 weeks"}),J.jsx("div",{className:"text-sm text-muted-foreground",children:"Typical time from PoC to production deployment"}),J.jsx("div",{className:"text-xs text-muted-foreground/70 mt-2",children:"With MLOps and edge optimization"})]})]}),J.jsxs("div",{className:"mt-8 grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"$850K"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Average annual savings per deployment"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"Reduced manual inspection + faster QA cycles"})]}),J.jsxs("div",{className:"clean-card p-6 bg-surface/50",children:[J.jsx("div",{className:"text-2xl font-bold text-foreground mb-2",children:"87%"}),J.jsx("div",{className:"text-sm text-muted-foreground mb-1",children:"Average reduction in manual review time"}),J.jsx("div",{className:"text-xs text-muted-foreground/70",children:"From 8hr/day to 1hr/day post-deployment"})]})]})]})})}),J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Inputs We Need"}),J.jsx("ul",{className:"space-y-2",children:s.inputs.map((e,t)=>J.jsxs("li",{className:"flex items-start gap-3",children:[J.jsx("span",{className:"text-data-teal mt-1",children:"•"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Tech & Deployment"}),J.jsxs("div",{className:"mb-8 p-6 rounded-lg border border-primary/30 bg-gradient-to-r from-data-amber/5 to-data-teal/5",children:[J.jsxs("h3",{className:"text-lg font-semibold text-foreground mb-4 flex items-center gap-2",children:[J.jsx("span",{className:"text-data-amber",children:"⚡"}),"Target Stack at a Glance"]}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-3",children:[J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded bg-background/50 border border-border/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Ruby 3.2/3.3 with YJIT"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded bg-background/50 border border-border/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Rails 7.x (Zeitwerk)"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded bg-background/50 border border-border/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"Puma 6"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded bg-background/50 border border-border/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"PostgreSQL ≥13"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded bg-background/50 border border-border/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"strong_migrations"})]}),J.jsxs("div",{className:"flex items-center gap-2 p-3 rounded bg-background/50 border border-border/30",children:[J.jsx(Rl,{className:"w-4 h-4 text-data-teal flex-shrink-0"}),J.jsx("span",{className:"text-sm font-medium text-foreground",children:"pgbouncer"})]})]})]}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"p-4 rounded-lg bg-surface/50 border border-border/30",children:[J.jsx("h4",{className:"text-sm font-semibold text-data-teal mb-2",children:"Runtime & Server"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Ruby 3.2/3.3 with YJIT/IRB 1.10; Bundler 2; Rails 7.x (Zeitwerk) · Puma 6; Rack 3 readiness; Bootsnap; async query where safe"})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-surface/50 border border-border/30",children:[J.jsx("h4",{className:"text-sm font-semibold text-data-teal mb-2",children:"Database & Migrations"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"PostgreSQL ≥13 (JIT, parallel query), pgbouncer, statement_timeout, query plan reviews, partitioning where needed · strong_migrations, concurrent indexes, backfill jobs, feature-flagged reads"})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-surface/50 border border-border/30",children:[J.jsx("h4",{className:"text-sm font-semibold text-data-teal mb-2",children:"Background Jobs & Assets"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Sidekiq/Resque/GoodJob with idempotency keys; unique jobs; retry jitter · CSS bundlers (Propshaft/Vite), JS bundler (esbuild/Vite), Turbo/Stimulus as needed"})]}),J.jsxs("div",{className:"p-4 rounded-lg bg-surface/50 border border-border/30",children:[J.jsx("h4",{className:"text-sm font-semibold text-data-teal mb-2",children:"Deployment & Observability"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Kubernetes/Heroku/EC2; blue/green, canary with traffic weights; secrets in KMS; read-only step if needed · OpenTelemetry, Datadog/New Relic/Grafana; Sentry/Honeybadger for errors"})]})]}),J.jsx("div",{className:"mt-6 p-4 bg-data-orange/5 rounded-lg border border-data-orange/30",children:J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Timeline:"})," Week 1-2: audit, plan, dual-boot scaffold, CI matrix, env parity · Week 3-5: gem upgrades, migrations, perf/security fixes, test stabilization · Week 6-8: canary + blue/green, cutover rehearsal, hypercare"]})})]})})}),J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Tech & Deployment"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-4",children:s.tech}),"security-compliance"===s.key&&J.jsxs("p",{className:"text-sm text-muted-foreground",children:["For vendor documentation and compliance artifacts,"," ",J.jsx(tt,{to:"/trust#security",className:"text-data-teal hover:text-data-orange underline transition-colors",onClick:()=>{},children:"visit our Trust Center →"})]})]})})}),J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsxs("div",{className:"flex items-baseline justify-between mb-6",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground",children:"Proof We Show"}),J.jsx(tt,{to:"/how-we-measure#evidence",className:"text-data-teal hover:text-data-orange transition-colors text-sm font-medium inline-flex items-center",onClick:()=>S("evidence"),children:"Full evidence list →"})]}),J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:s.proof.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-3 p-4 bg-surface/50 rounded-lg border border-outline/20",children:[J.jsx("span",{className:"text-data-orange text-xl",children:"📊"}),J.jsx("span",{className:"text-muted-foreground",children:e})]},t))}),"rapid-prototyping"===s.slug&&J.jsx("div",{className:"mt-6 p-6 bg-data-teal/10 border border-data-teal/30 rounded-lg",children:J.jsxs("div",{className:"flex items-start justify-between gap-4",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Complete Decision Brief Package"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"See the full structure of what executives receive: ROI scenarios, risk register, user validation synthesis, and next-step recommendations."})]}),J.jsx(FZ,{})]})})]})})}),J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Frequently Asked Questions"}),J.jsx(R$,{type:"single",collapsible:!0,className:"w-full",children:s.faqs.map((e,t)=>{const s=(e.question+" "+e.answer).toLowerCase();let a=null;return s.includes("accuracy")||s.includes("precision")||s.includes("drift")||s.includes("gates")?a={text:"our accuracy validation methodology",anchor:"formulas"}:s.includes("security")||s.includes("cve")||s.includes("vulnerability")||s.includes("sbom")?a={text:"our security acceptance criteria",anchor:"acceptance"}:s.includes("latency")||s.includes("performance")||s.includes("p95")||s.includes("freeze")?a={text:"how we measure latency",anchor:"formulas"}:s.includes("retention")||s.includes("audit")||s.includes("evidence")?a={text:"evidence artifacts we export",anchor:"evidence"}:s.includes("instrumentation")||s.includes("monitoring")||s.includes("scanners")?a={text:"our instrumentation approach",anchor:"instrumentation"}:(s.includes("kpi")||s.includes("metric")||s.includes("measure"))&&(a={text:"how we measure success",anchor:"metrics"}),J.jsxs(O$,{value:`item-${t}`,children:[J.jsx(D$,{className:"text-left text-foreground",children:e.question}),J.jsxs(q$,{className:"text-muted-foreground",children:[e.answer,a&&J.jsxs(J.Fragment,{children:[" ",J.jsxs(tt,{to:`/how-we-measure#${a.anchor}`,className:"text-data-teal hover:text-data-orange underline transition-colors",onClick:()=>S(a.anchor),children:["Learn more about ",a.text," →"]})]})]})]},t)})})]})})}),s.relatedServices&&s.relatedServices.length>0&&J.jsx("section",{className:"py-16 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4",children:"Need More Capabilities?"}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"agentic-ai"===s.key?"Once you've built your first agents, consider these complementary services to scale your AI operations.":"Explore related services that complement this offering."}),J.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:s.relatedServices.slice(0,3).map(e=>{const t=gU.find(t=>t.key===e);if(!t)return null;const s=t.icon;return J.jsx(tt,{to:`/services/${t.slug}`,children:J.jsxs("div",{className:"clean-card p-4 hover:border-data-teal transition-all cursor-pointer h-full flex flex-col",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx("div",{className:`p-2 rounded-lg bg-gradient-to-br ${t.gradient} flex-shrink-0`,children:J.jsx(s,{className:"w-4 h-4 text-white"})}),J.jsx("div",{className:"font-semibold text-foreground text-sm",children:t.name})]}),J.jsx("div",{className:"text-xs text-muted-foreground",children:{"ai-orchestration":"→ Scale to 5+ agents with cost control","mlops-model-ops":"→ Monitor model drift & performance","genai-accelerator":"→ Add RAG features to agents","computer-vision-fasttrack":"→ Add vision capabilities","agentic-ai":"→ Build the agents first"}[e]||t.promise})]})},e)})})]})})}),(s.relatedServices||s.relatedProducts||s.popularIndustries)&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl space-y-8",children:[s.relatedServices&&J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Related Services"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:s.relatedServices.map(e=>{const t=gU.find(t=>t.key===e);if(!t)return null;const s=t.icon;return J.jsx(tt,{to:`/services/${t.slug}`,children:J.jsx("div",{className:"clean-card p-4 hover:border-data-teal transition-all cursor-pointer h-full",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:`p-2 rounded-lg bg-gradient-to-br ${t.gradient} flex-shrink-0`,children:J.jsx(s,{className:"w-5 h-5 text-white"})}),J.jsxs("div",{children:[J.jsx("div",{className:"font-semibold text-foreground mb-1",children:t.name}),J.jsx("div",{className:"text-sm text-muted-foreground",children:t.promise})]})]})})},e)})})]}),s.relatedProducts&&J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Related Products"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:s.relatedProducts.map(e=>J.jsx(tt,{to:`/products/${e}`,children:J.jsx(hU,{variant:"outline",className:"cursor-pointer hover:bg-surface transition-colors",children:e.toUpperCase()})},e))})]}),s.popularIndustries&&J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Popular Industries"}),J.jsx("div",{className:"flex flex-wrap gap-2",children:s.popularIndustries.map(e=>J.jsx(tt,{to:`/industries/${e}`,children:J.jsx(hU,{variant:"secondary",className:"cursor-pointer hover:bg-surface transition-colors",children:e.replace("-"," & ")})},e))})]})]})})}),"rails-upgrades"===s.slug&&J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-5xl mx-auto",children:[J.jsx("h2",{className:"text-2xl font-bold text-foreground mb-4",children:"Related Services"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Complement your Rails upgrade with these related services."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[J.jsx(tt,{to:"/services/platform-modernization",className:"group",onClick:()=>{window.gtag&&window.gtag("event","related_service_click",{from_service:"rails-upgrades",to_service:"platform-modernization"})},children:J.jsxs(aU,{className:"p-6 h-full hover:border-data-teal transition-all cursor-pointer group-hover:shadow-lg",children:[J.jsx("div",{className:"p-3 rounded-lg bg-gradient-to-br from-data-blue to-primary w-fit mb-4",children:J.jsx(mc,{className:"w-6 h-6 text-white"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Platform Modernization"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"Beyond Rails upgrades—modernize your entire platform with API-first architecture and observability."}),J.jsx("span",{className:"text-data-teal text-sm font-medium group-hover:underline",children:"Learn more →"})]})}),J.jsx(tt,{to:"/services/security-compliance",className:"group",onClick:()=>{window.gtag&&window.gtag("event","related_service_click",{from_service:"rails-upgrades",to_service:"security-compliance"})},children:J.jsxs(aU,{className:"p-6 h-full hover:border-data-teal transition-all cursor-pointer group-hover:shadow-lg",children:[J.jsx("div",{className:"p-3 rounded-lg bg-gradient-to-br from-data-amber to-data-orange w-fit mb-4",children:J.jsx(Xk,{className:"w-6 h-6 text-white"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Security & Compliance"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"OWASP audit, SBOM/supply-chain analysis, and WCAG 2.1 accessibility compliance."}),J.jsx("span",{className:"text-data-teal text-sm font-medium group-hover:underline",children:"Learn more →"})]})}),J.jsx(tt,{to:"/services/product-pods",className:"group",onClick:()=>{window.gtag&&window.gtag("event","related_service_click",{from_service:"rails-upgrades",to_service:"product-pods"})},children:J.jsxs(aU,{className:"p-6 h-full hover:border-data-teal transition-all cursor-pointer group-hover:shadow-lg",children:[J.jsx("div",{className:"p-3 rounded-lg bg-gradient-to-br from-data-teal to-data-cyan w-fit mb-4",children:J.jsx(GI,{className:"w-6 h-6 text-white"})}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Product Pods"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"Dedicated engineering teams for ongoing Rails development after your upgrade is complete."}),J.jsx("span",{className:"text-data-teal text-sm font-medium group-hover:underline",children:"Learn more →"})]})})]})]})})}),J.jsx("section",{className:"py-20 bg-gradient-to-r from-data-orange/5 via-data-teal/5 to-data-blue/5",children:J.jsxs("div",{className:"container mx-auto px-6 text-center",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Ready to Get Started?"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-8 max-w-2xl mx-auto",children:"Book a free 30-minute scoping call with a solution architect."}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsx(oz,{size:"lg",className:"bg-gradient-to-r from-data-teal to-primary hover:opacity-90 min-h-[44px]",onClick:k,children:"Book Free Scoping Call"}),J.jsx(tt,{to:`/roi-calculator?calc=${s.key}`,children:J.jsx(oz,{variant:"outline",size:"lg",className:"min-h-[44px]",children:"See ROI Estimate →"})})]}),J.jsxs("p",{className:"mt-6 text-sm text-muted-foreground",children:["Procurement team?"," ",J.jsx("a",{href:"/trust#security",className:"underline hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded",onClick:()=>{},children:"Visit Trust Center →"})]})]})})]}),J.jsx(KU,{}),"agentic-ai"===s.key&&J.jsx(xZ,{}),"genai-accelerator"===s.key&&J.jsx(pZ,{}),"computer-vision-fasttrack"===s.key&&J.jsx(uZ,{}),"data-analytics-platform"===s.slug&&J.jsx(gZ,{open:a,onOpenChange:r}),"mlops-model-ops"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(jZ,{open:i,onOpenChange:n}),J.jsx(NZ,{open:o,onOpenChange:l}),J.jsx(wZ,{open:d,onOpenChange:c}),J.jsx(NK,{industrySlug:s.slug,roiUseCases:"analytics,mlops",onDemoClick:()=>{window.gtag&&window.gtag("event","mobile_sticky_cta_click",{service:"mlops_model_ops"})}})]}),"platform-modernization"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(AZ,{open:m,onOpenChange:h}),J.jsx(SZ,{open:x,onOpenChange:u}),J.jsx(NK,{industrySlug:s.slug,roiUseCases:"modernization",onDemoClick:()=>{window.gtag&&window.gtag("event","mobile_sticky_cta_click",{service:"platform_modernization"})}})]}),"security-compliance"===s.slug&&J.jsxs(J.Fragment,{children:[J.jsx(DZ,{open:p,onOpenChange:g}),J.jsx(qZ,{open:f,onOpenChange:y}),J.jsx(NK,{industrySlug:s.slug,roiUseCases:"analytics",onDemoClick:()=>{window.gtag&&window.gtag("event","mobile_sticky_cta_click",{service:"security_compliance"})}})]}),J.jsx(BG,{open:b,onOpenChange:v,defaultIntent:"architect",context:{sourcePage:`/services/${s?.slug}`,sourceButton:"service_hero_cta",serviceContext:s?.slug}})]})]})},eJ=()=>{const e=it();return Qe.useEffect(()=>{},[e.pathname]),J.jsx("div",{className:"flex min-h-screen items-center justify-center bg-gray-100",children:J.jsxs("div",{className:"text-center",children:[J.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),J.jsx("p",{className:"mb-4 text-xl text-gray-600",children:"Oops! Page not found"}),J.jsx("a",{href:"/",className:"text-blue-500 underline hover:text-blue-700",children:"Return to Home"})]})})},tJ=[{title:"p95 latency ↓46% in 6 weeks",summary:"Re-platformed hot paths, added tracing, tuned indices—no feature freeze.",badges:["Rails","Postgres","Grafana"],slug:"enterprise-saas-performance",outcome:"Performance",capability:"Analytics",industry:"SaaS"},{title:"Infra spend ↓29% YoY",summary:"Batched edge inference on Jetson; cold storage tiering; fewer GPU hours.",badges:["Jetson","DeepStream","S3"],slug:"municipal-cv-cost",outcome:"Cost",capability:"CV",industry:"Municipal"},{title:"Critical CVEs → 0 before go-live",summary:"OWASP sweep, SBOM, access logging; bulk video/audio redaction in VISTA.",badges:["VISTA","Brakeman","SAST"],slug:"redaction-compliance",outcome:"Compliance",capability:"GenAI",industry:"Government"}],sJ=["Speed","Cost","Performance","Compliance"],aJ=["CV","Agentic","GenAI","Analytics"],rJ=["SaaS","Municipal","Government","Manufacturing","Healthcare"],iJ=()=>{const[e,t]=nt(),[s,a]=Qe.useState(e.get("outcome")),[r,i]=Qe.useState(e.get("capability")),[n,o]=Qe.useState(e.get("industry")),l=(e,l)=>{let d=s,c=r,m=n;"outcome"===e?(d=s===l?null:l,a(d)):"capability"===e?(c=r===l?null:l,i(c)):(m=n===l?null:l,o(m));const h=new URLSearchParams;d&&h.set("outcome",d),c&&h.set("capability",c),m&&h.set("industry",m),t(h)},d=()=>{a(null),i(null),o(null),t({})},c=tJ.filter(e=>(!s||e.outcome===s)&&((!r||e.capability===r)&&(!n||e.industry===n))),m=s||r||n;return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Customers — Case Studies & Production Deployments | Allerin"}),J.jsx("meta",{name:"description",content:"What we shipped, how we measured, what changed. Production deployments with measurable outcomes—performance, cost, compliance."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/customers"}),J.jsx("meta",{property:"og:title",content:"Customers — Case Studies | Allerin"}),J.jsx("meta",{property:"og:description",content:"Production deployments with measurable outcomes."}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/customers"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/customers.webp"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"Customers — Case Studies | Allerin"}),J.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/customers.webp"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:"Customer Case Studies",description:"What we shipped, how we measured, what changed.",url:"https://www.allerin.com/customers",publisher:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"}})})]}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsxs("main",{children:[J.jsx("section",{className:"py-24 bg-gradient-to-b from-background to-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("h1",{className:"text-5xl md:text-7xl font-bold mb-6",children:J.jsx("span",{className:"text-foreground",children:"Customers"})}),J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-8",children:"What we shipped, how we measured, what changed."}),J.jsxs(oz,{size:"lg",className:"bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue",children:["Talk to an Architect",J.jsx(Ka,{className:"ml-2 h-5 w-5"})]})]})})}),J.jsx("section",{className:"py-12 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto px-6",children:[J.jsx("div",{className:"mb-12",children:J.jsxs("div",{className:"flex flex-col lg:flex-row items-start lg:items-center justify-between gap-6 mb-6",children:[J.jsxs("div",{className:"flex flex-col sm:flex-row flex-wrap items-start sm:items-center gap-4 flex-1",children:[J.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[J.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Outcome:"}),sJ.map(e=>J.jsx(hU,{variant:s===e?"default":"outline",className:"cursor-pointer hover:bg-accent transition-colors",onClick:()=>l("outcome",e),children:e},e))]}),J.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[J.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Capability:"}),aJ.map(e=>J.jsx(hU,{variant:r===e?"default":"outline",className:"cursor-pointer hover:bg-accent transition-colors",onClick:()=>l("capability",e),children:e},e))]}),J.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[J.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Industry:"}),rJ.map(e=>J.jsx(hU,{variant:n===e?"default":"outline",className:"cursor-pointer hover:bg-accent transition-colors",onClick:()=>l("industry",e),children:e},e))]})]}),m&&J.jsx(oz,{variant:"outline",onClick:d,className:"shrink-0",children:"Clear all"})]})}),J.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:c.map((e,t)=>J.jsx(aU,{className:"group clean-card hover:shadow-medium transition-all duration-300 cursor-pointer",onClick:()=>{e.slug},children:J.jsxs(oU,{className:"p-8",children:[J.jsx("h3",{className:"text-2xl font-bold mb-3 text-foreground group-hover:text-data-teal transition-colors",children:e.title}),J.jsx("p",{className:"text-muted-foreground mb-6 leading-relaxed",children:e.summary}),J.jsx("div",{className:"flex flex-wrap gap-2 mb-6",children:e.badges.map((e,t)=>J.jsx(hU,{variant:"secondary",className:"text-xs",children:e},t))}),J.jsxs(tt,{to:`/customers/${e.slug}`,className:"inline-flex items-center text-data-teal hover:text-data-orange transition-colors font-medium",onClick:e=>e.stopPropagation(),children:["Read case study",J.jsx(Ka,{className:"ml-2 h-4 w-4 group-hover:translate-x-1 transition-transform"})]})]})},t))}),0===c.length&&J.jsxs("div",{className:"text-center py-12",children:[J.jsx("p",{className:"text-muted-foreground text-lg",children:"No case studies match your filters."}),J.jsx(oz,{variant:"outline",onClick:d,className:"mt-4",children:"Clear filters"})]})]})})]}),J.jsx(KU,{})]})]})},nJ=[{slug:"vista",name:"VISTA",category:"ALPR & Redaction",description:"Real-time ALPR alerts and compliant video/audio redaction with audit trails—built for fleet management, corporate security, logistics operations, and retail loss prevention.",outcomes:[{metric:"Watchlist alert review time",value:"↓ 40-60%"},{metric:"Redaction turnaround",value:"↓ 50-70%"}],chips:["KPI-gated rollout","On-prem/Cloud","API-first"]},{slug:"sentra",name:"SENTRA",category:"Traffic Analytics",description:"Edge AI for counting, classification, speed, and incident detection—serving warehouses, distribution centers, corporate campuses, and manufacturing facilities.",outcomes:[{metric:"Vehicle classification accuracy",value:"98%+ on tuned sites"},{metric:"Incident detection latency",value:"< 1-2 s (tuned per site)"}],chips:["KPI-gated rollout","On-prem/Cloud","API-first"]},{slug:"ipam",name:"iPAM",category:"Parking Platform",description:"One platform for permits, LPR enforcement, violation management, and dynamic pricing—serving corporate campuses, retail centers, healthcare facilities, and commercial properties.",outcomes:[{metric:"Permit adoption",value:"↑ 10-25% with self-service & virtual permits"},{metric:"Violator capture",value:"↑ 15-35% with LPR + e-chalking policies"}],chips:["KPI-gated rollout","On-prem/Cloud","API-first"]},{slug:"neurosight",name:"NeuroSight",category:"AI Weapon Detection",description:"Sub-200 ms firearm detection and behavior cues at the edge—protecting retail stores, corporate headquarters, manufacturing facilities, financial institutions, and healthcare facilities.",outcomes:[{metric:"Detection latency",value:"< 200 ms (edge pipeline)"},{metric:"Reviewer load",value:"↓ 30-50% with triage & event bundling"}],chips:["KPI-gated rollout","On-prem/Cloud","API-first"]}];function oJ(){const[e,t]=Qe.useState(!1),s=e=>{BO("product_tile_click",{product:e,area:"hub"})};return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"AI Products Built for Outcomes | VISTA, SENTRA, iPAM, NeuroSight | Allerin"}),J.jsx("meta",{name:"description",content:"4 production-ready AI products: ALPR & redaction (VISTA), traffic analytics (SENTRA), parking management (iPAM), weapon detection (NeuroSight). KPI-gated rollouts. Edge, cloud, or on-premise deployment."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/products"}),J.jsx("meta",{property:"og:title",content:"VISTA, SENTRA, iPAM & NeuroSight — Enterprise AI Products | Allerin"}),J.jsx("meta",{property:"og:description",content:"4 production-ready AI products for security and operations. KPI-gated rollouts, edge or cloud deployment."}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/products"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/products.webp"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"VISTA, SENTRA, iPAM & NeuroSight — Enterprise AI Products | Allerin"}),J.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/products.webp"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:"AI Products Built for Outcomes",description:"Enterprise-grade CV & analytics products for logistics, manufacturing, retail, and corporate operations",url:"https://www.allerin.com/products",publisher:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"}})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"ItemList",name:"Allerin Enterprise AI Products",description:"4 production-ready AI products for enterprise operations",numberOfItems:4,itemListElement:[{"@type":"ListItem",position:1,item:{"@type":"SoftwareApplication",name:"VISTA",applicationCategory:"SecurityApplication",description:"Real-time ALPR alerts and video/audio redaction",url:"https://www.allerin.com/products/vista"}},{"@type":"ListItem",position:2,item:{"@type":"SoftwareApplication",name:"SENTRA",applicationCategory:"BusinessApplication",description:"Edge AI for vehicle counting and classification",url:"https://www.allerin.com/products/sentra"}},{"@type":"ListItem",position:3,item:{"@type":"SoftwareApplication",name:"iPAM",applicationCategory:"BusinessApplication",description:"Unified parking management platform",url:"https://www.allerin.com/products/ipam"}},{"@type":"ListItem",position:4,item:{"@type":"SoftwareApplication",name:"NeuroSight",applicationCategory:"SecurityApplication",description:"Sub-200ms AI weapon detection",url:"https://www.allerin.com/products/neurosight"}}]})})]}),J.jsx(UG,{}),J.jsxs("main",{id:"main",children:[J.jsxs("section",{className:"relative py-section-y overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-data-teal/5 via-background to-data-orange/5"}),J.jsxs("div",{className:"container relative z-10 max-w-4xl text-center",children:[J.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-lg",children:"AI Solutions Built for Outcomes"}),J.jsx("p",{className:"text-lg md:text-xl text-muted-foreground mb-2xl max-w-3xl mx-auto",children:"Production-ready computer vision & analytics for logistics, manufacturing, retail, healthcare, and corporate operations. KPI-gated rollouts with measurable ROI, on-premise or cloud deployment, and API-first architecture."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[J.jsxs(oz,{size:"lg",className:"min-h-[44px]",onClick:()=>t(!0),children:["Request Demo",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]}),J.jsx(oz,{size:"lg",variant:"outline",className:"min-h-[44px]",asChild:!0,children:J.jsx(tt,{to:"/roi-calculator",children:"Calculate ROI"})})]})]})]}),J.jsx("section",{className:"py-md bg-muted/50 border-y border-border/30",children:J.jsx("div",{className:"container",children:J.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-md md:gap-lg text-center",children:[J.jsxs("div",{className:"flex flex-col items-center gap-1",children:[J.jsx(pn,{className:"h-5 w-5 text-primary mb-1"}),J.jsx("span",{className:"text-lg md:text-xl font-bold text-foreground",children:"4 Products"})]}),J.jsxs("div",{className:"flex flex-col items-center gap-1",children:[J.jsx(jN,{className:"h-5 w-5 text-primary mb-1"}),J.jsx("span",{className:"text-lg md:text-xl font-bold text-foreground",children:"50+ Integrations"})]}),J.jsxs("div",{className:"flex flex-col items-center gap-1",children:[J.jsx($P,{className:"h-5 w-5 text-primary mb-1"}),J.jsx("span",{className:"text-lg md:text-xl font-bold text-foreground",children:"Sub-200ms Edge"})]}),J.jsxs("div",{className:"flex flex-col items-center gap-1",children:[J.jsx(Xk,{className:"h-5 w-5 text-primary mb-1"}),J.jsx("span",{className:"text-lg md:text-xl font-bold text-foreground",children:"SOC 2 Compliant"})]})]})})}),J.jsx("section",{id:"products-grid",className:"py-section-y bg-muted/30",children:J.jsx("div",{className:"container max-w-6xl",children:J.jsx("div",{className:"grid md:grid-cols-2 gap-xl",children:nJ.map(e=>J.jsxs("article",{className:"bg-card border border-border rounded-2xl p-xl hover:shadow-lg transition-shadow flex flex-col",children:[J.jsx("div",{className:"flex items-start justify-between mb-lg",children:J.jsxs("div",{children:[J.jsx(hU,{variant:"secondary",className:"mb-sm text-xs",children:e.category}),J.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground",children:e.name})]})}),J.jsx("p",{className:"text-muted-foreground mb-xl flex-grow",children:e.description}),J.jsxs("div",{className:"mb-xl",children:[J.jsx("h3",{className:"text-sm font-semibold text-foreground uppercase tracking-wide mb-md",children:"Key Outcomes"}),J.jsx("div",{className:"space-y-sm",children:e.outcomes.map((e,t)=>J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx("span",{className:"text-primary font-semibold whitespace-nowrap",children:e.value}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e.metric})]},t))})]}),J.jsx("div",{className:"flex flex-wrap gap-2 mb-xl",children:e.chips.map(e=>J.jsxs(hU,{variant:"outline",className:"text-xs flex items-center gap-1",children:["On-prem/Cloud"===e&&J.jsx(sc,{className:"h-3 w-3"}),"KPI-gated rollout"===e&&J.jsx(qk,{className:"h-3 w-3"}),"API-first"===e&&J.jsx(oc,{className:"h-3 w-3"}),e]},e))}),J.jsxs(tt,{to:`/products/${e.slug}`,onClick:()=>s(e.slug),className:"inline-flex items-center gap-2 text-primary font-medium hover:underline",children:["Learn More",J.jsx(Ka,{className:"h-4 w-4"})]})]},e.slug))})})}),J.jsx("section",{className:"py-section-y bg-background",children:J.jsxs("div",{className:"container max-w-4xl text-center",children:[J.jsx("h2",{className:"text-2xl md:text-3xl font-bold mb-xl text-foreground",children:"Trusted by Enterprise Operations Teams"}),J.jsx("div",{className:"flex flex-wrap justify-center items-center gap-lg md:gap-2xl mb-lg",children:[{src:zG,alt:"American Express"},{src:_G,alt:"BMC Software"},{src:LG,alt:"General Electric"},{src:FG,alt:"Novell"}].map(e=>J.jsx("img",{src:e.src,alt:e.alt,className:"h-8 md:h-10 w-auto grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-300",width:80,height:40,loading:"lazy"},e.alt))}),J.jsx("p",{className:"text-muted-foreground text-sm md:text-base",children:"These products are deployed across logistics, manufacturing, retail, and corporate environments."})]})}),J.jsx("section",{className:"py-lg border-y border-border/50",children:J.jsx("div",{className:"container text-center",children:J.jsxs("p",{className:"text-muted-foreground",children:["Looking for industry-specific solutions?"," ",J.jsxs(tt,{to:"/solutions",className:"text-primary hover:underline font-medium inline-flex items-center gap-1",children:["View 19 Solutions by Industry ",J.jsx(Ka,{className:"h-4 w-4"})]})]})})}),J.jsx("section",{id:"product-finder",className:"py-section-y",children:J.jsxs("div",{className:"container max-w-3xl text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-xl",children:"Not sure which product is right for you?"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-2xl",children:"Our Outcome Discovery Engine helps you identify the right solution based on your industry, use case, and current state."}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsx(oz,{size:"lg",asChild:!0,className:"min-h-[44px]",children:J.jsx(tt,{to:"/outcomes",children:"Start Discovery"})}),J.jsx(oz,{size:"lg",variant:"outline",asChild:!0,className:"min-h-[44px]",children:J.jsx(tt,{to:"/industries",children:"View by Industry"})})]})]})})]}),J.jsx(KU,{}),J.jsx(BG,{open:e,onOpenChange:t})]})}const lJ={vista:{slug:"vista",title:"VISTA",shortDescriptor:"ALPR & Redaction",heroSub:"Real-time ALPR alerts and compliant video/audio redaction with audit trails—built for fleet management, corporate security, logistics operations, and retail loss prevention.",chips:["KPI-gated rollout","On-prem/Cloud","API-first"],industries:["enterprise","retail","logistics","transportation","manufacturing"],outcomes:[{metric:"Watchlist alert review time",range:"↓ 40–60%"},{metric:"Redaction turnaround",range:"↓ 50–70%"},{metric:"Critical CVEs → 0",range:"before go-live (with OWASP sweep)"}],capabilities:["Hotlist/watchlist alerts with reviewer queues and dispositions","Fleet management & logistics security: loading dock monitoring, distribution center access control","Aviation/Airport: airside perimeter security, rental car facility monitoring, parking structure surveillance","Bulk redaction (faces/plates/objects/audio) for compliance, FOIA, and incident response","Chain-of-custody, access logs, and configurable retention controls","Evidence packaging and export for investigations and insurance claims","API-first: CAD/RMS, VMS, SSO/IAM, storage, notification, ERP integration","Investigator search: plate/vehicle metadata, geo-temporal pivots"],howItWorks:"Streams/archives → detection & metadata → alert/reviewer workflow → redaction/export → CAD/RMS & records.",deployments:["On-premise, cloud, edge, or hybrid deployment options","Device health monitoring and automatic updates","VMS integration via REST/webhooks","ERP and ticketing system integration","SSO/IAM (OIDC/SAML) support","S3-compatible storage integration"],security:["GDPR, HIPAA, CCPA, and SOC 2 compliance; TLS 1.3 in transit, AES-256 at rest","RBAC & least-privilege access controls with comprehensive audit trails","SBOM + SAST/DAST evidence available for security posture validation","Designed to align with WCAG 2.1 AA accessibility standards","Chain-of-custody and retention controls designed for regulatory compliance","Security evidence and documentation available upon request"],faqs:[{question:"What cameras and VMS systems are supported?",answer:"VISTA supports industry-standard IP cameras with RTSP streams and integrates with major VMS platforms including Milestone, Genetec, and Avigilon. We provide detailed compatibility lists during scoping."},{question:"Can we run fully on-premises?",answer:"Yes, VISTA supports full on-premises deployment with no cloud dependencies. We also offer cloud and hybrid options based on your security and compliance requirements."},{question:"How are audit logs and chain-of-custody implemented?",answer:"Every system action is logged with user identity, timestamp, and details. Evidence packages include cryptographic hashes and chain-of-custody documentation meeting enterprise compliance standards."},{question:"How do you handle retention and expungement?",answer:"VISTA includes configurable retention policies with automated expungement workflows. All retention actions are logged and auditable to meet regulatory requirements."},{question:"What's the typical time to first value?",answer:"Most deployments achieve first value within 4-6 weeks, including integration testing and user training. Timeline varies based on integration complexity and organizational readiness."},{question:"How does VISTA work for airport perimeter security?",answer:"VISTA monitors airside perimeter cameras for unauthorized vehicle access, triggering real-time alerts to security operations. Integration with airport access control systems enables automated gate monitoring and breach response workflows."},{question:"Can VISTA track vehicles across multiple distribution centers?",answer:"Yes, VISTA can correlate vehicle sightings across multiple facilities in your logistics network. This enables fleet visibility, cross-facility security monitoring, and chain-of-custody tracking for high-value shipments."},{question:"How does corporate parking enforcement work with VISTA?",answer:"VISTA integrates with permit databases to automatically flag unauthorized vehicles in employee parking areas. Security teams receive alerts with vehicle details and can generate violation notices with photographic evidence."},{question:"What's the accuracy rate for license plate recognition?",answer:"VISTA achieves 95-98% read accuracy in optimal conditions. Accuracy varies based on camera positioning, lighting, plate condition, and speed. We conduct site surveys to ensure proper camera placement for your specific requirements."},{question:"Can we integrate VISTA with our existing security systems?",answer:"Yes, VISTA provides REST APIs and webhooks for integration with CAD/RMS, access control systems, VMS platforms, SSO/IAM, and ticketing systems. We support OIDC/SAML for single sign-on and can integrate with most enterprise security platforms."}],faqLastUpdated:"2025-01-15",caseStudies:[{title:"Municipal Computer Vision Cost Reduction",slug:"municipal-cv-cost",summary:"70% reduction in cloud processing costs through edge optimization"},{title:"Redaction & Compliance Automation",slug:"redaction-compliance",summary:"60% faster FOIA response with automated redaction workflows"}],image:"/assets/products/vista-overview.webp",imageAlt:"VISTA ALPR and redaction platform interface"},sentra:{slug:"sentra",title:"SENTRA",shortDescriptor:"Traffic Analytics",heroSub:"Edge AI for counting, classification, speed, and incident detection—serving warehouses, distribution centers, corporate campuses, and manufacturing facilities.",chips:["KPI-gated rollout","On-prem/Cloud","API-first"],industries:["logistics","manufacturing","enterprise","transportation","retail"],outcomes:[{metric:"Vehicle classification accuracy",range:"98%+ on tuned sites"},{metric:"Incident detection latency",range:"< 1–2 s (tuned per site)"},{metric:"Cloud GPU/egress spend",range:"↓ 20–40% with edge batching"}],capabilities:["Real-time counts, speed, and FHWA class at the edge (Jetson/x86)","Aviation/Airport: curbside flow optimization, ground transportation analytics, terminal access monitoring","Warehouse & Logistics: loading dock optimization, yard management, trailer tracking","Corporate Campus: traffic flow analysis, parking guidance, employee shuttle optimization","Incident detection (stopped vehicle, wrong-way, queue build-up, congestion alerts)","ArcGIS/LRS conflation; shapefiles/feature classes export for DOT workflows","Live dashboards and scheduled study packs","Hybrid edge↔cloud sync and statewide batch inference","Model monitoring & drift alerts; retrain hooks"],howItWorks:"Cameras/LiDAR → edge inference → event bus → dashboards/exports → GIS & planning.",deployments:["Edge devices (Jetson/x86 platforms)","Kubernetes microservices architecture","S3/Glacier storage for long-term archives","ArcGIS/feature classes export","Data portal integration hooks","Statewide batch inference support"],security:["Encrypted telemetry and data transmission; device authentication and authorization","Role-scoped access controls with comprehensive audit logging","Optional anonymization for public data portals","Designed to align with WCAG 2.1 AA accessibility standards","Security posture designed for DOT and municipal requirements","Regular security assessments and updates"],faqs:[{question:"What sensors and frame rates do you support?",answer:"SENTRA supports IP cameras (15-30 fps), radar sensors, and LiDAR. Frame rate requirements vary by use case—typically 15 fps for classification, 30 fps for incidents."},{question:"How do you validate accuracy on my sites?",answer:"We conduct ground-truth validation studies comparing system counts to manual counts. Acceptance criteria and validation methodology are defined during project scoping."},{question:"Can we run statewide batch inference from archives?",answer:"Yes, SENTRA supports batch processing of archived video for historical analysis and model retraining using cloud infrastructure or distributed edge processing."},{question:"What GIS formats do you export?",answer:"We export to ArcGIS feature classes, shapefiles, GeoJSON, and can integrate directly with LRS systems. Custom export formats available upon request."},{question:"What's the typical hardware footprint per approach/roadway?",answer:"Standard deployment: 1 edge device per 2-4 camera views. Exact configuration depends on resolution, frame rate, and number of analytics running concurrently."},{question:"How does SENTRA optimize airport curbside operations?",answer:"SENTRA tracks vehicle dwell times, queue lengths, and traffic flow patterns at terminal curbsides. Analytics help airports optimize pickup zones, reduce congestion, and improve passenger experience while maintaining compliance with regional traffic regulations."},{question:"Can SENTRA track loading dock turnaround times in warehouses?",answer:"Yes, SENTRA monitors dock activity including vehicle arrival/departure, dwell times, and throughput metrics. This data helps logistics managers optimize dock scheduling, identify bottlenecks, and improve operational efficiency across distribution centers."},{question:"What incident types can SENTRA detect automatically?",answer:"SENTRA detects stopped vehicles, wrong-way movement, queue buildup, congestion events, and unusual traffic patterns. Detection thresholds are configurable per site and can trigger automated alerts to traffic management centers or emergency services."},{question:"How does SENTRA integrate with DOT planning workflows?",answer:"SENTRA exports data to ArcGIS feature classes and Linear Referencing Systems (LRS) used by state DOTs. This enables seamless integration with existing transportation planning tools and supports AADT/AAWDT studies, capital improvement planning, and grant applications."},{question:"Can SENTRA help with corporate campus traffic management?",answer:"Yes, SENTRA provides traffic flow analysis, parking guidance, and shuttle optimization for corporate campuses. Analytics help facility managers understand peak congestion times, optimize parking resources, and improve employee commute experiences."}],faqLastUpdated:"2025-01-15",caseStudies:[{title:"Municipal Computer Vision Cost Reduction",slug:"municipal-cv-cost",summary:"Edge processing reduced cloud costs by 70% while improving response times"}],image:"/assets/products/sentra-overview.webp",imageAlt:"SENTRA traffic analytics platform dashboard"},ipam:{slug:"ipam",title:"iPAM",shortDescriptor:"Parking Platform",heroSub:"One platform for permits, LPR enforcement, violation management, and dynamic pricing—serving corporate campuses, retail centers, healthcare facilities, and commercial properties.",chips:["KPI-gated rollout","On-prem/Cloud","API-first"],industries:["enterprise","retail","healthcare","logistics","manufacturing"],outcomes:[{metric:"Permit adoption",range:"↑ 10–25% with self-service & virtual permits"},{metric:"Violator capture",range:"↑ 15–35% with LPR + e-chalking policies"},{metric:"Dispute handling time",range:"↓ 30–50% with evidence packaging"}],capabilities:["Virtual permits & waitlists; pro-rating and rules engine","Airport Parking: terminal/economy lot management, reservation systems, loyalty programs","Corporate Campus: employee parking management, visitor registration, EV charging integration","Retail: customer parking validation, loyalty rewards, holiday/peak pricing","LPR enforcement; e-chalking & 'no return' blockface rules","Citations, disputes, violation management & appeals workflows","Dynamic pricing; event & valet modules; revenue optimization","Analytics & scheduled reporting; open APIs/webhooks","End-user portal; payments & receipts; mobile app notifications"],howItWorks:"User portal → permits/payments → enforcement app & LPR → violation management → reporting & finance integration.",deployments:["Cloud-hosted or on-premises deployment","Mobile enforcement application for iOS/Android","LPR hardware integration (multiple vendors)","Payment gateway integration (PCI-compliant)","Finance/ERP system data feeds","Public portal for permit holders"],security:["RBAC with granular permissions and comprehensive audit trails","SSO integration (SAML/OIDC) for enterprise authentication","Designed to align with PCI DSS for payment processing","Configurable data retention controls and privacy protections","Designed to align with WCAG 2.1 AA accessibility standards","Security documentation and compliance evidence available"],faqs:[{question:"Do you support our existing LPR hardware?",answer:"iPAM integrates with major LPR vendors including Genetec AutoVu, Vigilant, and ELSAG. We can evaluate compatibility with your existing hardware during scoping."},{question:"How are 'no return' and zone rules configured?",answer:"Zone rules are configured through the admin interface with time-based restrictions, permit requirements, and 'no return' periods. Rules support complex scenarios including overlapping zones."},{question:"What's the appeals process in the platform?",answer:"iPAM includes a complete violation management workflow with evidence review, appeal scheduling, decision tracking, and automated notifications to all parties."},{question:"Can we integrate to our finance system?",answer:"Yes, iPAM provides scheduled data exports, webhooks, and REST APIs for integration with ERP and finance systems. Common integrations include SAP, Oracle, and Munis."},{question:"What data do we own and how do we export it?",answer:"You own all data generated in the platform. Data can be exported via scheduled reports, API access, or direct database access for on-premises deployments."},{question:"How does iPAM support airport parking reservations and loyalty programs?",answer:"iPAM provides online reservation systems for terminal and economy lots with real-time availability, pre-payment options, and QR code entry. Loyalty programs track frequent parkers and can offer rewards, discounts, and priority booking for high-value customers."},{question:"Can iPAM manage EV charging stations on corporate campuses?",answer:"Yes, iPAM integrates with EV charging networks to manage station reservations, track usage, handle billing, and enforce time limits. The system can prioritize charging spots for specific permit holders and send notifications when charging is complete."},{question:"How does retail parking validation work with merchant partnerships?",answer:"iPAM supports merchant validation workflows where shoppers receive validation codes at point-of-sale. Merchants can be assigned validation quotas, and the system tracks usage for billing. Customers redeem validations through the mobile app or payment kiosks."},{question:"How are university permit waitlists managed in iPAM?",answer:"iPAM automates waitlist management with configurable priority rules (seniority, distance, disability status). When permits become available, the system automatically notifies the next qualified applicant and handles the assignment process, including pro-rated payments for mid-semester starts."},{question:"Can iPAM coordinate permits across multiple enterprise campus locations?",answer:"Yes, iPAM supports multi-site deployments with centralized permit management. Employees can be granted access to multiple locations with zone-specific restrictions, and administrators can manage permits, enforcement, and reporting across all sites from a single interface."}],faqLastUpdated:"2025-01-15",caseStudies:[],image:"/assets/products/ipam-overview.webp",imageAlt:"iPAM parking management platform interface"},neurosight:{slug:"neurosight",title:"NeuroSight",shortDescriptor:"AI Weapon Detection",heroSub:"Sub-200 ms firearm detection and behavior cues at the edge—protecting retail stores, corporate headquarters, manufacturing facilities, financial institutions, and healthcare facilities.",chips:["KPI-gated rollout","On-prem/Cloud","API-first"],industries:["enterprise","retail","manufacturing","healthcare","financial-services"],outcomes:[{metric:"Detection latency",range:"< 200 ms (edge pipeline)"},{metric:"Reviewer load",range:"↓ 30–50% with triage & event bundling"},{metric:"NDAA-compliant camera posture",range:"for public procurements"}],capabilities:["Firearm detection & behavior analytics (loitering, raised-arm cues, crowd anomalies)","Aviation/Airport: terminal security, checkpoint monitoring, baggage claim, parking structure surveillance","Retail Security: storefront monitoring, loss prevention integration, customer safety alerts","Corporate & Manufacturing: facility entrance monitoring, sensitive area protection, workplace violence prevention","Human-in-the-loop review queue & alert confirmation with prioritization","Integrations: VMS, access control, mass notification, incident management systems","Device health, stream quality, and alert reliability metrics","Model monitoring, drift & threshold tuning per environment","Privacy modes and masking tools with audit compliance"],howItWorks:"RTSP streams → edge inference → alert scoring & HITL review → notify/act (VMS/ACS/MNS) → audit & analytics.",deployments:["On-prem edge devices (Jetson/x86) or hybrid cloud","Policy-based alerting and escalation","VMS integration via API/SDK","Access control system integration","Mass notification system webhooks","Audit trail and analytics reporting"],security:["TLS 1.3 encryption in transit; AES-256 encryption at rest","RBAC with least-privilege access and comprehensive audit trails","NDAA-compliant hardware options available for procurement requirements","Privacy modes with configurable masking and anonymization","Designed to align with WCAG 2.1 AA accessibility standards","Air-gap deployment options for high-security environments"],faqs:[{question:"What are typical false-alert rates and how are thresholds tuned?",answer:"False-positive rates vary by environment but typically range from 1-5%. Thresholds are tuned during pilot phase using site-specific data and can be adjusted based on operational requirements."},{question:"Can we run entirely offline/on-prem?",answer:"Yes, NeuroSight supports fully air-gapped on-premises deployment with no cloud connectivity required. Model updates can be delivered via secure offline mechanisms."},{question:"How do you integrate with our existing VMS/ACS?",answer:"NeuroSight integrates via REST APIs, SDKs, and webhooks with major VMS platforms (Milestone, Genetec) and access control systems (Lenel, CCURE, Mercury)."},{question:"What are the privacy controls and masking options?",answer:"NeuroSight includes privacy masking zones, anonymization options, and configurable data retention. Video can be processed without persistent storage, with only alerts and metadata retained."},{question:"How do you measure and report model performance?",answer:"The platform includes continuous monitoring of detection rates, false positives, latency, and stream health. Performance dashboards and scheduled reports track metrics over time."},{question:"How does NeuroSight enhance airport terminal security?",answer:"NeuroSight monitors terminal checkpoints, baggage claim areas, and public spaces for weapon detection with sub-200ms latency. Integration with mass notification and access control systems enables rapid lockdown procedures and coordinated emergency response across the airport facility."},{question:"Can NeuroSight integrate with retail loss prevention systems?",answer:"Yes, NeuroSight integrates with existing loss prevention platforms to combine weapon detection with behavior analytics (loitering, crowd anomalies). This provides comprehensive security coverage for storefronts, entrances, and high-value merchandise areas while alerting both security and law enforcement."},{question:"How does NeuroSight support workplace violence prevention programs?",answer:"NeuroSight detects firearms and threatening behaviors (raised-arm gestures, aggressive postures) at facility entrances and sensitive areas. The system integrates with corporate security protocols, HR incident management, and emergency notification systems to support workplace safety initiatives and regulatory compliance."},{question:"What NDAA-compliant hardware options are available for government/education?",answer:"NeuroSight supports NDAA-compliant edge devices (Jetson platforms, x86 servers) and camera systems required for federal, state, and educational institution procurements. We provide documentation and compliance artifacts to support grant applications and procurement processes."},{question:"How does the human-in-the-loop review process work?",answer:"When NeuroSight detects a potential threat, alerts are prioritized in a review queue based on confidence scores and context. Trained operators review video evidence and can confirm, dismiss, or escalate alerts. The HITL workflow reduces false positives by 30-50% while maintaining rapid response times for genuine threats."}],faqLastUpdated:"2025-01-15",caseStudies:[],image:"/assets/products/neurosight-overview.webp",imageAlt:"NeuroSight AI weapon detection system interface"}};function dJ(){const{slug:e}=st(),t=at(),s=e?lJ[e]:null,[a,r]=Qe.useState(!1),[i,n]=Qe.useState(!1),o=()=>{r(!0)},l=()=>{t(`/outcomes?product=${e}`)};if(!s)return J.jsxs(J.Fragment,{children:[J.jsx(UG,{}),J.jsx("main",{className:"min-h-screen py-20 px-6",children:J.jsxs("div",{className:"container mx-auto text-center",children:[J.jsx("h1",{className:"text-3xl font-bold mb-4",children:"Product Not Found"}),J.jsx(tt,{to:"/products",children:J.jsx(oz,{children:"View All Products"})})]})}),J.jsx(KU,{})]});const d=`https://www.allerin.com/products/${e}`,c={ipam:{title:"iPAM | Enterprise Parking Management Platform - Permits, LPR Enforcement & Analytics",description:"Unified parking management for corporate campuses, retail centers, and healthcare facilities. Digital permits, LPR enforcement, dynamic pricing, and real-time analytics. On-premise or cloud deployment.",ogTitle:"iPAM Enterprise Parking Management Platform",ogDescription:"Unified parking management for corporate campuses, retail centers, and healthcare facilities. Digital permits, LPR enforcement, dynamic pricing, and real-time analytics."},vista:{title:"VISTA | Enterprise Computer Vision & AI Platform | Allerin",description:"Deploy visual AI anywhere—cloud, edge, or on-premise. VISTA's computer vision platform powers ALPR, video redaction, custom detection & more. Request demo.",ogTitle:"VISTA Enterprise Computer Vision Platform",ogDescription:"The privacy-first computer vision platform. Deploy pre-built applications or train custom models—on cloud, edge, or on-premise infrastructure."},sentra:{title:"SENTRA | Edge AI Vehicle Counting & Traffic Analytics | Allerin",description:"Enterprise edge AI for vehicle counting, classification & traffic analytics. Sub-100ms processing on Jetson/x86. Built for retail, logistics & commercial.",ogTitle:"SENTRA Enterprise Edge AI Traffic Intelligence",ogDescription:"Real-time vehicle counting, classification, and incident detection at the edge. Built for retail, logistics, and commercial operations."},neurosight:{title:"NEUROSIGHT | AI Weapon Detection | Sub-200ms Edge AI | Allerin",description:"AI-powered firearm detection and behavior analysis at the edge. Sub-200ms latency for retail, corporate, manufacturing, and healthcare facilities.",ogTitle:"NEUROSIGHT AI Weapon Detection Platform",ogDescription:"Sub-200ms firearm detection and behavior cues at the edge. Protecting commercial facilities with enterprise-grade AI security."}},m={ipam:{headline:"Unified Parking Management Platform",subheadline:"Digital permits. LPR enforcement. Dynamic pricing. Real-time analytics.",supportingText:"iPAM consolidates your entire parking operation into one platform. Manage permits, automate enforcement, optimize pricing, and track revenue—whether you're running a corporate campus, retail center, healthcare facility, or multi-use property.",outcomeHighlight:"Organizations using intelligent parking management report up to 27% improvement in space availability and 60% reduction in operational costs.",primaryCta:"Request Demo",secondaryCta:"Download Datasheet",secondaryCtaAction:"datasheet"},vista:{headline:"Enterprise Computer Vision Platform",subheadline:"Deploy visual AI anywhere. Detect anything. Protect everything.",supportingText:"VISTA is a complete computer vision platform that transforms how enterprises extract intelligence from video and images. Start with pre-built applications for license plate recognition, video redaction, and access control—or train custom models on your specific objects. Deploy on cloud, edge, or fully on-premise to match your privacy, latency, and compliance requirements.",outcomeHighlight:"Organizations using VISTA report up to 60% faster video processing, 50% reduction in manual review time, and enterprise-grade compliance across regulated industries.",primaryCta:"Schedule Platform Demo",secondaryCta:"View Technical Specifications",secondaryCtaAction:"datasheet",trustBadges:["GDPR Compliant","HIPAA Ready","SOC 2 Certified","On-Premise Available"]},sentra:{headline:"Edge AI Traffic Intelligence",subheadline:"Real-time vehicle counting, classification, and analytics—processed at the edge.",supportingText:"SENTRA transforms standard cameras into intelligent traffic sensors. Count vehicles, classify by type, detect incidents, and analyze patterns—all processed locally in under 100 milliseconds. Purpose-built for retail parking lots, logistics facilities, corporate campuses, and commercial properties where real-time traffic intelligence drives operational decisions.",outcomeHighlight:"Organizations using SENTRA report 98%+ vehicle classification accuracy, sub-100ms processing latency, and 20-40% reduction in cloud infrastructure costs through edge processing.",primaryCta:"Schedule Demo",secondaryCta:"View Technical Specifications",secondaryCtaAction:"datasheet",trustBadges:["Sub-100ms Latency","98%+ Accuracy","NVIDIA Jetson Optimized","On-Premise Deployment"]},neurosight:{headline:"AI Weapon Detection at the Edge",subheadline:"Sub-200ms firearm detection and behavior analysis—protecting your facilities before incidents escalate.",supportingText:"NEUROSIGHT uses edge-deployed AI to detect firearms and pre-incident behavior cues in real-time camera feeds. With sub-200ms detection latency, security teams receive instant alerts while video stays on-premise. Purpose-built for commercial facilities—retail stores, corporate headquarters, manufacturing plants, financial institutions, and healthcare facilities—NEUROSIGHT delivers the speed and accuracy that cloud-dependent systems can't match.",outcomeHighlight:"",primaryCta:"Request Demo",secondaryCta:"View Detection Capabilities",secondaryCtaAction:"datasheet",trustBadges:["Sub-200ms Detection","Edge-First AI","On-Prem/Cloud","KPI-Gated Rollout"]}}[e||""],h=c[e||""]?.title||`${s.title} — ${s.shortDescriptor} | Allerin`,x=c[e||""]?.description||s.heroSub,u={"@context":"https://schema.org","@type":"SoftwareApplication",name:`${s.title} — ${s.shortDescriptor}`,applicationCategory:"BusinessApplication",operatingSystem:"Web",description:s.heroSub,aggregateRating:{"@type":"AggregateRating",ratingValue:"4.7",bestRating:"5",ratingCount:"127"},offers:{"@type":"Offer",price:"0",priceCurrency:"USD",category:"Demo"},provider:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"},screenshot:`https://www.allerin.com${s.image}`,isRelatedTo:s.caseStudies.map(e=>({"@type":"Article",name:e.title,url:`https://www.allerin.com/customers/${e.slug}`}))},p="ipam"===e?{"@context":"https://schema.org","@type":"SoftwareApplication",name:"iPAM",applicationCategory:"BusinessApplication",applicationSubCategory:"Parking Management Software",description:"Enterprise parking management platform with digital permits, LPR enforcement, dynamic pricing, and analytics for corporate campuses, retail centers, and healthcare facilities.",operatingSystem:"Cloud, On-premise, Hybrid",offers:{"@type":"Offer",priceCurrency:"USD",priceSpecification:{"@type":"PriceSpecification",description:"Contact for enterprise pricing"}},featureList:["Digital Permit Management","LPR-Based Enforcement","Dynamic Pricing Engine","Real-Time Analytics Dashboard","Mobile Apps for iOS and Android","API-First Integration Architecture","Multi-Site Management","Automated Violation Detection"],publisher:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"}}:"vista"===e?{"@context":"https://schema.org","@type":"SoftwareApplication",name:"VISTA Enterprise Computer Vision Platform",applicationCategory:"BusinessApplication",operatingSystem:"Linux, Cloud, Edge",description:"Enterprise computer vision platform for license plate recognition, video redaction, access control, and custom object detection. Deploy on cloud, edge, or on-premise infrastructure.",offers:{"@type":"Offer",availability:"https://schema.org/InStock",priceSpecification:{"@type":"PriceSpecification",price:"Contact for pricing"}},featureList:["License plate recognition (98%+ accuracy)","Automated video redaction","Custom object detection training","Cloud, edge, and on-premise deployment","GDPR, HIPAA, CCPA, SOC 2 compliance","Real-time processing (50-100ms)","Multi-camera support","API and webhook integration"],author:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"}}:"sentra"===e?{"@context":"https://schema.org","@type":"SoftwareApplication",name:"SENTRA Edge AI Traffic Analytics Platform",applicationCategory:"BusinessApplication",operatingSystem:"Linux, NVIDIA Jetson, x86",description:"Enterprise edge AI platform for real-time vehicle counting, classification, and traffic analytics. Sub-100ms processing for retail, logistics, and commercial operations.",offers:{"@type":"Offer",availability:"https://schema.org/InStock",priceSpecification:{"@type":"PriceSpecification",price:"Contact for pricing"}},featureList:["Vehicle counting (95%+ accuracy)","Vehicle classification by type","Incident detection","Sub-100ms edge processing","NVIDIA Jetson optimized","Multi-camera support","API and webhook integration","On-premise deployment"],author:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"}}:"neurosight"===e?{"@context":"https://schema.org","@type":"SoftwareApplication",name:"NEUROSIGHT AI Weapon Detection Platform",applicationCategory:"SecurityApplication",operatingSystem:"Edge Appliance, On-Premise, Hybrid Cloud",description:"AI-powered firearm detection and behavior analysis platform with sub-200ms edge processing. Protects retail, corporate, manufacturing, financial, and healthcare facilities.",offers:{"@type":"Offer",availability:"https://schema.org/InStock",priceSpecification:{"@type":"PriceSpecification",price:"Contact for pricing"}},featureList:["Sub-200ms firearm detection","Behavior analysis","Edge AI processing","VMS integration","On-premise data sovereignty","Multi-site management","Alert triage and bundling","API integration"],author:{"@type":"Organization",name:"Allerin",url:"https://www.allerin.com"}}:u,g=c[e||""]?.ogTitle||h,f=c[e||""]?.ogDescription||x,y={"@context":"https://schema.org","@type":"Organization",name:"Allerin",url:wK,logo:`${wK}/allerin-logo.png`,description:"Enterprise AI solutions for computer vision, analytics, and automation",address:{"@type":"PostalAddress",addressCountry:"US"},sameAs:["https://www.linkedin.com/company/allerin"],areaServed:["US","North America","Global"],knowsAbout:["Computer Vision","AI","Machine Learning","MLOps","Analytics"]},b=function(e,t,s=1200,a=630){return{"@context":"https://schema.org","@type":"ImageObject",url:e,caption:t,width:s,height:a}}(`https://www.allerin.com${s.image}`,s.imageAlt),v={"@context":"https://schema.org","@type":"LocalBusiness",name:"Allerin",description:"Enterprise AI solutions provider specializing in computer vision, video analytics, and automation for industries including manufacturing, healthcare, retail, and logistics.",url:wK,logo:`${wK}/allerin-logo.png`,address:{"@type":"PostalAddress",addressCountry:"US"},areaServed:[{"@type":"Country",name:"United States"},{"@type":"GeoShape",name:"North America"}],priceRange:"$$$$",openingHours:"Mo-Fr 09:00-17:00",telephone:"+1-XXX-XXX-XXXX"};const j={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://www.allerin.com"},{"@type":"ListItem",position:2,name:"Products",item:"https://www.allerin.com/products"},{"@type":"ListItem",position:3,name:s.title,item:d}]},N={"@context":"https://schema.org","@type":"FAQPage",dateModified:s.faqLastUpdated,mainEntity:s.faqs.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))},w={"public-safety":"Public Safety",government:"Government",transportation:"Transportation","smart-cities":"Smart Cities","higher-education":"Higher Education",enterprise:"Enterprise",venues:"Venues"};return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:h}),J.jsx("meta",{name:"description",content:x}),J.jsx("link",{rel:"canonical",href:d}),J.jsx("meta",{property:"og:title",content:g}),J.jsx("meta",{property:"og:description",content:f}),J.jsx("meta",{property:"og:type",content:"product"}),J.jsx("meta",{property:"og:url",content:d}),J.jsx("meta",{property:"og:image",content:"neurosight"===e?"https://www.allerin.com/images/neurosight-weapon-detection-og.jpg":`https://www.allerin.com${s.image}`}),J.jsx("meta",{property:"og:image:width",content:"1200"}),J.jsx("meta",{property:"og:image:height",content:"630"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:g}),J.jsx("meta",{name:"twitter:description",content:f}),J.jsx("meta",{name:"twitter:image",content:`https://www.allerin.com${s.image}`}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(p)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(y)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(b)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(j)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(N)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(v)})]}),J.jsxs("div",{"data-product":e,children:[J.jsx(UG,{}),J.jsxs("main",{id:"main",children:[J.jsx("section",{className:"py-6 px-6 bg-surface/30",children:J.jsx("div",{className:"container mx-auto",children:J.jsx(hK,{children:J.jsxs(xK,{children:[J.jsx(uK,{children:J.jsx(pK,{asChild:!0,children:J.jsx(tt,{to:"/",children:"Home"})})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(pK,{asChild:!0,children:J.jsx(tt,{to:"/products",children:"Products"})})}),J.jsx(fK,{}),J.jsx(uK,{children:J.jsx(gK,{children:s.title})})]})})})}),J.jsxs("section",{className:"relative py-20 px-6 overflow-hidden",children:[J.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-data-teal/5 via-background to-data-orange/5"}),J.jsx("div",{className:"container mx-auto relative z-10",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[m?J.jsxs(J.Fragment,{children:[J.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-6",children:m.headline}),J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-6",children:m.subheadline}),J.jsx("p",{className:"text-lg text-muted-foreground/80 mb-6 max-w-3xl mx-auto",children:m.supportingText}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic mb-8 max-w-2xl mx-auto",children:m.outcomeHighlight})]}):J.jsxs(J.Fragment,{children:[J.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-6",children:[s.title," — ",s.shortDescriptor]}),J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-8",children:s.heroSub})]}),!m&&s.industries.length>0&&J.jsxs("div",{className:"flex flex-wrap gap-2 justify-center mb-6",children:[J.jsx("span",{className:"text-sm text-muted-foreground font-medium",children:"Used in:"}),s.industries.map(e=>J.jsx(tt,{to:`/industries/${e}`,children:J.jsx(hU,{variant:"outline",className:"hover:bg-data-teal/10 transition-colors",children:w[e]||e})},e))]}),J.jsx("div",{className:"flex flex-wrap gap-3 justify-center mb-8",children:s.chips.map(e=>J.jsx(hU,{variant:"secondary",className:"px-4 py-2 text-sm",children:e},e))}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsx(oz,{size:"lg",onClick:o,className:"min-h-[44px]",children:m?.primaryCta||"Request Demo"}),"datasheet"===m?.secondaryCtaAction?J.jsx(oz,{size:"lg",variant:"outline",onClick:()=>n(!0),className:"min-h-[44px]",children:m.secondaryCta}):J.jsx(oz,{size:"lg",variant:"outline",onClick:l,className:"min-h-[44px]",children:m?.secondaryCta||"Calculate ROI"})]}),m?.trustBadges&&m.trustBadges.length>0&&J.jsx("div",{className:"flex flex-wrap gap-4 md:gap-6 justify-center mt-8 pt-8 border-t border-border/50",children:m.trustBadges.map(e=>J.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal"}),J.jsx("span",{children:e})]},e))})]})})]}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-6",children:"Firearm Detection + Behavior Analysis in One Platform"}),J.jsx("div",{className:"prose prose-lg max-w-none text-muted-foreground mb-12",children:J.jsx("p",{children:"NEUROSIGHT combines two critical security capabilities: AI-powered firearm detection and behavioral threat analysis. Unlike walkthrough screening systems that only work at entry points, NEUROSIGHT analyzes existing security camera feeds across your entire facility."})}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-8 mb-12",children:[J.jsxs(aU,{className:"h-full border-l-4 border-l-primary",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(ZS,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Firearm Detection"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"When a firearm becomes visible—brandished, drawn, or improperly concealed—NEUROSIGHT's AI identifies it within 200 milliseconds and alerts your security team with camera location, timestamp, and visual confirmation."})})]}),J.jsxs(aU,{className:"h-full border-l-4 border-l-data-teal",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Ns,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Behavior Analysis"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"NEUROSIGHT doesn't wait for weapons to appear. The system analyzes behavior cues that often precede violent incidents—agitation patterns, unusual movement, loitering in sensitive areas—giving security teams earlier warning."})})]}),J.jsxs(aU,{className:"h-full border-l-4 border-l-primary",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(Uc,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Edge Architecture"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Processing happens at the edge, on your network, not in a distant cloud. This eliminates round-trip latency, keeps sensitive video data on-premise, and ensures detection continues even during network outages."})})]})]})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-12",children:"Detection Capabilities"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs(aU,{className:"h-full",children:[J.jsxs(rU,{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(ZS,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Firearm Detection"})]}),J.jsx(hU,{variant:"secondary",className:"w-fit text-xs",children:"Sub-200ms detection latency"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Real-time identification of handguns, rifles, and other firearms in camera feeds. AI trained on extensive weapon datasets recognizes firearms in various positions—drawn, brandished, or partially concealed."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsxs(rU,{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Ns,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Behavior Analysis"})]}),J.jsx(hU,{variant:"secondary",className:"w-fit text-xs",children:"Pre-incident indicators"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Pre-incident behavior recognition identifies agitation, unusual movement patterns, and threatening postures before weapons are visible. Earlier warning enables proactive response."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsxs(rU,{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(hi,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Smart Alerts"})]}),J.jsx(hU,{variant:"secondary",className:"w-fit text-xs",children:"30-50% reduction in reviewer load"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Triage and event bundling reduce false positive fatigue. Security teams receive actionable alerts with camera location, visual confirmation, and confidence scores."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsxs(rU,{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Uc,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Edge Processing"})]}),J.jsx(hU,{variant:"secondary",className:"w-fit text-xs",children:"On-premise data sovereignty"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"All AI inference runs locally on your network. No cloud dependency means sub-200ms response, data privacy, and operation during network outages."})})]})]})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-6",children:"Edge-First Detection: Speed That Saves Lives"}),J.jsx("div",{className:"prose prose-lg max-w-none text-muted-foreground mb-12",children:J.jsx("p",{children:"In weapon detection, milliseconds matter. Cloud-based systems send video to remote servers, wait for AI processing, then return alerts—a round trip that adds critical latency. NEUROSIGHT processes everything at the edge, on your network."})}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6 mb-12",children:[J.jsxs("div",{className:"text-center p-6 rounded-lg bg-surface/50 border border-border",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(CC,{className:"h-6 w-6 text-primary"})}),J.jsx("h3",{className:"font-semibold mb-2",children:"Sub-200ms Response"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"NEUROSIGHT's edge pipeline detects firearms in under 200 milliseconds—before cloud-dependent systems even establish connection."})]}),J.jsxs("div",{className:"text-center p-6 rounded-lg bg-surface/50 border border-border",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-teal/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(hy,{className:"h-6 w-6 text-data-teal"})}),J.jsx("h3",{className:"font-semibold mb-2",children:"Data Privacy"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Raw video never leaves your facility. Only detection metadata and alert snapshots transmit to security dashboards."})]}),J.jsxs("div",{className:"text-center p-6 rounded-lg bg-surface/50 border border-border",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(qP,{className:"h-6 w-6 text-primary"})}),J.jsx("h3",{className:"font-semibold mb-2",children:"Network Independence"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Edge deployment means detection continues during internet outages, network congestion, or cloud service disruptions."})]}),J.jsxs("div",{className:"text-center p-6 rounded-lg bg-surface/50 border border-border",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-data-teal/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(ZC,{className:"h-6 w-6 text-data-teal"})}),J.jsx("h3",{className:"font-semibold mb-2",children:"Bandwidth Efficiency"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Processing video locally eliminates the need to stream high-resolution feeds to the cloud."})]})]}),J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:[J.jsxs("p",{className:"text-muted-foreground",children:['"The U.S. Department of Homeland Security allocated ',J.jsx("span",{className:"font-semibold text-foreground",children:"$1.8 billion in 2024"}),' to strengthen security infrastructure, with AI-enabled detection systems receiving significant investment focus."']}),J.jsx("p",{className:"text-sm text-muted-foreground/70 mt-2",children:"— Future Market Insights"})]})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-6",children:"Built for Commercial Security"}),J.jsx("div",{className:"prose prose-lg max-w-none text-muted-foreground mb-12",children:J.jsx("p",{children:"NEUROSIGHT is purpose-built for commercial facilities where walkthrough screening isn't practical. Unlike solutions designed primarily for schools or government, NEUROSIGHT addresses the unique security challenges of retail, corporate, manufacturing, financial, and healthcare environments."})}),J.jsxs(pQ,{defaultValue:"retail",className:"w-full",children:[J.jsxs(gQ,{className:"grid w-full grid-cols-2 md:grid-cols-5 h-auto gap-2 bg-transparent p-0 mb-8",children:[J.jsxs(fQ,{value:"retail",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground flex items-center gap-2 py-3",children:[J.jsx(aM,{className:"h-4 w-4"}),J.jsx("span",{className:"hidden sm:inline",children:"Retail"})]}),J.jsxs(fQ,{value:"corporate",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground flex items-center gap-2 py-3",children:[J.jsx(On,{className:"h-4 w-4"}),J.jsx("span",{className:"hidden sm:inline",children:"Corporate"})]}),J.jsxs(fQ,{value:"manufacturing",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground flex items-center gap-2 py-3",children:[J.jsx(ph,{className:"h-4 w-4"}),J.jsx("span",{className:"hidden sm:inline",children:"Manufacturing"})]}),J.jsxs(fQ,{value:"financial",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground flex items-center gap-2 py-3",children:[J.jsx(Rm,{className:"h-4 w-4"}),J.jsx("span",{className:"hidden sm:inline",children:"Financial"})]}),J.jsxs(fQ,{value:"healthcare",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground flex items-center gap-2 py-3",children:[J.jsx(cg,{className:"h-4 w-4"}),J.jsx("span",{className:"hidden sm:inline",children:"Healthcare"})]})]}),J.jsx(yQ,{value:"retail",children:J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(aM,{className:"h-6 w-6 text-primary"})}),J.jsxs("div",{children:[J.jsx(iU,{children:"Retail Security"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Protect Stores Without Disrupting Shoppers"})]})]})}),J.jsxs(oU,{children:[J.jsxs("ul",{className:"space-y-3 mb-6",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Sales floor monitoring:"})," Detect brandished weapons before incidents escalate"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Parking lot coverage:"})," Extend detection perimeter beyond store entrance"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Loss prevention integration:"})," Combine weapon detection with existing LP systems"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Multi-store management:"})," Centralized alert monitoring across locations"]})]})]}),J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 border border-border",children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Impact"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Immediate threat awareness without entry screening bottlenecks."})]})]})]})}),J.jsx(yQ,{value:"corporate",children:J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(On,{className:"h-6 w-6 text-data-teal"})}),J.jsxs("div",{children:[J.jsx(iU,{children:"Corporate Headquarters"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Workplace Security Without Workplace Friction"})]})]})}),J.jsxs(oU,{children:[J.jsxs("ul",{className:"space-y-3 mb-6",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Lobby and common area monitoring:"})," Detect threats in high-traffic zones"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Parking structure coverage:"})," Early warning in vulnerable areas"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Executive floor protection:"})," Enhanced monitoring for sensitive areas"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Visitor management integration:"})," Combine with access control systems"]})]})]}),J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 border border-border",children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Impact"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Workplace violence prevention without creating barriers to productivity."})]})]})]})}),J.jsx(yQ,{value:"manufacturing",children:J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(ph,{className:"h-6 w-6 text-primary"})}),J.jsxs("div",{children:[J.jsx(iU,{children:"Manufacturing Facilities"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Industrial Security at Scale"})]})]})}),J.jsxs(oU,{children:[J.jsxs("ul",{className:"space-y-3 mb-6",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Gate and entry monitoring:"})," Detect weapons at vehicle and pedestrian entrances"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Production floor coverage:"})," Continuous monitoring across large facilities"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Warehouse security:"})," Extend detection to storage and logistics areas"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Shift change monitoring:"})," Handle high-volume personnel movement"]})]})]}),J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 border border-border",children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Impact"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Workforce protection across large facilities without operational bottlenecks."})]})]})]})}),J.jsx(yQ,{value:"financial",children:J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Rm,{className:"h-6 w-6 text-data-teal"})}),J.jsxs("div",{children:[J.jsx(iU,{children:"Financial Institutions"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Bank and Branch Security"})]})]})}),J.jsxs(oU,{children:[J.jsxs("ul",{className:"space-y-3 mb-6",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Branch lobby monitoring:"})," Real-time threat detection in customer areas"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"ATM vestibule coverage:"})," Extend detection to vulnerable access points"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Data center security:"})," Enhanced monitoring for critical infrastructure"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Trading floor protection:"})," Continuous coverage of high-value areas"]})]})]}),J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 border border-border",children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Impact"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Robbery prevention, employee safety, and rapid law enforcement notification."})]})]})]})}),J.jsx(yQ,{value:"healthcare",children:J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(cg,{className:"h-6 w-6 text-primary"})}),J.jsxs("div",{children:[J.jsx(iU,{children:"Healthcare Facilities"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Hospital and Clinic Security"})]})]})}),J.jsxs(oU,{children:[J.jsxs("ul",{className:"space-y-3 mb-6",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Emergency department monitoring:"})," High-risk area coverage"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Behavioral health security:"})," Enhanced monitoring for vulnerable units"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Pharmacy protection:"})," Detect threats near controlled substance areas"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal mt-0.5 flex-shrink-0"}),J.jsxs("span",{className:"text-muted-foreground",children:[J.jsx("strong",{children:"Parking and exterior coverage:"})," Extend perimeter security"]})]})]}),J.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 border border-border",children:[J.jsx("p",{className:"text-sm font-medium text-foreground",children:"Impact"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Staff and patient safety without disrupting clinical workflows."})]})]})]})})]})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6 bg-muted/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"From Camera Feed to Actionable Alert"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mb-12",children:"See how NEUROSIGHT transforms your existing camera infrastructure into an intelligent threat detection system."}),J.jsxs("div",{className:"hidden md:flex items-start justify-between gap-4",children:[J.jsxs("div",{className:"flex-1 text-center",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(co,{className:"h-8 w-8 text-primary"})}),J.jsx("div",{className:"absolute -top-2 -left-2 w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:"1"})]}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Camera Integration"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"NEUROSIGHT connects to your existing IP cameras via standard protocols. No proprietary hardware required."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground"})}),J.jsxs("div",{className:"flex-1 text-center",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-data-teal/10 flex items-center justify-center mb-4",children:J.jsx(Uc,{className:"h-8 w-8 text-data-teal"})}),J.jsx("div",{className:"absolute -top-2 -left-2 w-8 h-8 rounded-full bg-data-teal text-primary-foreground flex items-center justify-center text-sm font-bold",children:"2"})]}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Edge AI Processing"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI models run locally on edge appliances, analyzing video streams in real-time for firearm signatures and behavior patterns."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground"})}),J.jsxs("div",{className:"flex-1 text-center",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(ZS,{className:"h-8 w-8 text-primary"})}),J.jsx("div",{className:"absolute -top-2 -left-2 w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:"3"})]}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Threat Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"When a firearm or concerning behavior is identified, the system generates an alert with camera location and visual confirmation."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground"})}),J.jsxs("div",{className:"flex-1 text-center",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-data-teal/10 flex items-center justify-center mb-4",children:J.jsx(Px,{className:"h-8 w-8 text-data-teal"})}),J.jsx("div",{className:"absolute -top-2 -left-2 w-8 h-8 rounded-full bg-data-teal text-primary-foreground flex items-center justify-center text-sm font-bold",children:"4"})]}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Smart Triage"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Event bundling and confidence scoring reduce alert fatigue. Security teams receive actionable notifications, not noise."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground"})}),J.jsxs("div",{className:"flex-1 text-center",children:[J.jsxs("div",{className:"relative",children:[J.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Gk,{className:"h-8 w-8 text-primary"})}),J.jsx("div",{className:"absolute -top-2 -left-2 w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:"5"})]}),J.jsx("h3",{className:"font-semibold text-foreground mb-2",children:"Alert & Response"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Alerts flow to security dashboards, mobile devices, and integrated systems. Teams respond with full situational awareness."})]})]}),J.jsxs("div",{className:"md:hidden space-y-6",children:[J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsxs("div",{className:"relative flex-shrink-0",children:[J.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 flex items-center justify-center",children:J.jsx(co,{className:"h-7 w-7 text-primary"})}),J.jsx("div",{className:"absolute -top-1 -left-1 w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-xs font-bold",children:"1"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-1",children:"Camera Integration"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"NEUROSIGHT connects to your existing IP cameras via standard protocols. No proprietary hardware required."})]})]}),J.jsx("div",{className:"pl-7",children:J.jsx(al,{className:"h-5 w-5 text-muted-foreground"})}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsxs("div",{className:"relative flex-shrink-0",children:[J.jsx("div",{className:"w-14 h-14 rounded-full bg-data-teal/10 flex items-center justify-center",children:J.jsx(Uc,{className:"h-7 w-7 text-data-teal"})}),J.jsx("div",{className:"absolute -top-1 -left-1 w-6 h-6 rounded-full bg-data-teal text-primary-foreground flex items-center justify-center text-xs font-bold",children:"2"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-1",children:"Edge AI Processing"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI models run locally on edge appliances, analyzing video streams in real-time for firearm signatures and behavior patterns."})]})]}),J.jsx("div",{className:"pl-7",children:J.jsx(al,{className:"h-5 w-5 text-muted-foreground"})}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsxs("div",{className:"relative flex-shrink-0",children:[J.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 flex items-center justify-center",children:J.jsx(ZS,{className:"h-7 w-7 text-primary"})}),J.jsx("div",{className:"absolute -top-1 -left-1 w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-xs font-bold",children:"3"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-1",children:"Threat Detection"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"When a firearm or concerning behavior is identified, the system generates an alert with camera location and visual confirmation."})]})]}),J.jsx("div",{className:"pl-7",children:J.jsx(al,{className:"h-5 w-5 text-muted-foreground"})}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsxs("div",{className:"relative flex-shrink-0",children:[J.jsx("div",{className:"w-14 h-14 rounded-full bg-data-teal/10 flex items-center justify-center",children:J.jsx(Px,{className:"h-7 w-7 text-data-teal"})}),J.jsx("div",{className:"absolute -top-1 -left-1 w-6 h-6 rounded-full bg-data-teal text-primary-foreground flex items-center justify-center text-xs font-bold",children:"4"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-1",children:"Smart Triage"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Event bundling and confidence scoring reduce alert fatigue. Security teams receive actionable notifications, not noise."})]})]}),J.jsx("div",{className:"pl-7",children:J.jsx(al,{className:"h-5 w-5 text-muted-foreground"})}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsxs("div",{className:"relative flex-shrink-0",children:[J.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 flex items-center justify-center",children:J.jsx(Gk,{className:"h-7 w-7 text-primary"})}),J.jsx("div",{className:"absolute -top-1 -left-1 w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-xs font-bold",children:"5"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground mb-1",children:"Alert & Response"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Alerts flow to security dashboards, mobile devices, and integrated systems. Teams respond with full situational awareness."})]})]})]})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Technical Specifications"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mb-12",children:"Enterprise-grade specifications designed for seamless integration with your existing security infrastructure."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(ZS,{className:"h-5 w-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Detection Performance"})]})}),J.jsx(oU,{children:J.jsx("div",{className:"overflow-x-auto",children:J.jsx("table",{className:"w-full text-sm",children:J.jsxs("tbody",{className:"divide-y divide-border",children:[J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Detection Latency"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Sub-200ms (edge pipeline)"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Firearm Types"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Handguns, rifles, shotguns"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Behavior Detection"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Agitation, brandishing, threatening postures"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Alert Bundling"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Triage reduces reviewer load 30-50%"})]})]})})})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(qk,{className:"h-5 w-5 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Deployment Architecture"})]})}),J.jsx(oU,{children:J.jsx("div",{className:"overflow-x-auto",children:J.jsx("table",{className:"w-full text-sm",children:J.jsxs("tbody",{className:"divide-y divide-border",children:[J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Processing"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Edge-first (on-premise AI inference)"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Camera Integration"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"ONVIF, RTSP, major VMS platforms"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Cloud Option"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Hybrid cloud for multi-site aggregation"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Network Requirements"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Local network; internet optional"})]})]})})})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(jN,{className:"h-5 w-5 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Integration Support"})]})}),J.jsx(oU,{children:J.jsx("div",{className:"overflow-x-auto",children:J.jsx("table",{className:"w-full text-sm",children:J.jsxs("tbody",{className:"divide-y divide-border",children:[J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Video Management"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Milestone, Genetec, Avigilon, ExacqVision"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Access Control"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Standard APIs, webhook notifications"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Notification"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Email, SMS, push notifications, PSIM"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"SIEM/SOC"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"REST API for security operations"})]})]})})})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Xk,{className:"h-5 w-5 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Data Handling"})]})}),J.jsx(oU,{children:J.jsx("div",{className:"overflow-x-auto",children:J.jsx("table",{className:"w-full text-sm",children:J.jsxs("tbody",{className:"divide-y divide-border",children:[J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Video Storage"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Processed locally; raw video on-premise"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Alert Data"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Metadata and snapshots to dashboards"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Retention"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"Configurable per policy"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 pr-4 font-medium text-foreground",children:"Privacy"}),J.jsx("td",{className:"py-3 text-muted-foreground",children:"GDPR, CCPA supportive architecture"})]})]})})})})]})]}),J.jsx("div",{className:"mt-12 text-center",children:J.jsxs(oz,{variant:"outline",size:"lg",onClick:()=>n(!0),className:"group",children:[J.jsx(zm,{className:"mr-2 h-5 w-5"}),"Download Full Technical Datasheet",J.jsx(Ka,{className:"ml-2 h-4 w-4 transition-transform group-hover:translate-x-1"})]})})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6 bg-muted/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Deployment Flexibility"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mb-12",children:"Choose the deployment model that matches your security requirements, infrastructure, and operational preferences."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[J.jsxs(aU,{className:"h-full border-t-4 border-t-primary",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(qk,{className:"h-8 w-8 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Edge Deployment"})]}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-muted-foreground",children:"Complete on-premise processing. AI inference, alert generation, and video analysis run entirely on your network. Maximum speed, maximum privacy."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx(hU,{variant:"secondary",className:"bg-primary/10 text-primary hover:bg-primary/20",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Single facilities, data sovereignty requirements"})]})]})]}),J.jsxs(aU,{className:"h-full border-t-4 border-t-data-teal",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(Wd,{className:"h-8 w-8 text-data-teal"})}),J.jsx(iU,{className:"text-xl",children:"Hybrid Cloud"})]}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-muted-foreground",children:"Edge processing at each site with cloud-based multi-site management. Centralized dashboards, distributed detection."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx(hU,{variant:"secondary",className:"bg-data-teal/10 text-data-teal hover:bg-data-teal/20",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Multi-location enterprises, centralized security operations"})]})]})]}),J.jsxs(aU,{className:"h-full border-t-4 border-t-primary",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(GI,{className:"h-8 w-8 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Managed Monitoring"})]}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-muted-foreground",children:"Optional 24/7 monitoring service reviews alerts and coordinates response. Extend your security team without adding headcount."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx(hU,{variant:"secondary",className:"bg-primary/10 text-primary hover:bg-primary/20",children:"Best For"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Organizations seeking outsourced alert monitoring"})]})]})]})]})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Enterprise Integration"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mb-12",children:"NEUROSIGHT integrates with your existing security ecosystem through standard protocols and APIs."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(co,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Video Management Systems"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground text-sm mb-4",children:"Pre-built integrations with Milestone, Genetec, Avigilon, ExacqVision, and other major VMS platforms. NEUROSIGHT analyzes streams already flowing to your VMS—no duplicate infrastructure."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(qm,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Access Control"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground text-sm mb-4",children:"Connect weapon detection to access control responses. Automatic door locks, elevator holds, and zone restrictions based on detection events."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(hi,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Notification Systems"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground text-sm mb-4",children:"Alerts route to security dashboards, mobile apps, email, SMS, and mass notification systems. Ensure the right people know immediately."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(oc,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Security Operations"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground text-sm mb-4",children:"REST APIs enable integration with SIEM platforms, security operations centers, and custom workflows. Full audit trail and event logging for compliance."})})]})]}),J.jsx("div",{className:"mt-12 bg-muted/30 rounded-lg p-6 border border-border",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx(_N,{className:"h-6 w-6 text-data-teal shrink-0 mt-1"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold mb-2",children:"API Documentation"}),J.jsx("p",{className:"text-muted-foreground text-sm",children:"Comprehensive API documentation supports custom integrations for organizations with specific requirements. Connect NEUROSIGHT to any system that accepts webhooks or REST API calls."})]})]})})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Privacy by Architecture"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mb-12",children:"NEUROSIGHT's edge-first architecture addresses privacy and compliance concerns that cloud-dependent systems create."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12",children:[J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(Xk,{className:"h-5 w-5 text-primary"})}),J.jsx(iU,{className:"text-base",children:"Data Minimization"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Raw video stays on your network. Only detection metadata and alert snapshots transmit to dashboards—not continuous video streams."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(qk,{className:"h-5 w-5 text-data-teal"})}),J.jsx(iU,{className:"text-base",children:"Local Processing"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"AI inference happens on-premise. Your video doesn't travel to third-party cloud infrastructure for analysis."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(Ld,{className:"h-5 w-5 text-primary"})}),J.jsx(iU,{className:"text-base",children:"Configurable Retention"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Detection events and alert data retention follows your organizational policies, not vendor defaults."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})}),J.jsx(iU,{className:"text-base",children:"Compliance Support"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Architecture supports GDPR, CCPA, and industry-specific requirements by keeping sensitive video data under organizational control."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(ux,{className:"h-5 w-5 text-primary"})}),J.jsx(iU,{className:"text-base",children:"Audit Trail"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Complete logging of system access, configuration changes, and detection events supports security audit requirements."})})]})]}),J.jsx("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:J.jsxs("p",{className:"text-muted-foreground text-sm",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Accuracy Transparency:"})," Recent regulatory enforcement actions in the security industry highlight the importance of accurate capability representation. NEUROSIGHT provides clear documentation of detection capabilities and limitations—enabling informed procurement decisions."]})})]})}),"neurosight"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Measurable Security Impact"}),J.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mb-12",children:"NEUROSIGHT delivers quantifiable improvements across detection speed, operational efficiency, and security team effectiveness."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(CC,{className:"h-8 w-8 text-primary"})}),J.jsx("div",{className:"text-4xl font-bold text-primary mb-2",children:"Sub-200ms"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"Faster Detection"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Edge processing delivers detection faster than cloud round-trip. When every second matters, latency isn't acceptable."})]})}),J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(ZC,{className:"h-8 w-8 text-data-teal"})}),J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"30-50%"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"Reduced Alert Fatigue"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Smart triage and event bundling reduce false positive noise. Security teams focus on real threats, not endless alerts."})]})}),J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(Ns,{className:"h-8 w-8 text-primary"})}),J.jsx("div",{className:"text-4xl font-bold text-primary mb-2",children:"KPI-Gated"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"Operational Efficiency"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Measure detection accuracy and operational impact before full deployment. Prove value, then scale."})]})}),J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(Gk,{className:"h-8 w-8 text-data-teal"})}),J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"Early Warning"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"Risk Reduction"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Behavior detection provides pre-incident alerts. Earlier warning enables prevention, not just response."})]})})]})]})}),"neurosight"===e&&J.jsx("section",{className:"py-24 px-6 bg-gradient-to-br from-primary/5 via-background to-data-teal/5",children:J.jsxs("div",{className:"container mx-auto max-w-4xl text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:"See NEUROSIGHT in Action"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-3xl mx-auto",children:"Whether you're securing retail stores, corporate offices, manufacturing facilities, or healthcare campuses, NEUROSIGHT delivers the edge-deployed weapon detection your security team needs. Schedule a demonstration to see sub-200ms detection in action and discuss how NEUROSIGHT fits your security infrastructure."}),J.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[J.jsxs(oz,{size:"lg",onClick:()=>r(!0),className:"text-lg px-8 py-6",children:["Request Demo",J.jsx(Ka,{className:"ml-2 h-5 w-5"})]}),J.jsxs(oz,{variant:"outline",size:"lg",onClick:()=>n(!0),className:"text-lg px-8 py-6",children:[J.jsx(zm,{className:"mr-2 h-5 w-5"}),"Download Technical Datasheet"]})]})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-6",children:"Traffic Intelligence Without the Cloud Dependency"}),J.jsxs("div",{className:"prose prose-lg max-w-none text-muted-foreground mb-12",children:[J.jsx("p",{className:"mb-6",children:"Traditional traffic analytics requires streaming video to the cloud for processing—introducing latency, bandwidth costs, and privacy concerns. SENTRA eliminates these constraints by processing everything at the edge."}),J.jsx("p",{children:"The platform runs directly on edge hardware—NVIDIA Jetson modules or x86 servers—analyzing video feeds in real-time and delivering actionable intelligence in under 100 milliseconds. No cloud roundtrips. No bandwidth bottlenecks. No sending sensitive footage off-premises."})]}),J.jsx("h3",{className:"text-xl font-semibold mb-8",children:"Core Capabilities"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-12",children:[J.jsxs(aU,{className:"h-full border-l-4 border-l-primary",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(Wo,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Vehicle Counting"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Accurate, real-time counts of vehicles entering and exiting any monitored area. Track occupancy, measure throughput, and understand traffic volumes across parking lots, gates, loading docks, and access points."})})]}),J.jsxs(aU,{className:"h-full border-l-4 border-l-data-teal",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(bo,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Vehicle Classification"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Automatically categorize vehicles by type—cars, SUVs, trucks, vans, motorcycles, buses, and commercial vehicles. Understand not just how many vehicles, but what kinds of vehicles are using your facilities."})})]}),J.jsxs(aU,{className:"h-full border-l-4 border-l-primary",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(eI,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Incident Detection"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Identify stopped vehicles, wrong-way travel, accidents, and unusual patterns automatically. Receive alerts when conditions require attention, enabling faster response times and improved safety."})})]}),J.jsxs(aU,{className:"h-full border-l-4 border-l-data-teal",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(XC,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Traffic Pattern Analytics"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Analyze traffic by time of day, day of week, and seasonal patterns. Identify peak periods, measure dwell times, and understand flow patterns that inform operational decisions."})})]})]})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-7xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"From Camera to Intelligence"}),J.jsx("p",{className:"text-lg text-muted-foreground text-left mb-16 max-w-3xl",children:"SENTRA transforms standard cameras into intelligent traffic sensors through a streamlined five-step process."}),J.jsxs("div",{className:"hidden lg:flex items-start justify-between gap-2",children:[J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"0ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(co,{className:"h-8 w-8 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"1"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Capture"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Standard IP cameras capture video of traffic areas—parking lots, gates, roads, loading docks. No specialized sensors required."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"100ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(Uc,{className:"h-8 w-8 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"2"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Process"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"SENTRA's edge AI engine analyzes video in real-time. Deep learning models detect, track, and classify vehicles in under 100 milliseconds."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"200ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(ZS,{className:"h-8 w-8 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"3"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Detect"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Vehicles are counted, classified by type, and tracked through the scene. Incidents like stopped vehicles or wrong-way travel are flagged automatically."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"300ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(Wo,{className:"h-8 w-8 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"4"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Analyze"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Raw detections become actionable analytics—occupancy levels, traffic patterns, peak periods, dwell times, and trend analysis."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"400ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(hi,{className:"h-8 w-8 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"5"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Act"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Insights flow to dashboards, alerts trigger notifications, and data integrates with your operational systems for automated responses."})]})]}),J.jsxs("div",{className:"lg:hidden space-y-6",children:[J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"0ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center relative",children:[J.jsx(co,{className:"h-7 w-7 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"1"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Capture"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Standard IP cameras capture video of traffic areas—parking lots, gates, roads, loading docks. No specialized sensors required."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"100ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-data-teal/10 flex items-center justify-center relative",children:[J.jsx(Uc,{className:"h-7 w-7 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"2"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Process"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"SENTRA's edge AI engine analyzes video in real-time. Deep learning models detect, track, and classify vehicles in under 100 milliseconds."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"200ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center relative",children:[J.jsx(ZS,{className:"h-7 w-7 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"3"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Detect"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Vehicles are counted, classified by type, and tracked through the scene. Incidents like stopped vehicles or wrong-way travel are flagged automatically."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"300ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-data-teal/10 flex items-center justify-center relative",children:[J.jsx(Wo,{className:"h-7 w-7 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"4"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Analyze"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Raw detections become actionable analytics—occupancy levels, traffic patterns, peak periods, dwell times, and trend analysis."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"400ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center relative",children:[J.jsx(hi,{className:"h-7 w-7 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"5"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Act"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Insights flow to dashboards, alerts trigger notifications, and data integrates with your operational systems for automated responses."})]})]})]})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Why Edge Processing Changes Everything"}),J.jsx("p",{className:"text-lg text-muted-foreground text-left mb-12 max-w-3xl",children:"Cloud-only computer vision creates latency, bandwidth costs, and privacy concerns. SENTRA's edge-first architecture solves all three."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6 mb-16",children:[J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx($P,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Sub-100ms Latency"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Process video locally instead of round-tripping to the cloud. Critical for real-time counting and incident detection."}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsx("span",{className:"text-sm text-muted-foreground",children:"Cloud round-trip: 200-500ms"})})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(qP,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"60% Bandwidth Savings"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Send only metadata and alerts—not raw video streams. Dramatically reduces cloud egress costs and network load."}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsx("span",{className:"text-sm text-muted-foreground",children:"Transmit KB, not GB"})})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(Xk,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Data Sovereignty"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Sensitive video never leaves your premises. Meet GDPR, HIPAA, and data residency requirements by design."}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsx("span",{className:"text-sm text-muted-foreground",children:"On-premise processing"})})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(qk,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Offline Operation"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Continue counting and detecting even when internet connectivity is interrupted. Critical for security and operations."}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsx("span",{className:"text-sm text-muted-foreground",children:"Zero downtime dependency"})})]})]})]}),J.jsx("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx(XC,{className:"h-6 w-6 text-data-teal shrink-0 mt-1"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold mb-2",children:"Edge AI is the future of enterprise computer vision"}),J.jsx("p",{className:"text-muted-foreground text-sm",children:"The edge AI market is projected to grow at 26.3% CAGR through 2030 (Mordor Intelligence). Enterprises are moving processing closer to data sources for performance, cost, and compliance benefits."})]})]})})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-12",children:"Technical Specifications"}),J.jsxs(R$,{type:"multiple",className:"space-y-4",defaultValue:["detection","classification"],children:[J.jsxs(O$,{value:"detection",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(ZS,{className:"h-5 w-5 text-primary"}),"Detection Capabilities"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Capability"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Specification"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Vehicle Counting Accuracy"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"95%+ under standard conditions"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Classification Accuracy"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"90%+ by vehicle type"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Processing Latency"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Sub-100ms per frame"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Concurrent Streams"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Multiple cameras per edge device"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Detection Types"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Count, classification, direction, speed, incidents"})]})]})]})})})]}),J.jsxs(O$,{value:"classification",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(bo,{className:"h-5 w-5 text-primary"}),"Vehicle Classification"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Vehicle Type"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Supported"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Cars/Sedans"}),J.jsx("td",{className:"py-3 px-4 text-data-teal",children:"✓"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"SUVs/Crossovers"}),J.jsx("td",{className:"py-3 px-4 text-data-teal",children:"✓"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Trucks/Pickups"}),J.jsx("td",{className:"py-3 px-4 text-data-teal",children:"✓"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Vans/Delivery"}),J.jsx("td",{className:"py-3 px-4 text-data-teal",children:"✓"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Buses/Shuttles"}),J.jsx("td",{className:"py-3 px-4 text-data-teal",children:"✓"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Motorcycles"}),J.jsx("td",{className:"py-3 px-4 text-data-teal",children:"✓"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Commercial Trucks"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"✓ (with axle classification)"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Bicycles"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"✓ (optional)"})]})]})]})})})]}),J.jsxs(O$,{value:"hardware",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(Uc,{className:"h-5 w-5 text-primary"}),"Supported Hardware"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Platform"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Description"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"NVIDIA Jetson Nano"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Entry-level edge deployment"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"NVIDIA Jetson Xavier"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Production edge deployment"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"NVIDIA Jetson Orin"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"High-performance edge"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"x86 Servers"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Intel/AMD with GPU acceleration"})]})]})]})})})]}),J.jsxs(O$,{value:"camera",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(co,{className:"h-5 w-5 text-primary"}),"Camera Compatibility"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Requirement"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Specification"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Protocol"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"ONVIF, RTSP"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Resolution"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"720p minimum, 1080p recommended"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Frame Rate"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"15fps minimum, 30fps recommended"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Vendors"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Brand-agnostic (Axis, Hikvision, Dahua, etc.)"})]})]})]})})})]})]}),J.jsx("div",{className:"mt-8 text-center",children:J.jsxs(oz,{variant:"outline",onClick:()=>n(!0),children:[J.jsx(ux,{className:"h-4 w-4 mr-2"}),"Download Full Datasheet"]})})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Deploy Where You Need It"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"SENTRA is designed for flexible deployment across diverse operational environments. Choose the approach that matches your infrastructure and requirements."}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-8 mb-12",children:[J.jsxs(aU,{className:"border-2 hover:border-primary/50 transition-colors",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"h-12 w-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Uc,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Edge Deployment"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Process everything locally on NVIDIA Jetson or x86 hardware. Ideal for bandwidth-constrained sites, high-security environments, or locations requiring complete data sovereignty. All video analysis happens on-premises."})})]}),J.jsxs(aU,{className:"border-2 hover:border-primary/50 transition-colors",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"h-12 w-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Wd,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Hybrid Deployment"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Combine edge processing with cloud aggregation. SENTRA processes video locally for real-time intelligence while uploading analytics results to cloud dashboards for multi-site visibility."})})]}),J.jsxs(aU,{className:"border-2 hover:border-primary/50 transition-colors",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"h-12 w-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(Fy,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Multi-Site Management"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Deploy SENTRA across multiple locations with centralized management. Each site processes independently while contributing to aggregated analytics views for enterprise-wide decisions."})})]})]}),J.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-lg p-6 flex items-start gap-4",children:[J.jsx(Xk,{className:"h-6 w-6 text-primary flex-shrink-0 mt-0.5"}),J.jsxs("p",{className:"text-muted-foreground",children:[J.jsx("span",{className:"font-semibold text-foreground",children:"Edge computing provides enhanced security"})," by processing data locally—organizations can maintain traffic intelligence without exposing sensitive video to external networks."]})]})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-left mb-4",children:"Connects to Your Operational Systems"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Traffic intelligence creates value when it connects to the systems that drive decisions. SENTRA provides the integration capabilities enterprise operations require."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs(aU,{className:"border-2 hover:border-primary/50 transition-colors",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"h-12 w-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(oc,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"API Access"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"RESTful APIs expose all SENTRA capabilities programmatically. Query current counts, retrieve historical data, configure detection zones, and receive real-time events."})})]}),J.jsxs(aU,{className:"border-2 hover:border-primary/50 transition-colors",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"h-12 w-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(_N,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"System Integrations"})]}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-1 flex-shrink-0"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Parking Management:"})," Feed occupancy data to guidance systems"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-1 flex-shrink-0"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Access Control:"})," Trigger gates based on vehicle detection"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-1 flex-shrink-0"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Business Intelligence:"})," Export to Tableau, Power BI, custom dashboards"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-1 flex-shrink-0"}),J.jsxs("span",{children:[J.jsx("strong",{children:"Alerting:"})," Email, SMS, or webhook notifications"]})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-1 flex-shrink-0"}),J.jsxs("span",{children:[J.jsx("strong",{children:"VMS Platforms:"})," Video management system integration"]})]})]})})]}),J.jsxs(aU,{className:"border-2 hover:border-primary/50 transition-colors",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"h-12 w-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(zm,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Data Export"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Export historical data in standard formats for offline analysis. Automated reports deliver scheduled summaries to stakeholders."})})]}),J.jsxs(aU,{className:"border-2 hover:border-primary/50 transition-colors",children:[J.jsxs(rU,{children:[J.jsx("div",{className:"h-12 w-12 rounded-lg bg-primary/10 flex items-center justify-center mb-4",children:J.jsx(AP,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Webhook Support"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Real-time events trigger webhooks to your systems—enabling automation workflows without polling or delays."})})]})]})]})}),"sentra"===e&&J.jsx("section",{className:"py-24 px-6 bg-gradient-to-br from-primary/5 via-background to-primary/10",children:J.jsxs("div",{className:"container mx-auto max-w-4xl text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:"See SENTRA in Action"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-10 max-w-2xl mx-auto",children:"Whether you're optimizing retail parking, managing logistics gates, or analyzing property traffic, SENTRA delivers the edge AI intelligence you need. Schedule a demonstration to see SENTRA's capabilities with your use cases and deployment environment."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[J.jsxs(oz,{size:"lg",className:"text-lg px-8 py-6",onClick:()=>r(!0),children:["Schedule Demo",J.jsx(Ka,{className:"ml-2 h-5 w-5"})]}),J.jsxs(oz,{variant:"outline",size:"lg",className:"text-lg px-8 py-6",onClick:()=>n(!0),children:[J.jsx(ux,{className:"mr-2 h-5 w-5"}),"Download Technical Datasheet"]})]})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-left mb-6",children:"A Complete Computer Vision Platform—Not Just Another Point Solution"}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-start",children:[J.jsxs("div",{className:"space-y-6",children:[J.jsx("p",{className:"text-lg text-muted-foreground",children:"Most computer vision tools force a choice: use a hyperscaler's cloud-only service with limited customization, or build everything from scratch with open-source frameworks. VISTA eliminates this trade-off."}),J.jsx("p",{className:"text-lg text-muted-foreground",children:"VISTA is a full-stack computer vision platform designed for enterprises that need both flexibility and speed. The platform combines a powerful AI/ML engine, pre-built detection applications, and flexible deployment options—all architected for real-world enterprise requirements."})]}),J.jsx("div",{className:"bg-background rounded-xl border border-border p-6 shadow-sm",children:J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"bg-gradient-to-r from-data-teal/10 to-data-teal/5 rounded-lg p-4 border border-data-teal/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(sc,{className:"h-5 w-5 text-data-teal"}),J.jsx("span",{className:"font-semibold text-sm",children:"Deployment Options"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"outline",className:"bg-background",children:"Cloud"}),J.jsx(hU,{variant:"outline",className:"bg-background",children:"On-Premise"}),J.jsx(hU,{variant:"outline",className:"bg-background",children:"Edge"}),J.jsx(hU,{variant:"outline",className:"bg-background",children:"Hybrid"})]})]}),J.jsx("div",{className:"flex justify-center",children:J.jsx("div",{className:"w-px h-4 bg-border"})}),J.jsxs("div",{className:"bg-gradient-to-r from-primary/10 to-primary/5 rounded-lg p-4 border border-primary/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(zk,{className:"h-5 w-5 text-primary"}),J.jsx("span",{className:"font-semibold text-sm",children:"Pre-Built Applications"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"secondary",children:"Vehicle Intelligence"}),J.jsx(hU,{variant:"secondary",children:"Privacy Protection"}),J.jsx(hU,{variant:"secondary",children:"Access Control"}),J.jsx(hU,{variant:"secondary",children:"Safety Monitoring"})]})]}),J.jsx("div",{className:"flex justify-center",children:J.jsx("div",{className:"w-px h-4 bg-border"})}),J.jsxs("div",{className:"bg-gradient-to-r from-data-orange/10 to-data-orange/5 rounded-lg p-4 border border-data-orange/20",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(dk,{className:"h-5 w-5 text-data-orange"}),J.jsx("span",{className:"font-semibold text-sm",children:"Detection Capabilities"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs",children:"Object Detection"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"License Plate Recognition"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Face Detection"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"OCR/Text"}),J.jsx(hU,{variant:"outline",className:"text-xs",children:"Custom Training"})]})]}),J.jsx("div",{className:"flex justify-center",children:J.jsx("div",{className:"w-px h-4 bg-border"})}),J.jsxs("div",{className:"bg-gradient-to-r from-muted to-muted/50 rounded-lg p-4 border border-border",children:[J.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[J.jsx(qk,{className:"h-5 w-5 text-foreground"}),J.jsx("span",{className:"font-semibold text-sm",children:"AI/ML Engine"})]}),J.jsxs("div",{className:"flex flex-wrap gap-2",children:[J.jsx(hU,{variant:"outline",className:"text-xs bg-background",children:"Deep Learning Models"}),J.jsx(hU,{variant:"outline",className:"text-xs bg-background",children:"Real-Time Inference"}),J.jsx(hU,{variant:"outline",className:"text-xs bg-background",children:"Model Optimization"})]})]})]})})]})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-background",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-12",children:"Built on Production-Grade AI"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(jn,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Deep Learning Architecture"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"VISTA leverages convolutional neural networks (CNNs) for core detection tasks and supports transformer-based architectures for complex scene analysis. Models are pre-trained on millions of images and continuously improved through transfer learning."})})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-orange/10",children:J.jsx($P,{className:"h-6 w-6 text-data-orange"})}),J.jsx(iU,{className:"text-xl",children:"Real-Time Performance"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Inference speeds of 50-100ms per frame enable applications that operate at the speed of your operations. No bottlenecks. No delays waiting for cloud responses."})})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(SM,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-xl",children:"Model Optimization"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"VISTA automatically optimizes models for target deployment environments using quantization and pruning—maintaining accuracy while dramatically reducing computational requirements. Supports ONNX and TensorRT formats."})})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-secondary/50",children:J.jsx(bw,{className:"h-6 w-6 text-foreground"})}),J.jsx(iU,{className:"text-xl",children:"Continuous Learning"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Visual environments change. VISTA supports ongoing model refinement through structured retraining workflows—your system gets smarter as your data grows."})})]})]}),J.jsx("div",{className:"bg-muted/30 rounded-lg p-6 border border-border/50",children:J.jsxs("p",{className:"text-muted-foreground text-sm",children:[J.jsx("span",{className:"font-semibold text-foreground",children:'"Edge AI deployments are expanding at 26.3% CAGR'}),' as organizations recognize the benefits of processing visual data locally."',J.jsx("span",{className:"text-xs ml-2 opacity-70",children:"— Mordor Intelligence"})]})})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Ready-to-Deploy Visual Intelligence"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Don't build what's already been solved. VISTA includes production-ready applications for the most common enterprise computer vision use cases."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[J.jsxs(aU,{className:"relative overflow-hidden border-2 hover:border-primary/30 transition-colors",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-3 rounded-lg bg-primary/10",children:J.jsx(bo,{className:"h-7 w-7 text-primary"})}),J.jsxs("div",{children:[J.jsx(iU,{className:"text-xl",children:"Vehicle Intelligence"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Beyond Basic Plate Reading"})]})]})}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-muted-foreground",children:"Traditional license plate recognition tells you a plate number. VISTA's Vehicle Intelligence does far more—identifying vehicle make, model, color, and direction of travel alongside the plate itself."}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"98%+ plate recognition accuracy"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Multi-region plate support"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Make/model/color identification"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Real-time watchlist matching"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Works with existing IP cameras"})]})]}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsxs("p",{className:"text-xs text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Use Cases:"})," Corporate parking, fleet operations, retail security, logistics"]})})]})]}),J.jsxs(aU,{className:"relative overflow-hidden border-2 hover:border-primary/30 transition-colors",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-teal/10",children:J.jsx(Gk,{className:"h-7 w-7 text-data-teal"})}),J.jsxs("div",{children:[J.jsx(iU,{className:"text-xl",children:"Privacy Protection"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Automate Compliance, Protect Privacy"})]})]})}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-muted-foreground",children:"Automatically detect and mask faces, license plates, screens, documents, and body features—any element containing personally identifiable information. Process in real-time or batch mode."}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"Face, plate, screen, body detection"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"Real-time and batch processing"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"Audio redaction capabilities"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"Complete audit trails"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"GDPR, HIPAA, CCPA compliant"})]})]}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsxs("p",{className:"text-xs text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Use Cases:"})," Healthcare, insurance, corporate security, retail"]})})]})]}),J.jsxs(aU,{className:"relative overflow-hidden border-2 hover:border-primary/30 transition-colors",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-orange/10",children:J.jsx(qm,{className:"h-7 w-7 text-data-orange"})}),J.jsxs("div",{children:[J.jsx(iU,{className:"text-xl",children:"Access Control"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Visual Verification for Physical Security"})]})]})}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-muted-foreground",children:"Add visual verification to existing access control systems. Confirm that the vehicle or person requesting access matches authorized records."}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Vehicle-based gate access"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Multi-factor verification"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Visitor pre-registration"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Tailgating detection"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Integrates with existing systems"})]})]}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsxs("p",{className:"text-xs text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Use Cases:"})," Corporate campuses, gated facilities, parking structures"]})})]})]}),J.jsxs(aU,{className:"relative overflow-hidden border-2 hover:border-primary/30 transition-colors",children:[J.jsx(rU,{className:"pb-4",children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-3 rounded-lg bg-secondary/50",children:J.jsx(Up,{className:"h-7 w-7 text-foreground"})}),J.jsxs("div",{children:[J.jsx(iU,{className:"text-xl",children:"Safety Monitoring"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Proactive Compliance, Not Reactive Response"})]})]})}),J.jsxs(oU,{className:"space-y-4",children:[J.jsx("p",{className:"text-muted-foreground",children:"Detect PPE compliance, zone violations, and unsafe behaviors as they occur—not after an incident investigation."}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"PPE detection (hard hats, vests, eyewear)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"Restricted zone monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"Behavior detection"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"Real-time alerting"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"Trend analysis and reporting"})]})]}),J.jsx("div",{className:"pt-4 border-t border-border",children:J.jsxs("p",{className:"text-xs text-muted-foreground",children:[J.jsx("span",{className:"font-medium text-foreground",children:"Use Cases:"})," Manufacturing, construction, warehouses, industrial sites"]})})]})]})]})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-background",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Train Models on What Matters to You"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Pre-built applications cover common use cases, but every organization has unique visual intelligence requirements. VISTA's custom object detection capability allows you to train models on your specific items—without building a data science team."}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-6 mb-12",children:[J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:"1"}),J.jsx("span",{className:"font-semibold",children:"Collect"})]}),J.jsx("div",{className:"p-3 rounded-lg bg-primary/10 w-fit mb-4",children:J.jsx(AI,{className:"h-6 w-6 text-primary"})}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Upload images or video clips containing your target objects"})]}),J.jsx(ol,{className:"hidden md:block absolute -right-3 top-1/2 -translate-y-1/2 h-6 w-6 text-muted-foreground z-10"})]}),J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:"2"}),J.jsx("span",{className:"font-semibold",children:"Annotate"})]}),J.jsx("div",{className:"p-3 rounded-lg bg-data-teal/10 w-fit mb-4",children:J.jsx(zj,{className:"h-6 w-6 text-data-teal"})}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Use VISTA's tools to mark objects in sample images"})]}),J.jsx(ol,{className:"hidden md:block absolute -right-3 top-1/2 -translate-y-1/2 h-6 w-6 text-muted-foreground z-10"})]}),J.jsxs("div",{className:"relative",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:"3"}),J.jsx("span",{className:"font-semibold",children:"Train"})]}),J.jsx("div",{className:"p-3 rounded-lg bg-data-orange/10 w-fit mb-4",children:J.jsx(mc,{className:"h-6 w-6 text-data-orange"})}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Platform handles training, validation, and optimization"})]}),J.jsx(ol,{className:"hidden md:block absolute -right-3 top-1/2 -translate-y-1/2 h-6 w-6 text-muted-foreground z-10"})]}),J.jsx("div",{className:"relative",children:J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border h-full",children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold",children:"4"}),J.jsx("span",{className:"font-semibold",children:"Deploy"})]}),J.jsx("div",{className:"p-3 rounded-lg bg-secondary/50 w-fit mb-4",children:J.jsx(Rw,{className:"h-6 w-6 text-foreground"})}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Push trained models to cloud, edge, or on-premise"})]})})]}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"bg-surface/50 rounded-lg p-6 border border-border",children:[J.jsx("h3",{className:"font-semibold mb-4 text-lg",children:"What Organizations Have Trained VISTA to Detect"}),J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Specific product types and SKUs"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Equipment and asset classes"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Packaging conditions and defects"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Custom safety equipment"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Brand logos and signage"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-muted-foreground",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Animal species and counts"})]})]})]}),J.jsx("div",{className:"bg-primary/5 rounded-lg p-6 border border-primary/20",children:J.jsxs("div",{className:"flex items-start gap-3",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10 shrink-0",children:J.jsx($P,{className:"h-5 w-5 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold mb-2",children:"Transfer Learning Accelerates Training"}),J.jsx("p",{className:"text-muted-foreground",children:"New models build on VISTA's pre-trained foundations rather than learning from scratch. Achieve production-ready accuracy with hundreds of training examples rather than thousands."})]})]})})]})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Deploy Where Your Requirements Demand"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"Cloud-only computer vision creates dependencies—on connectivity, on bandwidth, on external data handling. VISTA supports the deployment model that matches your operational reality."}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-6 mb-12",children:[J.jsxs(aU,{className:"relative overflow-hidden border hover:border-primary/30 transition-colors h-full",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"p-3 rounded-lg bg-primary/10 w-fit mb-3",children:J.jsx(sc,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Cloud"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Scale without infrastructure"})]}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-xs font-medium text-foreground mb-2",children:"Best For:"}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"Variable workloads with unpredictable peaks"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"Multi-site deployments with centralized management"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"Rapid deployment requirements"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"Limited on-premise infrastructure"})]})]})]})]}),J.jsxs(aU,{className:"relative overflow-hidden border-2 border-primary/30 bg-primary/5 h-full",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"p-3 rounded-lg bg-primary/10 w-fit mb-3",children:J.jsx(qk,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"On-Premise"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Complete data sovereignty"})]}),J.jsxs(oU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-foreground mb-2",children:"Best For:"}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"Strict data sovereignty requirements"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"Regulatory frameworks prohibiting external data transfer"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"High-security environments"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-primary mt-0.5",children:"•"}),J.jsx("span",{children:"Consistent, predictable workloads"})]})]})]}),J.jsxs("blockquote",{className:"text-xs italic text-muted-foreground border-l-2 border-primary/30 pl-3",children:['"Processing data locally rather than in the cloud keeps it safe from cyberattacks and reduces the risks of mishandling."',J.jsx("span",{className:"block mt-1 not-italic text-xs opacity-70",children:"— IBM"})]})]})]}),J.jsxs(aU,{className:"relative overflow-hidden border-2 border-data-teal/30 bg-data-teal/5 h-full",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-teal/10 w-fit mb-3",children:J.jsx(Uc,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Edge"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Process at the source"})]}),J.jsxs(oU,{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs font-medium text-foreground mb-2",children:"Best For:"}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"•"}),J.jsx("span",{children:"Real-time latency requirements (sub-100ms)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"•"}),J.jsx("span",{children:"Bandwidth-constrained locations"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"•"}),J.jsx("span",{children:"Disconnected or intermittent connectivity"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-teal mt-0.5",children:"•"}),J.jsx("span",{children:"Camera-level processing needs"})]})]})]}),J.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[J.jsxs("div",{className:"bg-background/60 rounded p-2 text-center",children:[J.jsx("span",{className:"block text-sm font-bold text-data-teal",children:"<50ms"}),J.jsx("span",{className:"text-[10px] text-muted-foreground",children:"Latency"})]}),J.jsxs("div",{className:"bg-background/60 rounded p-2 text-center",children:[J.jsx("span",{className:"block text-sm font-bold text-data-teal",children:"60%"}),J.jsx("span",{className:"text-[10px] text-muted-foreground",children:"BW Savings"})]})]})]})]}),J.jsxs(aU,{className:"relative overflow-hidden border hover:border-primary/30 transition-colors h-full",children:[J.jsxs(rU,{className:"pb-3",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-orange/10 w-fit mb-3",children:J.jsx(Pv,{className:"h-6 w-6 text-data-orange"})}),J.jsx(iU,{className:"text-lg",children:"Hybrid"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Best of all worlds"})]}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-xs font-medium text-foreground mb-2",children:"Best For:"}),J.jsxs("ul",{className:"space-y-1.5",children:[J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"•"}),J.jsx("span",{children:"Training in cloud, inference at edge"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"•"}),J.jsx("span",{children:"Gradual migration between deployment models"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"•"}),J.jsx("span",{children:"Distributed sites with varied requirements"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[J.jsx("span",{className:"text-data-orange mt-0.5",children:"•"}),J.jsx("span",{children:"Maximum flexibility"})]})]})]})]})]}),J.jsx("div",{className:"bg-muted/30 rounded-lg p-6 border border-border/50",children:J.jsxs("p",{className:"text-muted-foreground text-sm",children:[J.jsx("span",{className:"font-semibold text-foreground",children:'"Edge AI deployments are expanding at 26.3% CAGR'}),' as organizations recognize the benefits of local processing."',J.jsx("span",{className:"text-xs ml-2 opacity-70",children:"— Mordor Intelligence"})]})})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-background",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Visual AI Across Your Operations"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-12 max-w-3xl",children:"VISTA adapts to your industry's unique requirements—from fleet operations to patient privacy."}),J.jsxs(pQ,{defaultValue:"fleet",className:"w-full",children:[J.jsxs(gQ,{className:"flex flex-wrap h-auto gap-2 bg-transparent mb-8 justify-start",children:[J.jsxs(fQ,{value:"fleet",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(rI,{className:"h-4 w-4 mr-2"}),"Fleet & Logistics"]}),J.jsxs(fQ,{value:"manufacturing",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(ph,{className:"h-4 w-4 mr-2"}),"Manufacturing"]}),J.jsxs(fQ,{value:"retail",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(aM,{className:"h-4 w-4 mr-2"}),"Retail"]}),J.jsxs(fQ,{value:"healthcare",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(cg,{className:"h-4 w-4 mr-2"}),"Healthcare"]}),J.jsxs(fQ,{value:"corporate",className:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground px-4 py-2 rounded-lg border border-border data-[state=active]:border-primary",children:[J.jsx(On,{className:"h-4 w-4 mr-2"}),"Corporate Security"]})]}),J.jsx(yQ,{value:"fleet",className:"mt-0",children:J.jsx(aU,{className:"border-2",children:J.jsx(oU,{className:"p-8",children:J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-primary/10",children:J.jsx(rI,{className:"h-7 w-7 text-primary"})}),J.jsx("h3",{className:"text-2xl font-bold",children:"Fleet & Logistics"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Managing vehicle access, tracking assets, and maintaining operational visibility across distributed facilities."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"VISTA Applications"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Vehicle identification at gates and checkpoints"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Trailer and container tracking"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Loading dock occupancy monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-primary mt-0.5 shrink-0"}),J.jsx("span",{children:"Driver safety monitoring"})]})]})]})]}),J.jsx("div",{className:"flex flex-col justify-center",children:J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:[J.jsx("span",{className:"text-4xl font-bold text-primary",children:"35%"}),J.jsx("p",{className:"text-muted-foreground mt-2",children:"operational efficiency gains reported from automated fleet access and tracking"})]})})]})})})}),J.jsx(yQ,{value:"manufacturing",className:"mt-0",children:J.jsx(aU,{className:"border-2",children:J.jsx(oU,{className:"p-8",children:J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-teal/10",children:J.jsx(ph,{className:"h-7 w-7 text-data-teal"})}),J.jsx("h3",{className:"text-2xl font-bold",children:"Manufacturing"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Maintaining quality at speed, ensuring safety compliance, and tracking assets through complex production environments."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"VISTA Applications"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"Visual quality inspection"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"PPE compliance monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"Production line monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-teal mt-0.5 shrink-0"}),J.jsx("span",{children:"Asset and equipment tracking"})]})]})]})]}),J.jsxs("div",{className:"flex flex-col justify-center space-y-4",children:[J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:[J.jsx("span",{className:"text-4xl font-bold text-data-teal",children:"37.5%"}),J.jsx("p",{className:"text-muted-foreground mt-2",children:"of computer vision market revenue comes from manufacturing"})]}),J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:[J.jsx("span",{className:"text-lg font-semibold text-foreground",children:"Defect rates: 8-10% → <2%"}),J.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:"with AI-powered visual inspection"})]})]})]})})})}),J.jsx(yQ,{value:"retail",className:"mt-0",children:J.jsx(aU,{className:"border-2",children:J.jsx(oU,{className:"p-8",children:J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-orange/10",children:J.jsx(aM,{className:"h-7 w-7 text-data-orange"})}),J.jsx("h3",{className:"text-2xl font-bold",children:"Retail"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Reducing shrinkage, understanding customer behavior, and protecting stores without creating friction."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"VISTA Applications"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Organized retail crime prevention (vehicle identification)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Customer traffic and behavior analytics"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Inventory monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-data-orange mt-0.5 shrink-0"}),J.jsx("span",{children:"Checkout verification"})]})]})]})]}),J.jsx("div",{className:"flex flex-col justify-center",children:J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:[J.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[J.jsx("span",{className:"text-4xl font-bold text-data-orange",children:"$1.66B"}),J.jsx(Ka,{className:"h-5 w-5 text-muted-foreground"}),J.jsx("span",{className:"text-4xl font-bold text-data-orange",children:"$12.56B"})]}),J.jsx("p",{className:"text-muted-foreground",children:"projected growth in AI-based computer vision in retail by 2033"})]})})]})})})}),J.jsx(yQ,{value:"healthcare",className:"mt-0",children:J.jsx(aU,{className:"border-2",children:J.jsx(oU,{className:"p-8",children:J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-destructive/10",children:J.jsx(cg,{className:"h-7 w-7 text-destructive"})}),J.jsx("h3",{className:"text-2xl font-bold",children:"Healthcare"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Protecting patient privacy while maintaining security, managing facility access, and ensuring HIPAA compliance."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"VISTA Applications"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-destructive mt-0.5 shrink-0"}),J.jsx("span",{children:"Patient privacy protection (video redaction)"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-destructive mt-0.5 shrink-0"}),J.jsx("span",{children:"Facility access control"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-destructive mt-0.5 shrink-0"}),J.jsx("span",{children:"Fall detection and patient monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-destructive mt-0.5 shrink-0"}),J.jsx("span",{children:"Asset tracking (wheelchairs, equipment)"})]})]})]})]}),J.jsx("div",{className:"flex flex-col justify-center",children:J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:[J.jsx("span",{className:"text-4xl font-bold text-destructive",children:"23.7%"}),J.jsx("p",{className:"text-muted-foreground mt-2",children:"CAGR for healthcare computer vision through 2030"})]})})]})})})}),J.jsx(yQ,{value:"corporate",className:"mt-0",children:J.jsx(aU,{className:"border-2",children:J.jsx(oU,{className:"p-8",children:J.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[J.jsxs("div",{children:[J.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-secondary/50",children:J.jsx(On,{className:"h-7 w-7 text-foreground"})}),J.jsx("h3",{className:"text-2xl font-bold",children:"Corporate Security"})]}),J.jsxs("div",{className:"mb-6",children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-2",children:"Challenge"}),J.jsx("p",{className:"text-muted-foreground",children:"Securing large facilities, managing parking access, and maintaining efficiency without creating bottlenecks."})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"VISTA Applications"}),J.jsxs("ul",{className:"space-y-2",children:[J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"License plate-based vehicle access"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"Visitor vehicle management"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"Perimeter monitoring"})]}),J.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[J.jsx(Rl,{className:"h-4 w-4 text-foreground mt-0.5 shrink-0"}),J.jsx("span",{children:"Tailgating detection"})]})]})]})]}),J.jsx("div",{className:"flex flex-col justify-center",children:J.jsxs("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:[J.jsx("span",{className:"text-4xl font-bold text-foreground",children:"27%"}),J.jsx("p",{className:"text-muted-foreground mt-2",children:"improvement in parking availability achieved by CBRE through automated access systems"})]})})]})})})})]})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-7xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"From Camera to Action"}),J.jsx("p",{className:"text-lg text-muted-foreground text-left mb-16 max-w-3xl",children:"VISTA transforms existing camera infrastructure into an intelligent visual AI system in six steps."}),J.jsxs("div",{className:"hidden lg:flex items-start justify-between gap-2",children:[J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"0ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(co,{className:"h-8 w-8 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"1"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Connect"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Connect existing IP cameras to VISTA. No proprietary hardware required—any camera supporting ONVIF or RTSP protocols works."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"100ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(SM,{className:"h-8 w-8 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"2"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Configure"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Select applications and detection parameters. Define zones of interest, set confidence thresholds, and configure alerting rules."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"200ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(jn,{className:"h-8 w-8 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"3"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Process"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"VISTA's AI engine analyzes video in real-time. Deep learning models detect objects, recognize plates, identify faces, and extract intelligence."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"300ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(ZS,{className:"h-8 w-8 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"4"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Detect"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Detection events fire as configured—plate matches, unauthorized access, safety violations, or custom object identification."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"400ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(hi,{className:"h-8 w-8 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"5"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Alert"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Real-time notifications reach your team through preferred channels—dashboard alerts, email, SMS, or webhook integrations."})]}),J.jsx("div",{className:"flex-shrink-0 pt-8",children:J.jsx(ol,{className:"h-6 w-6 text-muted-foreground/50"})}),J.jsxs("div",{className:"flex-1 text-center animate-fade-in",style:{animationDelay:"500ms",animationFillMode:"both"},children:[J.jsxs("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4 relative",children:[J.jsx(Xo,{className:"h-8 w-8 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"6"})]}),J.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Act"}),J.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"Trigger automated responses, investigate events, or analyze historical data. All activity is logged for compliance."})]})]}),J.jsxs("div",{className:"lg:hidden space-y-6",children:[J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"0ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center relative",children:[J.jsx(co,{className:"h-7 w-7 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"1"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Connect"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Connect existing IP cameras to VISTA. No proprietary hardware required—any camera supporting ONVIF or RTSP protocols works."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"100ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-data-teal/10 flex items-center justify-center relative",children:[J.jsx(SM,{className:"h-7 w-7 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"2"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Configure"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Select applications and detection parameters. Define zones of interest, set confidence thresholds, and configure alerting rules."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"200ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center relative",children:[J.jsx(jn,{className:"h-7 w-7 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"3"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Process"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"VISTA's AI engine analyzes video in real-time. Deep learning models detect objects, recognize plates, identify faces, and extract intelligence."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"300ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-data-teal/10 flex items-center justify-center relative",children:[J.jsx(ZS,{className:"h-7 w-7 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"4"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Detect"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Detection events fire as configured—plate matches, unauthorized access, safety violations, or custom object identification."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"400ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-primary/10 flex items-center justify-center relative",children:[J.jsx(hi,{className:"h-7 w-7 text-primary"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-primary text-primary-foreground text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"5"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Alert"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Real-time notifications reach your team through preferred channels—dashboard alerts, email, SMS, or webhook integrations."})]})]}),J.jsxs("div",{className:"flex gap-4 animate-fade-in",style:{animationDelay:"500ms",animationFillMode:"both"},children:[J.jsx("div",{className:"flex-shrink-0",children:J.jsxs("div",{className:"w-14 h-14 rounded-xl bg-data-teal/10 flex items-center justify-center relative",children:[J.jsx(Xo,{className:"h-7 w-7 text-data-teal"}),J.jsx("span",{className:"absolute -top-2 -right-2 bg-data-teal text-white text-xs font-bold w-6 h-6 rounded-full flex items-center justify-center",children:"6"})]})}),J.jsxs("div",{className:"flex-1 pt-1",children:[J.jsx("h3",{className:"text-lg font-semibold mb-1",children:"Act"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Trigger automated responses, investigate events, or analyze historical data. All activity is logged for compliance."})]})]})]})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-12",children:"Technical Specifications"}),J.jsxs(R$,{type:"multiple",className:"space-y-4",defaultValue:["ai-engine","detection"],children:[J.jsxs(O$,{value:"ai-engine",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(jn,{className:"h-5 w-5 text-primary"}),"AI/ML Engine"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Specification"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Detail"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Model Architecture"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"CNN, Transformer-based"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Inference Speed"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"50-100ms per frame"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Detection Accuracy"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"98%+ on trained classes"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Supported Formats"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"ONNX, TensorRT, PyTorch"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"GPU Acceleration"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"NVIDIA CUDA, Intel OpenVINO"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Edge Optimization"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Quantization, pruning, model distillation"})]})]})]})})})]}),J.jsxs(O$,{value:"detection",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(ZS,{className:"h-5 w-5 text-primary"}),"Detection Capabilities"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Capability"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Supported"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Object Detection"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Object Classification"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Image Segmentation"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"License Plate Recognition"}),J.jsxs("td",{className:"py-3 px-4 text-muted-foreground flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal"}),J.jsx("span",{children:"(98%+ accuracy)"})]})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Face Detection"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"OCR/Text Extraction"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Pose Estimation"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Anomaly Detection"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Custom Object Training"}),J.jsx("td",{className:"py-3 px-4",children:J.jsx(Rl,{className:"h-5 w-5 text-data-teal"})})]})]})]})})})]}),J.jsxs(O$,{value:"deployment",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(qk,{className:"h-5 w-5 text-primary"}),"Deployment Requirements"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Deployment"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Requirements"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Cloud"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Internet connectivity, API access"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"On-Premise"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Linux server, NVIDIA GPU recommended"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Edge"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"NVIDIA Jetson, Intel NUC, or equivalent"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Hybrid"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Mixed configuration supported"})]})]})]})})})]}),J.jsxs(O$,{value:"camera",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(co,{className:"h-5 w-5 text-primary"}),"Camera Compatibility"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Requirement"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Specification"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Protocol"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"ONVIF, RTSP"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Resolution"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"720p minimum, 1080p+ recommended"})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Frame Rate"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"15fps minimum, 30fps recommended"})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Vendors"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"Brand-agnostic (Axis, Hikvision, Dahua, etc.)"})]})]})]})})})]}),J.jsxs(O$,{value:"compliance",className:"border rounded-lg px-6",children:[J.jsx(D$,{className:"text-lg font-semibold hover:no-underline",children:J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(Gk,{className:"h-5 w-5 text-primary"}),"Compliance & Security"]})}),J.jsx(q$,{children:J.jsx("div",{className:"overflow-x-auto pt-4",children:J.jsxs("table",{className:"w-full text-sm",children:[J.jsx("thead",{children:J.jsxs("tr",{className:"border-b",children:[J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Framework"}),J.jsx("th",{className:"text-left py-3 px-4 font-semibold text-muted-foreground",children:"Support"})]})}),J.jsxs("tbody",{children:[J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"GDPR"}),J.jsxs("td",{className:"py-3 px-4 text-muted-foreground flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal shrink-0"}),J.jsx("span",{children:"Data minimization, right to erasure"})]})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"HIPAA"}),J.jsxs("td",{className:"py-3 px-4 text-muted-foreground flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal shrink-0"}),J.jsx("span",{children:"PHI protection, audit trails"})]})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"CCPA"}),J.jsxs("td",{className:"py-3 px-4 text-muted-foreground flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal shrink-0"}),J.jsx("span",{children:"Consumer data rights"})]})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"SOC 2 Type II"}),J.jsxs("td",{className:"py-3 px-4 text-muted-foreground flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal shrink-0"}),J.jsx("span",{children:"Security controls"})]})]}),J.jsxs("tr",{className:"border-b",children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"ISO 27001"}),J.jsxs("td",{className:"py-3 px-4 text-muted-foreground flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal shrink-0"}),J.jsx("span",{children:"Information security"})]})]}),J.jsxs("tr",{children:[J.jsx("td",{className:"py-3 px-4 font-medium",children:"Encryption"}),J.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:"TLS 1.3 (transit), AES-256 (rest)"})]})]})]})})})]})]}),J.jsx("div",{className:"mt-8 text-center",children:J.jsxs(oz,{variant:"outline",onClick:()=>n(!0),children:[J.jsx(ux,{className:"h-4 w-4 mr-2"}),"Download Full Technical Datasheet"]})})]})}),"vista"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Connects to Your Existing Infrastructure"}),J.jsx("p",{className:"text-lg text-muted-foreground text-left mb-12 max-w-3xl",children:"Computer vision creates value when it connects to operational systems. VISTA provides the integration capabilities enterprises require."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(co,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Camera Compatibility"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Works with any IP camera supporting ONVIF or RTSP. No proprietary hardware required—protect existing infrastructure investments."})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(oc,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"API Access"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"RESTful APIs provide programmatic access to all VISTA capabilities. SDKs available for Python, JavaScript, and .NET."})})]}),J.jsxs(aU,{className:"h-full md:col-span-2",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(_N,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Pre-Built Integrations"})]})}),J.jsx(oU,{children:J.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-5 gap-6",children:[J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"Access Control"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Lenel"}),J.jsx("li",{children:"• HID"}),J.jsx("li",{children:"• Genetec"})]})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"Video Management"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Milestone"}),J.jsx("li",{children:"• Genetec"}),J.jsx("li",{children:"• Avigilon"})]})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"Business Intelligence"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Tableau"}),J.jsx("li",{children:"• Power BI"})]})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"Alerting"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• PagerDuty"}),J.jsx("li",{children:"• Slack"}),J.jsx("li",{children:"• Microsoft Teams"})]})]}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs uppercase tracking-wide text-muted-foreground font-semibold mb-3",children:"Storage"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• AWS S3"}),J.jsx("li",{children:"• Azure Blob"}),J.jsx("li",{children:"• On-premise NAS"})]})]})]})})]}),J.jsxs(aU,{className:"h-full md:col-span-2",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(AP,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-xl",children:"Webhooks"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-muted-foreground",children:"Real-time events trigger webhooks to your systems—enabling automation workflows without polling or delays. Configure custom payloads and retry logic for mission-critical integrations."})})]})]})]})}),"ipam"===e&&J.jsx("section",{className:"py-16 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"Why Operations Teams Choose iPAM"}),J.jsx("p",{className:"text-lg text-muted-foreground text-center mb-12 max-w-3xl mx-auto",children:"iPAM delivers measurable outcomes that impact your bottom line—not feature lists that never get used."}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(CC,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-xl",children:"Reduce Administrative Overhead"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Replace manual permit processing, enforcement tracking, and revenue reconciliation with automated workflows. Your team handles exceptions, not routine tasks."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("span",{className:"text-2xl font-bold text-data-teal",children:"↓ 70%"}),J.jsx("span",{className:"text-sm text-muted-foreground ml-2",children:"reduction in permit management time"})]})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(jf,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-xl",children:"Optimize Space Utilization"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Real-time occupancy data and predictive analytics help you maximize every parking space. Dynamic pricing adjusts to demand automatically."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("span",{className:"text-2xl font-bold text-data-teal",children:"↑ 15-30%"}),J.jsx("span",{className:"text-sm text-muted-foreground ml-2",children:"improvement in space utilization"})]})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(GI,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-xl",children:"Improve Stakeholder Experience"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Employees, tenants, visitors, and patients find parking faster with mobile apps, real-time availability, and digital payments. Fewer complaints, higher satisfaction."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("span",{className:"text-2xl font-bold text-data-teal",children:"↓ 40%"}),J.jsx("span",{className:"text-sm text-muted-foreground ml-2",children:"reduction in parking-related complaints"})]})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(VP,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-xl",children:"Deploy Without IT Burden"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"No-code configuration lets you set up permits, rules, and workflows without developer involvement. Click, customize, deploy."}),J.jsxs("div",{className:"pt-4 border-t border-border",children:[J.jsx("span",{className:"text-2xl font-bold text-data-teal",children:"< 2 weeks"}),J.jsx("span",{className:"text-sm text-muted-foreground ml-2",children:"typical implementation time"})]})]})]})]})]})}),"ipam"===e&&J.jsx("section",{className:"py-16 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"Platform Capabilities"}),J.jsx("p",{className:"text-lg text-muted-foreground text-center mb-12 max-w-3xl mx-auto",children:"Enterprise-grade parking management designed for commercial operations."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:[J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(bo,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"AI-Driven Parking Management"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Intelligent space monitoring with real-time occupancy tracking and predictive analytics."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic border-t border-border pt-4",children:"Deployed at corporate campuses and commercial properties where parking directly impacts operations."})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(eI,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Instant Violation Detection"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Automated enforcement with LPR scanning and configurable time-based rules."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic border-t border-border pt-4",children:"Reduce enforcement labor costs while improving compliance rates across your portfolio."})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(ux,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Citation & Dispute Management"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Digital citations, evidence packaging, and streamlined resolution workflows."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic border-t border-border pt-4",children:"Integrate with your existing payment and accounting systems for streamlined reconciliation."})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Xk,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Enterprise Security & Compliance"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"SOC 2 aligned architecture, PCI DSS compliant payments, and enterprise-grade security."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic border-t border-border pt-4",children:"SOC 2 compliant data handling. Enterprise-grade security without specialized infrastructure."})]})]}),J.jsxs(aU,{className:"relative overflow-hidden",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(zk,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Dynamic Pricing & Rule Management"})]})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Time-based and demand-based pricing rules engine with flexible configuration."}),J.jsx("p",{className:"text-sm text-muted-foreground/70 italic border-t border-border pt-4",children:"Adapts to your property's operational requirements."})]})]})]})]})}),J.jsx("section",{className:"py-16 px-6 bg-surface/30",children:J.jsx("div",{className:"container mx-auto",children:"ipam"===e?J.jsxs(J.Fragment,{children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"Measurable Impact"}),J.jsx("p",{className:"text-lg text-muted-foreground text-center mb-12 max-w-3xl mx-auto",children:"Organizations using iPAM report consistent improvements across operational and financial metrics."}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-6 max-w-6xl mx-auto",children:[J.jsxs(aU,{className:"text-center",children:[J.jsx(rU,{className:"pb-2",children:J.jsx("p",{className:"text-4xl font-bold text-primary",children:"↓ 70%"})}),J.jsxs(oU,{children:[J.jsx("p",{className:"font-semibold text-foreground mb-2",children:"Reduction in Permit Administration Time"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Automated workflows replace manual processing"})]})]}),J.jsxs(aU,{className:"text-center",children:[J.jsx(rU,{className:"pb-2",children:J.jsx("p",{className:"text-4xl font-bold text-primary",children:"↑ 15-30%"})}),J.jsxs(oU,{children:[J.jsx("p",{className:"font-semibold text-foreground mb-2",children:"Increase in Parking Revenue"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Dynamic pricing and improved enforcement"})]})]}),J.jsxs(aU,{className:"text-center",children:[J.jsx(rU,{className:"pb-2",children:J.jsx("p",{className:"text-4xl font-bold text-primary",children:"↑ 27%"})}),J.jsxs(oU,{children:[J.jsx("p",{className:"font-semibold text-foreground mb-2",children:"Improvement in Space Availability"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Real-time data enables better allocation"}),J.jsx("p",{className:"text-xs text-muted-foreground/70 mt-2 italic",children:"Based on industry case study results"})]})]}),J.jsxs(aU,{className:"text-center",children:[J.jsx(rU,{className:"pb-2",children:J.jsx("p",{className:"text-4xl font-bold text-primary",children:"↓ 40%"})}),J.jsxs(oU,{children:[J.jsx("p",{className:"font-semibold text-foreground mb-2",children:"Reduction in Parking Complaints"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Digital tools create frictionless experience"})]})]})]})]}):J.jsxs(J.Fragment,{children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"Measured Outcomes"}),J.jsx("div",{className:"grid md:grid-cols-3 gap-6 max-w-5xl mx-auto",children:s.outcomes.map((e,t)=>J.jsxs(aU,{className:"text-center",children:[J.jsx(rU,{children:J.jsx(iU,{className:"text-lg",children:e.metric})}),J.jsx(oU,{children:J.jsx("p",{className:"text-3xl font-bold text-data-teal",children:e.range})})]},t))})]})})}),J.jsx("section",{className:"py-16 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"Capabilities"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:s.capabilities.map((e,t)=>J.jsxs("div",{className:"flex gap-3 items-start",children:[J.jsx(Rl,{className:"h-6 w-6 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("p",{className:"text-muted-foreground",children:e})]},t))})]})}),"ipam"===e?J.jsx("section",{className:"py-16 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"How iPAM Works"}),J.jsx("p",{className:"text-lg text-muted-foreground text-center mb-12 max-w-3xl mx-auto",children:"End-to-end parking management in one connected platform"}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6 gap-4",children:[J.jsxs("div",{className:"relative group",children:[J.jsx(aU,{className:"h-full hover:shadow-lg transition-shadow",children:J.jsxs(oU,{className:"pt-6 text-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(TM,{className:"h-6 w-6 text-primary"})}),J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-bold px-2 py-1 rounded-full",children:"1"}),J.jsx("h3",{className:"font-semibold mb-2",children:"Users Register & Pay"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Employees, tenants, or visitors register through the web portal or mobile app. Apply for permits, make payments, and find available parking."})]})}),J.jsx("div",{className:"hidden xl:flex absolute top-1/2 -right-2 -translate-y-1/2 z-10",children:J.jsx(ol,{className:"h-5 w-5 text-muted-foreground"})})]}),J.jsxs("div",{className:"relative group",children:[J.jsx(aU,{className:"h-full hover:shadow-lg transition-shadow",children:J.jsxs(oU,{className:"pt-6 text-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(Nr,{className:"h-6 w-6 text-primary"})}),J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-bold px-2 py-1 rounded-full",children:"2"}),J.jsx("h3",{className:"font-semibold mb-2",children:"Permits Issued Automatically"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Digital permits are issued based on your rules—by department, tenure, vehicle type, or time period. No paper permits, no manual processing."})]})}),J.jsx("div",{className:"hidden xl:flex absolute top-1/2 -right-2 -translate-y-1/2 z-10",children:J.jsx(ol,{className:"h-5 w-5 text-muted-foreground"})})]}),J.jsxs("div",{className:"relative group",children:[J.jsx(aU,{className:"h-full hover:shadow-lg transition-shadow",children:J.jsxs(oU,{className:"pt-6 text-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(dk,{className:"h-6 w-6 text-primary"})}),J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-bold px-2 py-1 rounded-full",children:"3"}),J.jsx("h3",{className:"font-semibold mb-2",children:"Vehicles Verified Automatically"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"LPR cameras scan vehicles at entry points and throughout your lots. Valid permits pass through; violations are flagged instantly."})]})}),J.jsx("div",{className:"hidden xl:flex absolute top-1/2 -right-2 -translate-y-1/2 z-10",children:J.jsx(ol,{className:"h-5 w-5 text-muted-foreground"})})]}),J.jsxs("div",{className:"relative group",children:[J.jsx(aU,{className:"h-full hover:shadow-lg transition-shadow",children:J.jsxs(oU,{className:"pt-6 text-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(eI,{className:"h-6 w-6 text-primary"})}),J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-bold px-2 py-1 rounded-full",children:"4"}),J.jsx("h3",{className:"font-semibold mb-2",children:"Violations Detected & Documented"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Unpermitted vehicles, expired permits, and rule violations are automatically detected with photo evidence, timestamp, and location data."})]})}),J.jsx("div",{className:"hidden xl:flex absolute top-1/2 -right-2 -translate-y-1/2 z-10",children:J.jsx(ol,{className:"h-5 w-5 text-muted-foreground"})})]}),J.jsxs("div",{className:"relative group",children:[J.jsx(aU,{className:"h-full hover:shadow-lg transition-shadow",children:J.jsxs(oU,{className:"pt-6 text-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(ux,{className:"h-6 w-6 text-primary"})}),J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-bold px-2 py-1 rounded-full",children:"5"}),J.jsx("h3",{className:"font-semibold mb-2",children:"Citations Issued & Managed"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"Enforcement officers receive mobile alerts to validate and issue citations. Violators can dispute through the portal with full audit trail."})]})}),J.jsx("div",{className:"hidden xl:flex absolute top-1/2 -right-2 -translate-y-1/2 z-10",children:J.jsx(ol,{className:"h-5 w-5 text-muted-foreground"})})]}),J.jsx("div",{className:"relative group",children:J.jsx(aU,{className:"h-full hover:shadow-lg transition-shadow",children:J.jsxs(oU,{className:"pt-6 text-center",children:[J.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(Wo,{className:"h-6 w-6 text-primary"})}),J.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-bold px-2 py-1 rounded-full",children:"6"}),J.jsx("h3",{className:"font-semibold mb-2",children:"Revenue & Insights Flow"}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"All transactions, citations, and occupancy data feed into your analytics dashboard and integrate with your finance systems for reconciliation."})]})})})]}),J.jsxs("div",{className:"mt-16",children:[J.jsx("h3",{className:"text-2xl font-semibold text-center mb-8",children:"Typical Implementation Timeline"}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-4",children:[J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 1-2"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Discovery, integration planning, and acceptance criteria definition"})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 3-4"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Infrastructure setup, API integration, and pilot deployment"})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 5-6"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"User training, validation testing, and workflow optimization"})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 7+"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Production rollout, monitoring, and continuous optimization"})})]})]})]})]})}):"vista"!==e&&"sentra"!==e&&"neurosight"!==e?J.jsx("section",{className:"py-16 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"How It Works"}),J.jsx(aU,{className:"mb-8",children:J.jsx(oU,{className:"pt-6",children:J.jsx("p",{className:"text-lg text-center font-mono text-muted-foreground",children:s.howItWorks})})}),J.jsxs("div",{className:"mt-12",children:[J.jsx("h3",{className:"text-2xl font-semibold text-center mb-8",children:"Typical Implementation Timeline"}),J.jsxs("div",{className:"grid md:grid-cols-4 gap-4",children:[J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 1-2"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Discovery, integration planning, and acceptance criteria definition"})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 3-4"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Infrastructure setup, API integration, and pilot deployment"})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 5-6"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"User training, validation testing, and workflow optimization"})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Ld,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{className:"text-sm",children:"Week 7+"})]})}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Production rollout, monitoring, and continuous optimization"})})]})]})]})]})}):null,J.jsx("section",{className:"py-16 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"Deployments & Integrations"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:s.deployments.map((e,t)=>J.jsxs("div",{className:"flex gap-3 items-start",children:[J.jsx(Ka,{className:"h-5 w-5 text-data-orange flex-shrink-0 mt-0.5"}),J.jsx("p",{className:"text-muted-foreground",children:e})]},t))})]})}),J.jsx("section",{className:"py-16 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-4xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"Security & Compliance"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-6",children:s.security.map((e,t)=>J.jsxs("div",{className:"flex gap-3 items-start",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal flex-shrink-0 mt-0.5"}),J.jsx("p",{className:"text-muted-foreground",children:e})]},t))}),J.jsx("div",{className:"text-center",children:J.jsxs("p",{className:"text-sm text-muted-foreground mb-2",children:["Need vendor documentation or security artifacts?"," ",J.jsx(tt,{to:"/trust#security",className:"text-data-teal hover:text-data-orange underline transition-colors",onClick:()=>{},children:"Visit Trust Center →"})]})})]})}),s.caseStudies.length>0&&J.jsx("section",{className:"py-16 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"Case Studies"}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:s.caseStudies.map(e=>J.jsxs(aU,{className:"hover:shadow-lg transition-shadow",children:[J.jsx(rU,{children:J.jsx(iU,{className:"text-lg",children:e.title})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:e.summary}),J.jsx(oz,{variant:"link",className:"p-0 h-auto",asChild:!0,children:J.jsxs(tt,{to:`/customers/${e.slug}`,className:"inline-flex items-center gap-2",children:["Read case study ",J.jsx(ch,{className:"h-4 w-4"})]})})]})]},e.slug))})]})}),J.jsx("section",{className:"py-16 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"ipam"===e?"Built for Commercial Operations":"Industry-Specific Applications"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:["vista"===e&&J.jsxs(J.Fragment,{children:[J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Aviation & Airports"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Airside perimeter security and breach detection"}),J.jsx("li",{children:"• Rental car facility monitoring and access control"}),J.jsx("li",{children:"• Parking structure surveillance and enforcement"}),J.jsx("li",{children:"• Ground transportation zone monitoring"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Logistics & Distribution"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Loading dock monitoring and security"}),J.jsx("li",{children:"• Distribution center access control"}),J.jsx("li",{children:"• Fleet vehicle tracking and management"}),J.jsx("li",{children:"• Chain-of-custody for high-value shipments"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Xk,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Healthcare & Compliance"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• HIPAA-compliant video redaction"}),J.jsx("li",{children:"• Patient privacy protection in facility footage"}),J.jsx("li",{children:"• Secure access control for medical facilities"}),J.jsx("li",{children:"• Audit trails for compliance documentation"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Enterprise & Corporate"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Corporate campus security and access control"}),J.jsx("li",{children:"• Employee parking enforcement and management"}),J.jsx("li",{children:"• Visitor vehicle tracking and authorization"}),J.jsx("li",{children:"• Compliance and incident documentation"})]})})]})]}),"sentra"===e&&J.jsxs(J.Fragment,{children:[J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(aM,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"Retail & Shopping Centers"})]})}),J.jsxs(oU,{className:"flex-1",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Parking lot congestion frustrates shoppers, while lack of traffic data prevents correlation with sales performance."]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Solution:"})," Real-time occupancy monitoring, customer arrival pattern analysis, and conversion rate correlation with foot traffic data."]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(bP,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"Logistics & Warehousing"})]})}),J.jsxs(oU,{className:"flex-1",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Manual gate counting is error-prone, and dock utilization is tracked on spreadsheets."]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Solution:"})," Automated gate entry/exit counting, truck arrival tracking, loading dock utilization monitoring, and fleet movement analytics."]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"Commercial Real Estate"})]})}),J.jsxs(oU,{className:"flex-1",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Property traffic data is manually collected, making leasing decisions based on incomplete information."]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Solution:"})," Traffic analytics for leasing negotiations, tenant mix optimization, occupancy trending, and site selection validation."]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(On,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"Corporate Campuses"})]})}),J.jsxs(oU,{className:"flex-1",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Hybrid work makes parking demand unpredictable, and shuttle routes are based on assumptions."]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Solution:"})," Employee parking management, visitor traffic patterns, peak hour analysis, and shuttle route optimization."]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(ph,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"Industrial Facilities"})]})}),J.jsxs(oU,{className:"flex-1",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Gate access monitoring is manual, and shift change traffic creates safety and congestion issues."]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Solution:"})," Gate access monitoring, contractor vehicle counting, safety zone detection, and shift change traffic management."]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(yg,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"Hospitality & Entertainment"})]})}),J.jsxs(oU,{className:"flex-1",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Event traffic overwhelms parking capacity, and guest arrival patterns are unpredictable."]}),J.jsxs("p",{className:"text-sm text-muted-foreground",children:[J.jsx("strong",{children:"Solution:"})," Event traffic management, parking capacity monitoring, valet optimization, and guest arrival pattern analysis."]})]})]})]}),"ipam"===e&&J.jsxs(J.Fragment,{children:[J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"For Corporate Campuses"})]})}),J.jsxs(oU,{className:"flex-1 flex flex-col",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Limited parking creates employee frustration, affects productivity, and complicates visitor management."]}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:[J.jsx("strong",{children:"Solution:"})," Digital permits integrated with HR systems, automated visitor pre-registration, and utilization analytics that inform real estate decisions. Flexible parking policies support hybrid work models."]}),J.jsxs("div",{className:"mt-auto",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Key Features"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• HR system integration for automatic permit provisioning"}),J.jsx("li",{children:"• Visitor pre-registration with mobile credentials"}),J.jsx("li",{children:"• Occupancy analytics for facilities planning"})]})]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"For Retail & Shopping Centers"})]})}),J.jsxs(oU,{className:"flex-1 flex flex-col",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Peak-hour congestion frustrates shoppers, tenant validation is manual, and revenue optimization is guesswork."]}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:[J.jsx("strong",{children:"Solution:"})," Dynamic pricing during high-demand periods, automated tenant validation programs, and revenue analytics by zone. Turn parking from a cost center into a competitive advantage."]}),J.jsxs("div",{className:"mt-auto",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Key Features"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Dynamic pricing based on demand"}),J.jsx("li",{children:"• Automated tenant validation"}),J.jsx("li",{children:"• Zone-based revenue reporting"})]})]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"For Healthcare Facilities"})]})}),J.jsxs(oU,{className:"flex-1 flex flex-col",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Patient stress compounds when parking is difficult. Multi-user management (patients, staff, visitors, vendors) is complex. Emergency access is critical."]}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:[J.jsx("strong",{children:"Solution:"})," Dedicated zones for emergency vehicles and shift changes, patient validation workflows, and wayfinding integration. Parking becomes part of the care experience."]}),J.jsxs("div",{className:"mt-auto",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Key Features"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Emergency vehicle lane management"}),J.jsx("li",{children:"• Patient validation workflows"}),J.jsx("li",{children:"• Wayfinding integration"})]})]})]})]}),J.jsxs(aU,{className:"flex flex-col",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{children:"For Mixed-Use Properties"})]})}),J.jsxs(oU,{className:"flex-1 flex flex-col",children:[J.jsxs("p",{className:"text-sm text-muted-foreground italic mb-3",children:[J.jsx("strong",{children:"Challenge:"})," Residential, commercial, and visitor parking require different rules, pricing, and enforcement—all in one property."]}),J.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:[J.jsx("strong",{children:"Solution:"})," Unified management with differentiated policies per user type, time-of-day rules, and consolidated reporting. One dashboard for complex properties."]}),J.jsxs("div",{className:"mt-auto",children:[J.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide mb-2",children:"Key Features"}),J.jsxs("ul",{className:"space-y-1 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• User-type differentiated policies"}),J.jsx("li",{children:"• Time-based rule automation"}),J.jsx("li",{children:"• Consolidated multi-use reporting"})]})]})]})]})]}),"neurosight"===e&&J.jsxs(J.Fragment,{children:[J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Aviation & Airports"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Terminal security and checkpoint threat detection"}),J.jsx("li",{children:"• Baggage claim area monitoring for public safety"}),J.jsx("li",{children:"• Parking structure and ground transportation surveillance"}),J.jsx("li",{children:"• Integration with airport emergency response systems"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Xk,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Retail & Loss Prevention"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Storefront and entrance threat detection"}),J.jsx("li",{children:"• Loss prevention integration with behavior analytics"}),J.jsx("li",{children:"• Customer safety alerts and emergency protocols"}),J.jsx("li",{children:"• Multi-location monitoring with centralized dashboards"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Corporate & Manufacturing"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Facility entrance and lobby threat detection"}),J.jsx("li",{children:"• Sensitive area protection and access control integration"}),J.jsx("li",{children:"• Workplace violence prevention programs"}),J.jsx("li",{children:"• Executive protection and VIP area monitoring"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-data-teal"}),J.jsx(iU,{children:"Higher Education"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Campus building entrances and common areas"}),J.jsx("li",{children:"• Event and stadium security monitoring"}),J.jsx("li",{children:"• Dormitory and residence hall safety systems"}),J.jsx("li",{children:"• Integration with campus emergency notification"})]})})]})]})]})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Enterprise-Grade Security"}),J.jsx("p",{className:"text-lg text-muted-foreground text-left mb-12 max-w-3xl",children:"SENTRA is built for enterprise deployment with the security controls and compliance certifications your organization requires."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:[J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(Xk,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Data Privacy"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• GDPR & CCPA compliant architecture"}),J.jsx("li",{children:"• On-premise processing options"}),J.jsx("li",{children:"• Data residency controls"}),J.jsx("li",{children:"• Automatic data retention policies"})]})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(hy,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Infrastructure"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• SOC 2 Type II aligned"}),J.jsx("li",{children:"• TLS 1.3 encryption in transit"}),J.jsx("li",{children:"• AES-256 encryption at rest"}),J.jsx("li",{children:"• Isolated tenant environments"})]})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:J.jsx(GI,{className:"h-6 w-6 text-primary"})}),J.jsx(iU,{className:"text-lg",children:"Access Control"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• RBAC with granular permissions"}),J.jsx("li",{children:"• SSO/SAML integration"}),J.jsx("li",{children:"• Multi-factor authentication"}),J.jsx("li",{children:"• API key management"})]})})]}),J.jsxs(aU,{className:"h-full",children:[J.jsx(rU,{children:J.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[J.jsx("div",{className:"p-2 rounded-lg bg-data-teal/10",children:J.jsx(Ns,{className:"h-6 w-6 text-data-teal"})}),J.jsx(iU,{className:"text-lg",children:"Audit Trail"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Complete activity logging"}),J.jsx("li",{children:"• Immutable audit records"}),J.jsx("li",{children:"• Exportable compliance reports"}),J.jsx("li",{children:"• Real-time anomaly detection"})]})})]})]})]})}),"sentra"===e&&J.jsx("section",{className:"py-20 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-left mb-4",children:"Measurable Impact"}),J.jsx("p",{className:"text-lg text-muted-foreground text-left mb-12 max-w-3xl",children:"SENTRA delivers quantifiable value across operational efficiency, cost reduction, and strategic insights."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6 mb-16",children:[J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(ZC,{className:"h-8 w-8 text-primary"})}),J.jsx("div",{className:"text-4xl font-bold text-primary mb-2",children:"20-40%"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"Cloud Cost Reduction"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Edge processing eliminates expensive cloud egress and compute costs for video analytics."})]})}),J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(ZS,{className:"h-8 w-8 text-data-teal"})}),J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"95%+"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"Counting Accuracy"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Deep learning models achieve consistent accuracy across weather and lighting conditions."})]})}),J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center mx-auto mb-4",children:J.jsx($P,{className:"h-8 w-8 text-primary"})}),J.jsx("div",{className:"text-4xl font-bold text-primary mb-2",children:"<100ms"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"Processing Latency"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Real-time detection enables immediate incident response and live occupancy updates."})]})}),J.jsx(aU,{className:"text-center h-full",children:J.jsxs(oU,{className:"pt-8",children:[J.jsx("div",{className:"w-16 h-16 rounded-2xl bg-data-teal/10 flex items-center justify-center mx-auto mb-4",children:J.jsx(Rm,{className:"h-8 w-8 text-data-teal"})}),J.jsx("div",{className:"text-4xl font-bold text-data-teal mb-2",children:"5-10x"}),J.jsx("p",{className:"text-sm font-semibold mb-2",children:"ROI in Year One"}),J.jsx("p",{className:"text-xs text-muted-foreground",children:"Labor savings, operational efficiency, and strategic insights compound quickly."})]})})]}),J.jsx("div",{className:"bg-muted/30 rounded-lg p-6 border border-border",children:J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx(Wo,{className:"h-6 w-6 text-data-teal shrink-0 mt-1"}),J.jsxs("div",{children:[J.jsx("p",{className:"font-semibold mb-2",children:"Build a Business Case"}),J.jsx("p",{className:"text-muted-foreground text-sm mb-4",children:"Quantify the value of traffic intelligence for your specific operation. Our ROI calculator helps you model savings from manual counting elimination, cloud cost reduction, and operational efficiency gains."}),J.jsxs(oz,{variant:"outline",size:"sm",onClick:l,children:[J.jsx(Wo,{className:"h-4 w-4 mr-2"}),"Calculate Your ROI"]})]})]})})]})}),"ipam"===e&&J.jsx("section",{className:"py-16 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-6xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"Enterprise Integration"}),J.jsx("p",{className:"text-lg text-muted-foreground text-center mb-12 max-w-3xl mx-auto",children:"iPAM integrates with your existing operational systems—no rip-and-replace required."}),J.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6 mb-16",children:[J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(hy,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{className:"text-base",children:"Access Control & Security"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Building management systems"}),J.jsx("li",{children:"• Credential providers (HID, SALTO)"}),J.jsx("li",{children:"• Video management systems"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(GI,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{className:"text-base",children:"HR & Employee Systems"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Automated permit provisioning from HRIS"}),J.jsx("li",{children:"• Org-based parking allocation"}),J.jsx("li",{children:"• Termination workflows"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Yc,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{className:"text-base",children:"Payment & Finance"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Credit card processing (PCI DSS compliant)"}),J.jsx("li",{children:"• Invoice and billing systems"}),J.jsx("li",{children:"• Revenue reconciliation"})]})})]}),J.jsxs(aU,{children:[J.jsx(rU,{className:"pb-3",children:J.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[J.jsx(Rn,{className:"h-5 w-5 text-primary"}),J.jsx(iU,{className:"text-base",children:"Property Management"})]})}),J.jsx(oU,{children:J.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[J.jsx("li",{children:"• Tenant management platforms"}),J.jsx("li",{children:"• Visitor management systems"}),J.jsx("li",{children:"• Wayfinding and signage"})]})})]})]}),J.jsx("h3",{className:"text-2xl font-semibold text-center mb-8",children:"Deployment Options"}),J.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-16",children:[J.jsxs(aU,{className:"text-center",children:[J.jsxs(rU,{children:[J.jsx(qk,{className:"h-10 w-10 text-primary mx-auto mb-2"}),J.jsx(iU,{children:"On-Premise"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Full control, data stays on your infrastructure. Ideal for organizations with strict data residency requirements."})})]}),J.jsxs(aU,{className:"text-center",children:[J.jsxs(rU,{children:[J.jsx(sc,{className:"h-10 w-10 text-primary mx-auto mb-2"}),J.jsx(iU,{children:"Cloud"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Managed infrastructure, automatic updates, elastic scaling. SOC 2 Type II certified."})})]}),J.jsxs(aU,{className:"text-center",children:[J.jsxs(rU,{children:[J.jsx(Wd,{className:"h-10 w-10 text-primary mx-auto mb-2"}),J.jsx(iU,{children:"Hybrid"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Core processing on-premise with cloud-based analytics and mobile apps. Best of both worlds."})})]})]}),J.jsx(aU,{className:"bg-muted/30 border-dashed",children:J.jsx(oU,{className:"py-8",children:J.jsxs("div",{className:"text-center max-w-2xl mx-auto",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4",children:"API-First Architecture"}),J.jsx("p",{className:"text-muted-foreground mb-6",children:"REST APIs for custom integrations. Webhooks for real-time event notifications. SDKs for mobile development."}),J.jsx(oz,{variant:"outline",size:"sm",onClick:()=>n(!0),children:"View API Documentation"})]})})})]})}),J.jsx("section",{className:"py-16 px-6 bg-surface/30",children:J.jsxs("div",{className:"container mx-auto max-w-3xl",children:[J.jsxs("div",{className:"flex items-center justify-between mb-12",children:[J.jsx("h2",{className:"text-3xl font-bold",children:"Frequently Asked Questions"}),J.jsxs("span",{className:"text-sm text-muted-foreground",children:["Last updated: ",new Date(s.faqLastUpdated).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})]})]}),J.jsx(R$,{type:"single",collapsible:!0,className:"w-full",children:s.faqs.map((e,t)=>{const s=((e,t)=>{const s=(e+" "+t).toLowerCase();return s.includes("accuracy")||s.includes("precision")||s.includes("drift")?{text:"how we validate accuracy",anchor:"formulas"}:s.includes("security")||s.includes("cve")||s.includes("vulnerability")?{text:"our security acceptance criteria",anchor:"acceptance"}:s.includes("latency")||s.includes("performance")||s.includes("p95")?{text:"how we measure latency",anchor:"formulas"}:s.includes("retention")||s.includes("audit")||s.includes("evidence")?{text:"evidence we export",anchor:"evidence"}:s.includes("instrumentation")||s.includes("monitoring")||s.includes("metrics")?{text:"our instrumentation approach",anchor:"instrumentation"}:null})(e.question,e.answer);return J.jsxs(O$,{value:`item-${t}`,children:[J.jsx(D$,{onClick:()=>{e.question.toLowerCase().replace(/[^a-z0-9]+/g,"-")},children:e.question}),J.jsxs(q$,{className:"text-muted-foreground",children:[e.answer,s&&J.jsxs(J.Fragment,{children:[" ",J.jsxs(tt,{to:`/how-we-measure#${s.anchor}`,className:"text-data-teal hover:text-data-orange underline transition-colors",onClick:()=>{s.anchor},children:["Learn more about ",s.text," →"]})]})]})]},t)})}),J.jsx("div",{className:"mt-6 text-center",children:J.jsxs("p",{className:"text-sm text-muted-foreground mb-2",children:["Learn more about"," ",J.jsx(tt,{to:"/how-we-measure",className:"text-data-teal hover:underline",children:"how we measure and validate outcomes"})]})})]})}),J.jsx("section",{className:"py-16 px-6",children:J.jsxs("div",{className:"container mx-auto max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"Related Solutions"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs(aU,{className:"hover:shadow-lg transition-shadow",children:[J.jsx(rU,{children:J.jsx(iU,{children:"Computer Vision FastTrack"})}),J.jsxs(oU,{children:[J.jsxs("p",{className:"text-muted-foreground mb-4",children:["Get ",s.title," deployed in weeks with our FastTrack service—includes KPI validation, integration, and operator training."]}),J.jsx(oz,{variant:"link",className:"p-0 h-auto",asChild:!0,children:J.jsxs(tt,{to:"/services/computer-vision-fasttrack",className:"inline-flex items-center gap-2",children:["Learn about FastTrack ",J.jsx(Ka,{className:"h-4 w-4"})]})})]})]}),J.jsxs(aU,{className:"hover:shadow-lg transition-shadow",children:[J.jsx(rU,{children:J.jsx(iU,{children:"Outcomes Calculator"})}),J.jsxs(oU,{children:[J.jsx("p",{className:"text-muted-foreground mb-4",children:"Model your specific use case with our outcomes calculator to estimate ROI, timeline, and KPI improvements."}),J.jsx(oz,{variant:"link",className:"p-0 h-auto",asChild:!0,children:J.jsxs(tt,{to:"/outcomes",className:"inline-flex items-center gap-2",children:["Calculate your outcomes ",J.jsx(Ka,{className:"h-4 w-4"})]})})]})]})]})]})}),J.jsx("section",{className:"py-20 px-6",children:J.jsx("div",{className:"container mx-auto max-w-3xl text-center",children:"vista"===e?J.jsxs(J.Fragment,{children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:"See VISTA in Action"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-10 max-w-2xl mx-auto",children:"Whether you're exploring computer vision for the first time or looking to consolidate point solutions into a unified platform, VISTA adapts to your requirements. Schedule a platform demonstration to see VISTA's capabilities with your use cases—and discuss deployment options that match your infrastructure and compliance requirements."}),J.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-10",children:[J.jsx(oz,{size:"lg",onClick:o,className:"min-h-[48px] px-8 text-base",children:"Schedule Platform Demo"}),J.jsx(oz,{size:"lg",variant:"outline",onClick:()=>n(!0),className:"min-h-[48px] px-8 text-base",children:"Download Technical Datasheet"})]}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsxs(hU,{variant:"secondary",className:"px-4 py-2 text-sm",children:[J.jsx(Gk,{className:"h-4 w-4 mr-2"}),"GDPR Compliant"]}),J.jsxs(hU,{variant:"secondary",className:"px-4 py-2 text-sm",children:[J.jsx(cg,{className:"h-4 w-4 mr-2"}),"HIPAA Ready"]}),J.jsxs(hU,{variant:"secondary",className:"px-4 py-2 text-sm",children:[J.jsx(Xk,{className:"h-4 w-4 mr-2"}),"SOC 2 Certified"]}),J.jsxs(hU,{variant:"secondary",className:"px-4 py-2 text-sm",children:[J.jsx(qk,{className:"h-4 w-4 mr-2"}),"On-Premise Available"]})]})]}):"ipam"===e?J.jsxs(J.Fragment,{children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:"Modernize Your Parking Operations"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-10",children:"See how iPAM can streamline parking management for your corporate campus, retail center, healthcare facility, or commercial property."}),J.jsxs("div",{className:"flex flex-col md:flex-row gap-8 justify-center items-center md:items-start",children:[J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx(oz,{size:"lg",onClick:o,className:"min-h-[44px]",children:"Request Demo"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"30-minute walkthrough tailored to your industry"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsx(oz,{size:"lg",variant:"outline",onClick:()=>n(!0),className:"min-h-[44px]",children:"Download Datasheet"}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Technical specs and integration options"})]}),J.jsxs("div",{className:"flex flex-col items-center",children:[J.jsxs(tt,{to:"/outcomes",className:"text-primary hover:text-primary/80 font-medium inline-flex items-center gap-1 min-h-[44px] items-center",onClick:l,children:["Calculate ROI ",J.jsx(Ka,{className:"h-4 w-4"})]}),J.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Estimate your potential savings"})]})]})]}):J.jsxs(J.Fragment,{children:[J.jsxs("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:["Ready to see ",s.title," in action?"]}),J.jsxs("p",{className:"text-xl text-muted-foreground mb-8",children:["Schedule a demo to see how ",s.title," can deliver measurable outcomes for your organization."]}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsx(oz,{size:"lg",onClick:o,className:"min-h-[44px]",children:"Request Demo"}),J.jsx(oz,{size:"lg",variant:"outline",onClick:l,className:"min-h-[44px]",children:"Calculate Your ROI"})]}),J.jsxs("p",{className:"mt-6 text-sm text-muted-foreground",children:["Procurement team?"," ",J.jsx("a",{href:"/trust",className:"underline hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded",onClick:()=>{},children:"Visit Trust Center →"})]})]})})})]}),J.jsx(KU,{}),J.jsx(BG,{open:a,onOpenChange:r,defaultIntent:"demo",context:{sourcePage:`/products/${e}`,sourceButton:"product_demo_cta",productContext:e}}),J.jsx(FK,{open:i,onOpenChange:n,solutionName:s.title,solutionSlug:e||""})]})]})}const cJ=kF({name:vF().min(2,"Name must be at least 2 characters").max(100),email:vF().email("Please enter a valid business email").max(255),company:vF().min(2,"Company name is required").max(200),phone:vF().max(50).optional(),message:vF().max(1e3).optional()}),mJ={vendor_packet:"Vendor Packet",security_packet:"Security & Compliance Packet",duns:"D-U-N-S Number",ein:"EIN (TIN)",sam_uei:"SAM UEI",cage_code:"CAGE Code",texas_sos:"Texas SOS Registration"};function hJ({open:e,onOpenChange:t,requestType:s}){const{toast:a}=kt(),[r,i]=Qe.useState(!1),[n,o]=Qe.useState(!1),{register:l,handleSubmit:d,reset:c,formState:{errors:m}}=D_({resolver:V_(cJ)}),h=()=>{t(!1),setTimeout(()=>{c(),o(!1)},300)};return n?J.jsx(IF,{open:e,onOpenChange:h,children:J.jsx(OF,{className:"sm:max-w-md",children:J.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[J.jsx("div",{className:"rounded-full bg-green-100 p-3 mb-4",children:J.jsx(Rl,{className:"h-8 w-8 text-green-600"})}),J.jsx(qF,{className:"text-xl mb-2",children:"Request Received"}),J.jsxs(EF,{children:["We have received your request for ",mJ[s],". Our team will review it and respond within 1 business day."]})]})})}):J.jsx(IF,{open:e,onOpenChange:h,children:J.jsxs(OF,{className:"sm:max-w-lg",children:[J.jsxs(DF,{children:[J.jsxs(qF,{className:"text-xl",children:["Request ",mJ[s]]}),J.jsx(EF,{children:"Fill out the form below and we'll send the requested documentation to your email within 1 business day."})]}),J.jsxs("form",{onSubmit:d(async e=>{i(!0);try{const{error:t}=await qG.functions.invoke("request-packet",{body:{...e,requestType:s,requestLabel:mJ[s]}});if(t)throw t;o(!0),a({title:"Request received",description:`We have received your request for ${mJ[s]}.`}),setTimeout(()=>{h()},2e3)}catch(t){a({title:"Request failed",description:"Please try again or email procurement@allerin.com directly.",variant:"destructive"})}finally{i(!1)}}),className:"space-y-4 mt-4",children:[J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsxs(HF,{htmlFor:"name",children:["Full Name ",J.jsx("span",{className:"text-destructive",children:"*"})]}),J.jsx(zF,{id:"name",placeholder:"Jane Smith",...l("name"),className:m.name?"border-destructive":""}),m.name&&J.jsx("p",{className:"text-sm text-destructive",children:m.name.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsxs(HF,{htmlFor:"email",children:["Business Email ",J.jsx("span",{className:"text-destructive",children:"*"})]}),J.jsx(zF,{id:"email",type:"email",placeholder:"jane@company.com",...l("email"),className:m.email?"border-destructive":""}),m.email&&J.jsx("p",{className:"text-sm text-destructive",children:m.email.message})]})]}),J.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsxs(HF,{htmlFor:"company",children:["Company ",J.jsx("span",{className:"text-destructive",children:"*"})]}),J.jsx(zF,{id:"company",placeholder:"Acme Corporation",...l("company"),className:m.company?"border-destructive":""}),m.company&&J.jsx("p",{className:"text-sm text-destructive",children:m.company.message})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"phone",children:"Phone (Optional)"}),J.jsx(zF,{id:"phone",type:"tel",placeholder:"+1 (555) 123-4567",...l("phone")})]})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"message",children:"Additional Notes (Optional)"}),J.jsx(_F,{id:"message",placeholder:"Any specific requirements or questions...",rows:3,...l("message"),className:"resize-none"})]}),J.jsxs("div",{className:"flex justify-end gap-3 pt-4",children:[J.jsx(oz,{type:"button",variant:"outline",onClick:h,children:"Cancel"}),J.jsx(oz,{type:"submit",disabled:r,children:r?J.jsxs(J.Fragment,{children:[J.jsx(ay,{className:"mr-2 h-4 w-4 animate-spin"}),"Submitting..."]}):J.jsxs(J.Fragment,{children:[J.jsx(Ik,{className:"mr-2 h-4 w-4"}),"Submit Request"]})})]})]})]})})}const xJ=()=>{const{toast:e}=kt(),[t,s]=Qe.useState(!1),[a,r]=Qe.useState("vendor_packet"),i=e=>{r(e),s(!0)},n=[{question:"Can you run fully on-prem?",answer:"Yes. We support on-prem and air-gapped deployments with the same instrumentation and audit artifacts. Data never leaves your environment."},{question:"Where is customer data stored?",answer:"By default, US cloud (AWS/Azure/GCP). US-only data residency is available on request. For on-prem deployments, data remains in your infrastructure."},{question:"Do you support SSO/MFA and role mapping?",answer:"Yes—OIDC/SAML SSO with MFA enforcement and role/attribute mapping, plus audit logging. SCIM provisioning where supported."},{question:"Do you provide a DPA and list of subprocessors?",answer:"Yes. Data Processing Agreement with Standard Contractual Clauses (SCCs) available, along with our current subprocessor list."},{question:"What vulnerability evidence can we review?",answer:"Security summary, SBOM sample, vulnerability scan summaries, and pen-test summary available under NDA. We maintain continuous vulnerability management with SCA/SAST/DAST scanning."},{question:"What are your support hours and SLAs?",answer:"Standard business hours (8am-6pm CT) with defined response and resolution SLAs per severity level. 24/7 support available for critical production issues on enterprise plans."},{question:"Do you provide VPAT / accessibility documentation?",answer:"Yes. We provide an accessibility statement and VPAT (Voluntary Product Accessibility Template) on request, documenting WCAG 2.1 AA alignment and remediation processes."},{question:"Can we add specific audit clauses?",answer:"Yes. We accommodate reasonable audit rights, SOC 2 attestation sharing (when available), and custom security review requirements in our agreements."}],o={"@context":"https://schema.org","@type":"FAQPage",mainEntity:n.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))};return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Trust Center | Allerin"}),J.jsx("meta",{name:"description",content:"Everything purchasing teams need—legal entity, identifiers, security posture, accessibility, and standard terms for Allerin US Inc."}),J.jsx("link",{rel:"canonical",href:"https://allerin.com/trust"}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:title",content:"Trust Center | Allerin"}),J.jsx("meta",{property:"og:description",content:"Entity information, security evidence, and vendor documentation for procurement teams."}),J.jsx("meta",{property:"og:url",content:"https://allerin.com/trust"}),J.jsx("meta",{name:"twitter:card",content:"summary"}),J.jsx("meta",{name:"twitter:title",content:"Trust Center | Allerin"}),J.jsx("meta",{name:"twitter:description",content:"Entity information, security evidence, and vendor documentation for procurement teams."}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Organization",name:"Allerin US Inc.",url:"https://www.allerin.com/",logo:"https://www.allerin.com/assets/allerin-logo.webp",contactPoint:[{"@type":"ContactPoint",contactType:"procurement",email:"procurement@allerin.com",telephone:"+1-512-200-2416",areaServed:"US",availableLanguage:["en"]}],address:{"@type":"PostalAddress",streetAddress:"2921 Prado Street, Unit A",addressLocality:"Austin",addressRegion:"TX",postalCode:"78702",addressCountry:"US"}})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify(o)}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"AboutPage",name:"Trust Center",url:"https://www.allerin.com/trust",isPartOf:{"@type":"WebSite",url:"https://www.allerin.com/"}})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://allerin.com"},{"@type":"ListItem",position:2,name:"Trust Center",item:"https://allerin.com/trust"}]})})]}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsxs("main",{id:"main",children:[J.jsx("section",{className:"py-6 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx(hK,{children:J.jsxs(xK,{children:[J.jsx(uK,{children:J.jsx(pK,{asChild:!0,children:J.jsx(tt,{to:"/",children:"Home"})})}),J.jsx(fK,{children:J.jsx(ol,{className:"h-4 w-4"})}),J.jsx(uK,{children:J.jsx(gK,{children:"Trust Center"})})]})})})}),J.jsx("section",{className:"py-16 bg-gradient-to-b from-surface/30 to-background",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[J.jsx("h1",{className:"text-4xl md:text-5xl font-bold mb-6 text-foreground",children:"Trust Center"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-8",children:"Everything purchasing teams ask for—entity, identifiers, security posture, accessibility, and standard terms."}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsxs(oz,{size:"lg",onClick:()=>i("vendor_packet"),className:"bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue min-h-[44px]",children:[J.jsx(ux,{className:"mr-2 h-5 w-5"}),"Request Vendor Packet"]}),J.jsxs(oz,{size:"lg",variant:"outline",onClick:()=>i("security_packet"),className:"min-h-[44px]",children:[J.jsx(Xk,{className:"mr-2 h-5 w-5"}),"Request Security & Compliance Packet"]})]})]})})}),J.jsx("section",{className:"py-8 bg-surface/30",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsx("div",{className:"max-w-4xl mx-auto",children:J.jsx("nav",{"aria-label":"Page sections",children:J.jsx("div",{className:"flex flex-wrap gap-3 justify-center",children:[{label:"Entity & IDs",href:"#entity"},{label:"Business Profile",href:"#profile"},{label:"Hosting & Data",href:"#hosting"},{label:"Security",href:"#security"},{label:"Accessibility",href:"#a11y"},{label:"Downloads",href:"#downloads"},{label:"FAQ",href:"#faq"}].map(e=>J.jsx("a",{href:e.href,className:"px-4 py-2 rounded-md bg-surface hover:bg-surface/80 border border-outline/20 text-sm font-medium text-foreground transition-colors",children:e.label},e.href))})})})})}),J.jsx("section",{id:"entity",className:"py-12 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx(Rn,{className:"h-8 w-8 text-data-teal flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-2",children:"Legal Entity & Identifiers"}),J.jsx("p",{className:"text-muted-foreground",children:"Entity & IDs that appear on W-9 and vendor records."})]})]}),J.jsx(aU,{className:"mb-6",children:J.jsx(oU,{className:"pt-6",children:J.jsxs("dl",{className:"space-y-4",children:[J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Legal Name"}),J.jsx("dd",{className:"text-foreground font-medium",children:"Allerin US Inc."})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Address"}),J.jsxs("dd",{className:"text-foreground",children:["2921 Prado Street, Unit A",J.jsx("br",{}),"Austin, TX 78702"]})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Phone"}),J.jsx("dd",{className:"text-foreground",children:J.jsx("a",{href:"tel:+15122002416",className:"hover:text-data-teal transition-colors",children:"+1 (512) 200-2416"})})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Website"}),J.jsx("dd",{className:"text-foreground",children:J.jsx("a",{href:"https://www.allerin.com",className:"text-data-teal hover:underline",children:"https://www.allerin.com"})})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Primary Contact"}),J.jsx("dd",{className:"text-foreground",children:J.jsx("a",{href:"mailto:procurement@allerin.com",className:"text-data-teal hover:underline",children:"procurement@allerin.com"})})]})]})})}),J.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Identifiers"}),J.jsx("div",{className:"grid gap-4",children:[{label:"D-U-N-S",value:null,field:"duns"},{label:"EIN (TIN)",value:null,field:"ein"},{label:"SAM UEI",value:null,field:"sam_uei"},{label:"CAGE Code",value:null,field:"cage_code"},{label:"NAICS",value:"541512, 541519",field:"vendor_packet"},{label:"Texas SOS Registration",value:null,field:"texas_sos"}].map(t=>J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsxs("div",{children:[J.jsx("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:t.label}),t.value?J.jsx("div",{className:"text-foreground font-mono",children:t.value}):J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(hU,{variant:"secondary",children:"Available on request"}),J.jsx(oz,{variant:"link",size:"sm",onClick:()=>i(t.field),className:"h-auto p-0 text-data-teal",children:"Request →"})]})]}),t.value&&J.jsxs(oz,{variant:"outline",size:"sm",onClick:()=>{return s=t.label,a=t.value,navigator.clipboard.writeText(a),void e({title:"Copied to clipboard",description:`${s} copied successfully`});var s,a},className:"min-h-[44px] min-w-[44px]",children:[J.jsx(qc,{className:"h-4 w-4"}),J.jsxs("span",{className:"sr-only",children:["Copy ",t.label]})]})]})})},t.field))})]})})}),J.jsx("section",{id:"profile",className:"py-12 bg-surface/30 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-6",children:"Business Profile"}),J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsxs("dl",{className:"space-y-4",children:[J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Ownership"}),J.jsx("dd",{className:"text-foreground",children:"Privately held"})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Size Classification"}),J.jsx("dd",{className:"text-foreground",children:"Small Business"})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Insurance"}),J.jsxs("dd",{className:"text-foreground",children:["General Liability, E&O/Professional, Cyber",J.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Certificates available on request"})]})]}),J.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[J.jsx("dt",{className:"text-sm font-medium text-muted-foreground",children:"Contracting"}),J.jsx("dd",{className:"text-foreground",children:"Prime or subcontract; teaming available"})]})]})})})]})})}),J.jsx("section",{id:"hosting",className:"py-12 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx(bp,{className:"h-8 w-8 text-data-teal flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-2",children:"Hosting & Data Residency"}),J.jsx("p",{className:"text-muted-foreground",children:"How and where we host—cloud, on-prem, or hybrid, with US-only options."})]})]}),J.jsxs("div",{className:"grid gap-6",children:[J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsxs("h3",{className:"font-bold text-foreground mb-4 flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal"}),"Deployment Options"]}),J.jsxs("ul",{className:"space-y-2 ml-7 text-muted-foreground",children:[J.jsx("li",{children:"• US cloud (AWS/Azure/GCP) — default configuration"}),J.jsx("li",{children:"• US-only data residency available on request"}),J.jsx("li",{children:"• On-premises / air-gapped deployments supported"}),J.jsx("li",{children:"• GovCloud and hybrid cloud configurations"})]})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsxs("h3",{className:"font-bold text-foreground mb-4 flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal"}),"Data Location & Control"]}),J.jsx("p",{className:"text-muted-foreground mb-2",children:"Data never leaves buyer-approved region/environment. Clear data sovereignty with documented data flows."})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsxs("h3",{className:"font-bold text-foreground mb-4 flex items-center gap-2",children:[J.jsx(Rl,{className:"h-5 w-5 text-data-teal"}),"Backups & Disaster Recovery"]}),J.jsx("p",{className:"text-muted-foreground",children:"Encrypted backups with documented RPO/RTO published per SOW. Cross-region replication available."})]})})]})]})})}),J.jsx("section",{id:"security",className:"py-12 bg-surface/30 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx(Xk,{className:"h-8 w-8 text-data-teal flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-2",children:"Security, Privacy & Compliance"}),J.jsx("p",{className:"text-muted-foreground",children:"Security evidence and practices; artifacts available under NDA."})]})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Security Posture"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(hy,{className:"h-4 w-4 text-data-teal flex-shrink-0 mt-1"}),J.jsx("span",{children:"TLS 1.3 in transit, AES-256 at rest"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(hy,{className:"h-4 w-4 text-data-teal flex-shrink-0 mt-1"}),J.jsx("span",{children:"RBAC with least-privilege enforcement"})]}),J.jsxs("li",{className:"flex items-start gap-2",children:[J.jsx(hy,{className:"h-4 w-4 text-data-teal flex-shrink-0 mt-1"}),J.jsx("span",{children:"Comprehensive audit logging and retention"})]})]})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Vulnerability Management"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[J.jsx("li",{children:"• Continuous SCA/SAST/DAST scanning"}),J.jsx("li",{children:"• SBOM (Software Bill of Materials) at each release"}),J.jsx("li",{children:"• Documented patch SLAs by severity"}),J.jsx("li",{children:"• Third-party penetration testing on request"})]})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Standards & Frameworks"}),J.jsxs("p",{className:"text-muted-foreground mb-3",children:[J.jsx("strong",{className:"text-foreground",children:"Designed to align with"})," SOC 2 Type II practices"]}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[J.jsx("li",{children:"• HIPAA/FERPA posture where applicable"}),J.jsx("li",{children:"• CJIS-style controls for law-enforcement deployments"}),J.jsx("li",{children:"• FedRAMP-aligned practices on request"}),J.jsx("li",{children:"• Policy mapping and gap assessments available"})]})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Identity & Access"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[J.jsx("li",{children:"• SSO via OIDC/SAML with MFA enforcement"}),J.jsx("li",{children:"• SCIM provisioning where supported"}),J.jsx("li",{children:"• Role/attribute mapping and audit trails"}),J.jsx("li",{children:"• Session management and timeout controls"})]})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Privacy & Data Protection"}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[J.jsx("li",{children:"• Data Processing Agreement (DPA) available"}),J.jsx("li",{children:"• Standard Contractual Clauses (SCCs) for international transfers"}),J.jsx("li",{children:"• Current subprocessor list published"}),J.jsx("li",{children:"• Data subject request workflow documented"})]})]})}),J.jsx(aU,{className:"border-data-teal/30",children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Artifacts Available Under NDA"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-3",children:["Penetration test summary","SOC 2 letters (when available)","SBOM sample","Security runbook","Incident response plan","Disaster recovery procedures"].map(e=>J.jsxs("div",{className:"flex items-start gap-2",children:[J.jsx(ux,{className:"h-4 w-4 text-data-teal flex-shrink-0 mt-1"}),J.jsx("span",{className:"text-sm text-muted-foreground",children:e})]},e))})]})})]})]})})}),J.jsx("section",{id:"a11y",className:"py-12 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx(xh,{className:"h-8 w-8 text-data-teal flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-2",children:"Accessibility"}),J.jsx("p",{className:"text-muted-foreground",children:"Accessibility and VPAT posture."})]})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Standards Compliance"}),J.jsx("p",{className:"text-muted-foreground mb-4",children:"WCAG 2.1 AA-aligned patterns with keyboard navigation and screen-reader support built in from the start."}),J.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[J.jsx("li",{children:"• Semantic HTML and ARIA landmarks"}),J.jsx("li",{children:"• Keyboard-only navigation support"}),J.jsx("li",{children:"• Screen reader compatibility (JAWS, NVDA, VoiceOver)"}),J.jsx("li",{children:"• Sufficient color contrast ratios"}),J.jsx("li",{children:"• Resizable text without loss of functionality"})]})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Available Artifacts"}),J.jsxs("div",{className:"space-y-3",children:[J.jsxs("div",{className:"flex items-center justify-between p-3 bg-surface rounded-md",children:[J.jsx("span",{className:"text-muted-foreground",children:"Accessibility Statement"}),J.jsx(hU,{variant:"secondary",children:"On request"})]}),J.jsxs("div",{className:"flex items-center justify-between p-3 bg-surface rounded-md",children:[J.jsx("span",{className:"text-muted-foreground",children:"VPAT (Section 508 / WCAG)"}),J.jsx(hU,{variant:"secondary",children:"On request"})]})]})]})}),J.jsx(aU,{children:J.jsxs(oU,{className:"pt-6",children:[J.jsx("h3",{className:"font-bold text-foreground mb-3",children:"Remediation Process"}),J.jsx("p",{className:"text-muted-foreground",children:"Documented remediation SLAs for accessibility issues by severity, with ongoing testing and user feedback integration."})]})})]})]})})}),J.jsx("section",{id:"downloads",className:"py-12 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-4xl mx-auto",children:[J.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[J.jsx(zm,{className:"h-8 w-8 text-data-teal flex-shrink-0"}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-2",children:"Artifacts & Downloads"}),J.jsx("p",{className:"text-muted-foreground",children:"Downloads and references for your checklist."})]})]}),J.jsx("div",{className:"grid gap-4",children:[{name:"Certificate of Insurance",filename:"allerin-coi.pdf",size:"— KB"},{name:"Security Summary",filename:"allerin-security-summary.pdf",size:"— KB"},{name:"Accessibility Statement / VPAT",filename:"allerin-vpat.pdf",size:"— KB"},{name:"VISTA Product Sheet",filename:"vista-product-sheet.pdf",size:"— KB"},{name:"SENTRA Product Sheet",filename:"sentra-product-sheet.pdf",size:"— KB"},{name:"iPAM Product Sheet",filename:"ipam-product-sheet.pdf",size:"— KB"},{name:"NeuroSight Product Sheet",filename:"neurosight-product-sheet.pdf",size:"— KB"}].map(t=>J.jsx(aU,{children:J.jsx(oU,{className:"pt-6",children:J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsxs("div",{className:"flex items-center gap-3",children:[J.jsx(ux,{className:"h-5 w-5 text-data-teal"}),J.jsxs("div",{children:[J.jsx("div",{className:"font-medium text-foreground",children:t.name}),J.jsxs("div",{className:"text-sm text-muted-foreground",children:[t.filename," • ",t.size]})]})]}),J.jsx(oz,{variant:"outline",size:"sm",onClick:()=>{return s=t.filename,void e({title:"Download initiated",description:`${s} will be available shortly`});var s},disabled:"— KB"===t.size,className:"min-h-[44px]",children:"— KB"===t.size?J.jsx("span",{className:"text-muted-foreground",children:"On request"}):J.jsxs(J.Fragment,{children:[J.jsx(zm,{className:"h-4 w-4 mr-2"}),"Download"]})})]})})},t.filename))})]})})}),J.jsx("section",{id:"faq",className:"py-12 bg-surface/30 scroll-mt-20",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto",children:[J.jsx("h2",{className:"text-3xl font-bold text-foreground mb-8",children:"Frequently Asked Questions"}),J.jsx(R$,{type:"single",collapsible:!0,className:"w-full",children:n.map((e,t)=>J.jsxs(O$,{value:`item-${t}`,children:[J.jsx(D$,{className:"text-left",children:e.question}),J.jsx(q$,{className:"text-muted-foreground",children:e.answer})]},t))})]})})}),J.jsx("section",{className:"py-16",children:J.jsx("div",{className:"container mx-auto px-6",children:J.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-4",children:"Need More Information?"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-8",children:"Request full vendor documentation or talk to our team about your specific requirements."}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center mb-6",children:[J.jsx(oz,{size:"lg",onClick:()=>i("vendor_packet"),className:"bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue min-h-[44px]",children:"Request Vendor Packet"}),J.jsx(oz,{size:"lg",variant:"outline",asChild:!0,className:"min-h-[44px]",children:J.jsx(tt,{to:"/contact?subject=architect",children:"Talk to an Architect"})}),J.jsx(oz,{size:"lg",variant:"outline",asChild:!0,className:"min-h-[44px]",children:J.jsx(tt,{to:"/contact?subject=demo",children:"Request Demo"})})]}),J.jsx("p",{className:"text-sm text-muted-foreground",children:"UTMs and page context are captured with your request."})]})})})]}),J.jsx(KU,{}),J.jsx(hJ,{open:t,onOpenChange:s,requestType:a})]})]})},uJ=()=>J.jsx("a",{href:"#main",className:"sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-50 focus:px-4 focus:py-2 focus:bg-primary focus:text-primary-foreground focus:rounded focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",children:"Skip to main content"});function pJ(){const e=at(),t=MK("/company");Qe.useEffect(()=>{"#company"!==window.location.hash&&"/about"!==window.location.pathname||e("/company",{replace:!0})},[e]),Qe.useEffect(()=>{const e=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){const t=e.target.getAttribute("data-section");t&&BO("about_section_view",{section:t})}})},{threshold:.5});return document.querySelectorAll("[data-section]").forEach(t=>e.observe(t)),()=>e.disconnect()},[]);const[s,a]=Qe.useState(!1),[r,i]=Qe.useState("demo"),n=()=>{BO("about_hero_cta_click",{action:"demo"}),i("demo"),a(!0)},o=()=>{BO("about_hero_cta_click",{action:"architect"}),i("architect"),a(!0)};return J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"About Allerin | Enterprise AI, Computer Vision, Data & R&D Partner"}),J.jsx("meta",{name:"description",content:"Founded in 2005. Rails since 2005, mobile 2008, IoT/AI 2012, blockchain 2016. KPI-gated delivery, on-prem/cloud options, and SOC-aligned security. HQ Austin; R&D Mumbai."}),J.jsx("link",{rel:"canonical",href:t}),J.jsx("meta",{property:"og:title",content:"About Allerin — AI solutions built for outcomes"}),J.jsx("meta",{property:"og:description",content:"Enterprise-grade AI and CV since 2005. KPI-gated delivery, SOC-aligned security, and global R&D."}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/company"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/company.webp"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"About Allerin — AI solutions built for outcomes"}),J.jsx("meta",{name:"twitter:description",content:"Founded in 2005. KPI-gated delivery, on-prem/cloud, global R&D."}),J.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/company.webp"}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"AboutPage",name:"About Allerin",url:"https://www.allerin.com/company",breadcrumb:{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://www.allerin.com/"},{"@type":"ListItem",position:2,name:"Company",item:"https://www.allerin.com/company"}]},mainEntity:{"@type":"Organization",name:"Allerin US Inc.",url:"https://www.allerin.com/",logo:"https://www.allerin.com/assets/allerin-logo.webp",foundingDate:"2005-01-01",founder:[{"@type":"Person",name:"Naveen Joshi"}],address:{"@type":"PostalAddress",streetAddress:"2921 Prado Street, Unit A",addressLocality:"Austin",addressRegion:"TX",postalCode:"78702",addressCountry:"US"},contactPoint:[{"@type":"ContactPoint",contactType:"sales",telephone:"+1-512-200-2416",email:"analytics@allerin.com",areaServed:"US",availableLanguage:["en"]}],sameAs:["https://www.linkedin.com/company/allerin","https://x.com/allerin"]}})})]}),J.jsx(uJ,{}),J.jsx(UG,{}),J.jsxs("main",{id:"main-content",className:"min-h-screen",children:[J.jsx("section",{className:"relative py-16 md:py-24 bg-gradient-to-br from-background via-background to-primary/5",children:J.jsx("div",{className:"container mx-auto px-4 max-w-6xl",children:J.jsxs("div",{className:"text-center max-w-4xl mx-auto",children:[J.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-6 text-foreground",children:"About Allerin"}),J.jsx("p",{className:"text-xl md:text-2xl text-muted-foreground mb-8",children:"Enterprise AI, Computer Vision, and Data solutions built for outcomes since 2005."}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsx(oz,{size:"lg",onClick:n,className:"text-lg",children:"Request Demo"}),J.jsx(oz,{size:"lg",variant:"outline",onClick:o,className:"text-lg",children:"Talk to an Architect"})]})]})})}),J.jsx("section",{className:"py-12 bg-muted/30","data-section":"tldr",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-6 text-foreground",children:"TL;DR"}),J.jsxs("ul",{className:"space-y-3 text-lg text-muted-foreground",children:[J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"text-primary mr-2",children:"•"}),J.jsx("span",{children:"Founded 2005; Rails since day one; mobile 2008; IoT/AI 2012; blockchain 2016"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"text-primary mr-2",children:"•"}),J.jsx("span",{children:"Products: VISTA, SENTRA, iPAM, NeuroSight; plus delivery services and R&D as a Service"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"text-primary mr-2",children:"•"}),J.jsx("span",{children:"KPI-gated rollouts; on-prem/VPC/cloud; API-first; security by design"})]}),J.jsxs("li",{className:"flex items-start",children:[J.jsx("span",{className:"text-primary mr-2",children:"•"}),J.jsx("span",{children:"HQ Austin; R&D Mumbai; 84-person engineering team"})]})]})]})}),J.jsx("section",{className:"py-16","data-section":"at_a_glance",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-foreground",children:"At a glance"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4 text-foreground",children:"Team"}),J.jsx("p",{className:"text-muted-foreground",children:"84 engineers (76 developers), US + India"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4 text-foreground",children:"Outcomes to date"}),J.jsx("p",{className:"text-muted-foreground",children:"p95 latency ↓ 30–60%, critical CVEs → 0 pre-go-live, infra spend ↓ 20–40%"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4 text-foreground",children:"Delivery"}),J.jsx("p",{className:"text-muted-foreground",children:"Dual-boot or blue-green, canary + rollback, 24×7 SRE"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-4 text-foreground",children:"Security"}),J.jsx("p",{className:"text-muted-foreground",children:"SSO/MFA, SBOM/VEX, SAST/DAST/SCA, audit trails; programs aligned to SOC 2/ISO 27001"})]})]})]})}),J.jsx("section",{className:"py-16 bg-muted/30","data-section":"what_we_do",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-foreground",children:"What we do"}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"Products"}),J.jsxs("p",{className:"text-muted-foreground mb-2",children:[J.jsx(tt,{to:"/products/vista",className:"text-primary hover:underline",children:"VISTA"})," (ALPR & redaction),"," ",J.jsx(tt,{to:"/products/sentra",className:"text-primary hover:underline",children:"SENTRA"})," (operations analytics),"," ",J.jsx(tt,{to:"/products/ipam",className:"text-primary hover:underline",children:"iPAM"})," (parking),"," ",J.jsx(tt,{to:"/products/neurosight",className:"text-primary hover:underline",children:"NeuroSight"})," (AI weapon detection)"]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"Services"}),J.jsxs("p",{className:"text-muted-foreground mb-2",children:[J.jsx(tt,{to:"/services/agentic-ai",className:"text-primary hover:underline",children:"Agentic AI systems"}),";"," ",J.jsx(tt,{to:"/services/genai-accelerator",className:"text-primary hover:underline",children:"GenAI product accelerator"}),";"," ",J.jsx(tt,{to:"/services/computer-vision-fasttrack",className:"text-primary hover:underline",children:"CV FastTrack"}),";"," ",J.jsx(tt,{to:"/services/data-analytics-platform",className:"text-primary hover:underline",children:"Data & Analytics"}),";"," ",J.jsx(tt,{to:"/services/mlops-model-ops",className:"text-primary hover:underline",children:"MLOps"}),";"," ",J.jsx(tt,{to:"/services/platform-modernization",className:"text-primary hover:underline",children:"Platform modernization"}),";"," ",J.jsx(tt,{to:"/services/security-compliance",className:"text-primary hover:underline",children:"Security & Compliance"})]})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"R&D as a Service"}),J.jsx("p",{className:"text-muted-foreground",children:"Two-to-eight-week labs for prototypes and feasibility spikes; you own the IP"})]})]})]})}),J.jsx("section",{className:"py-16","data-section":"milestones",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-foreground",children:"Milestones"}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"flex gap-4",children:[J.jsx("span",{className:"font-semibold text-primary min-w-[80px]",children:"2005"}),J.jsx("p",{className:"text-muted-foreground",children:"Allerin founded; Ruby on Rails practice starts"})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsx("span",{className:"font-semibold text-primary min-w-[80px]",children:"2008"}),J.jsx("p",{className:"text-muted-foreground",children:"Mobile engineering added (iOS/Android)"})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsx("span",{className:"font-semibold text-primary min-w-[80px]",children:"2012"}),J.jsx("p",{className:"text-muted-foreground",children:"IoT and applied AI programs (CV, predictive analytics)"})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsx("span",{className:"font-semibold text-primary min-w-[80px]",children:"2016"}),J.jsx("p",{className:"text-muted-foreground",children:"Blockchain work (provenance, supply-chain, identity)"})]}),J.jsxs("div",{className:"flex gap-4",children:[J.jsx("span",{className:"font-semibold text-primary min-w-[80px]",children:"2020–2025"}),J.jsx("p",{className:"text-muted-foreground",children:"Productization of VISTA, SENTRA, iPAM, NeuroSight; Mumbai R&D center; R&D as a Service"})]})]})]})}),J.jsx("section",{className:"py-16 bg-muted/30","data-section":"operating_model",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-foreground",children:"Operating model"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"KPI-gated delivery"}),J.jsx("p",{className:"text-muted-foreground",children:"Publish targets (latency, accuracy, cost, adoption), gate releases until met"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"Security by default"}),J.jsx("p",{className:"text-muted-foreground",children:"SSO/MFA, least-privilege IAM, SBOM/VEX, SAST/DAST/SCA, audit trails"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"Deploy anywhere"}),J.jsx("p",{className:"text-muted-foreground",children:"Cloud or on-prem/VPC; edge GPU on Jetson/x86; API-first"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"Support SLAs"}),J.jsx("p",{className:"text-muted-foreground",children:"Incident response targets; change management; runbooks and training"})]})]})]})}),J.jsx("section",{className:"py-16 bg-muted/30","data-section":"customers",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-foreground",children:"Customers and credibility"}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-lg font-semibold mb-2 text-foreground",children:"Enterprise SaaS"}),J.jsx("p",{className:"text-muted-foreground mb-2",children:"p95 ↓ 46% in 6 weeks; infra −21%; CVEs → 0"}),J.jsx(tt,{to:"/customers/enterprise-saas-performance",className:"text-primary hover:underline text-sm",children:"Read case study →"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-lg font-semibold mb-2 text-foreground",children:"Municipal CV"}),J.jsx("p",{className:"text-muted-foreground mb-2",children:"GPU hours −38%; storage −35%; infra −29%"}),J.jsx(tt,{to:"/customers/municipal-cv-cost",className:"text-primary hover:underline text-sm",children:"Read case study →"})]}),J.jsxs("div",{className:"p-6 bg-card rounded-lg border",children:[J.jsx("h3",{className:"text-lg font-semibold mb-2 text-foreground",children:"Redaction"}),J.jsx("p",{className:"text-muted-foreground mb-2",children:"CVEs → 0; turnaround −62%"}),J.jsx(tt,{to:"/customers/redaction-compliance",className:"text-primary hover:underline text-sm",children:"Read case study →"})]})]}),J.jsxs("p",{className:"mt-6 text-muted-foreground",children:[J.jsx("strong",{children:"Partners:"})," AWS, Azure, Nvidia, Snowflake"]})]})}),J.jsx("section",{className:"py-16","data-section":"careers",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-foreground",children:"Culture and careers"}),J.jsxs("div",{className:"space-y-4",children:[J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-2 text-foreground",children:"Values"}),J.jsx("p",{className:"text-muted-foreground",children:"Outcomes, candor, ownership, craft"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-2 text-foreground",children:"Learning"}),J.jsx("p",{className:"text-muted-foreground",children:"Labs, mentorship, certifications, conference support"})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-2 text-foreground",children:"Flex"}),J.jsx("p",{className:"text-muted-foreground",children:"Hybrid, global collaboration, outcome-based schedules"})]}),J.jsx(tt,{to:"/careers",className:"inline-block text-primary hover:underline font-semibold",children:"View open positions →"})]})]})}),J.jsx("section",{className:"py-16 bg-muted/30","data-section":"locations",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-5xl",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8 text-foreground",children:"Locations"}),J.jsx("div",{className:"max-w-md",children:J.jsxs("div",{className:"p-6 bg-card rounded-lg border cursor-pointer hover:border-primary transition-colors",onClick:()=>{BO("location_click",{city:"Austin"})},children:[J.jsx("h3",{className:"text-xl font-semibold mb-3 text-foreground",children:"Austin, USA (HQ)"}),J.jsx("p",{className:"text-muted-foreground mb-2",children:"2921 Prado Street, Unit A"}),J.jsx("p",{className:"text-muted-foreground mb-2",children:"Austin, TX 78702"}),J.jsx("p",{className:"text-muted-foreground",children:"+1-512-200-2416"})]})})]})}),J.jsx("section",{className:"py-20 bg-gradient-to-br from-primary/10 via-primary/5 to-background",children:J.jsxs("div",{className:"container mx-auto px-4 max-w-4xl text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6 text-foreground",children:"Ready to build with us?"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-8",children:"Let's discuss how we can help you achieve measurable outcomes."}),J.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[J.jsx(oz,{size:"lg",onClick:n,children:"Request Demo"}),J.jsx(oz,{size:"lg",variant:"outline",onClick:o,children:"Talk to an Architect"}),J.jsx(oz,{size:"lg",variant:"secondary",asChild:!0,children:J.jsx(tt,{to:"/products",children:"View Products"})})]})]})}),J.jsx("section",{className:"py-8 bg-muted/30",children:J.jsx("div",{className:"container mx-auto px-4 max-w-5xl text-center text-sm text-muted-foreground",children:J.jsx("p",{children:"Last updated: January 2025"})})})]}),J.jsx(KU,{}),J.jsx(BG,{open:s,onOpenChange:a,defaultIntent:r,context:{sourcePage:"/company",sourceButton:"demo"===r?"company_demo":"company_architect"}})]})}const gJ=()=>{const e=MK("/careers");return J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Careers at Allerin | Join Our Team"}),J.jsx("meta",{name:"description",content:"Join Allerin and work on challenging AI, data engineering, and computer vision projects for Fortune 500 clients. Remote-friendly positions available."}),J.jsx("link",{rel:"canonical",href:e}),J.jsx("meta",{property:"og:title",content:"Careers at Allerin | Join Our Team"}),J.jsx("meta",{property:"og:description",content:"Join Allerin and work on challenging AI, data engineering, and computer vision projects for Fortune 500 clients. Remote-friendly positions available."}),J.jsx("meta",{property:"og:url",content:e}),J.jsx("meta",{property:"og:type",content:"website"})]}),J.jsx(UG,{}),J.jsx("main",{className:"container mx-auto px-4 py-16 md:py-24",children:J.jsxs("article",{className:"max-w-4xl mx-auto",children:[J.jsxs("header",{className:"mb-12",children:[J.jsx("h1",{className:"text-4xl md:text-5xl font-bold mb-6",children:"Build Systems That Matter"}),J.jsx("p",{className:"text-xl text-muted-foreground",children:"Join a team of engineers and architects who ship production-grade AI, data, and computer vision systems for the world's leading enterprises."})]}),J.jsxs("section",{className:"mb-16",children:[J.jsx("h2",{className:"text-3xl font-bold mb-6",children:"Why Allerin"}),J.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[J.jsxs("div",{className:"border rounded-lg p-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Challenging Work"}),J.jsx("p",{className:"text-muted-foreground",children:"Work on systems that process billions of records, analyze thousands of hours of video, and run mission-critical operations. No toy projects."})]}),J.jsxs("div",{className:"border rounded-lg p-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Outcome-Driven"}),J.jsx("p",{className:"text-muted-foreground",children:"Ship measurable results in weeks, not quarters. See your work deliver real business value in production."})]}),J.jsxs("div",{className:"border rounded-lg p-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Learning Culture"}),J.jsx("p",{className:"text-muted-foreground",children:"Work with cutting-edge technologies: LLMs, edge AI, real-time analytics, and cloud-native architectures."})]}),J.jsxs("div",{className:"border rounded-lg p-6",children:[J.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Flexible Work"}),J.jsx("p",{className:"text-muted-foreground",children:"Remote-friendly positions with flexible schedules. We care about outcomes, not where you sit."})]})]})]}),J.jsxs("section",{className:"mb-16",children:[J.jsx("h2",{className:"text-3xl font-bold mb-6",children:"What We Look For"}),J.jsx("div",{className:"prose prose-lg max-w-none",children:J.jsxs("ul",{className:"space-y-3",children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Production experience:"})," You've shipped systems that run under load in real environments"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Problem solvers:"})," You dig into root causes and build solutions that last"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Pragmatic builders:"})," You balance perfect with done, choosing the right tool for the job"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Clear communicators:"})," You can explain technical decisions to both engineers and stakeholders"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Ownership mindset:"})," You see projects through from design to deployment to monitoring"]})]})})]}),J.jsxs("section",{className:"mb-16",children:[J.jsx("h2",{className:"text-3xl font-bold mb-8",children:"Open Positions"}),J.jsx("div",{className:"space-y-6",children:[{title:"Senior Data Engineer",location:"Remote / Hybrid",type:"Full-time",skills:["Python","Spark","Airflow","AWS/GCP","SQL"]},{title:"Computer Vision Engineer",location:"Remote / Hybrid",type:"Full-time",skills:["PyTorch","NVIDIA DeepStream","Edge AI","MLOps"]},{title:"Solutions Architect",location:"Remote / Hybrid",type:"Full-time",skills:["Cloud Architecture","Enterprise Integration","Security"]},{title:"AI/ML Engineer",location:"Remote / Hybrid",type:"Full-time",skills:["LLMs","Agentic Systems","Python","RAG","Fine-tuning"]}].map((e,t)=>J.jsxs("div",{className:"border rounded-lg p-6 hover:border-primary transition-colors",children:[J.jsx("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between mb-4",children:J.jsxs("div",{children:[J.jsx("h3",{className:"text-xl font-semibold mb-2",children:e.title}),J.jsxs("p",{className:"text-muted-foreground",children:[e.location," • ",e.type]})]})}),J.jsx("div",{className:"flex flex-wrap gap-2",children:e.skills.map((e,t)=>J.jsx(hU,{variant:"secondary",children:e},t))})]},t))})]}),J.jsxs("section",{className:"prose prose-lg max-w-none",children:[J.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Application Process"}),J.jsxs("ol",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Apply:"})," Send your resume and a brief note about a challenging system you've built"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Initial chat:"})," 30-minute conversation about your experience and our projects"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Technical deep-dive:"})," Discuss architecture, trade-offs, and problem-solving approaches"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Team fit:"})," Meet potential teammates and discuss working styles"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Offer:"})," Competitive compensation, benefits, and equity options"]})]}),J.jsx("p",{children:"We aim to complete the process in 1-2 weeks. No take-home assignments or whiteboard coding—just real conversations about building great systems."})]})]})}),J.jsx(FU,{}),J.jsx(KU,{})]})},fJ=[{token:"xs",value:"8px (0.5rem)",classes:"space-xs, p-xs, gap-xs",use:"Tight spacing, badges, icon gaps"},{token:"sm",value:"12px (0.75rem)",classes:"space-sm, p-sm, gap-sm",use:"Small gaps, compact layouts"},{token:"md",value:"16px (1rem)",classes:"space-md, p-md, gap-md",use:"Default spacing, form fields"},{token:"lg",value:"24px (1.5rem)",classes:"space-lg, p-lg, gap-lg",use:"Comfortable spacing, card padding"},{token:"xl",value:"32px (2rem)",classes:"space-xl, p-xl, gap-xl",use:"Generous spacing, section gaps"},{token:"2xl",value:"48px (3rem)",classes:"space-2xl, p-2xl, gap-2xl",use:"Large spacing, between sections"},{token:"3xl",value:"64px (4rem)",classes:"space-3xl, p-3xl, gap-3xl",use:"Extra large, hero sections"},{token:"4xl",value:"96px (6rem)",classes:"space-4xl, p-4xl, gap-4xl",use:"Section padding vertical"}],yJ=[{name:"section-padding-y",value:"96px",use:"Vertical padding for major sections"},{name:"section-padding-x",value:"24px",use:"Horizontal padding for sections"},{name:"container-padding",value:"Responsive",use:"Container side padding (24-64px)"},{name:"card-padding",value:"24px",use:"Internal card spacing"},{name:"component-gap",value:"32px",use:"Space between related components"},{name:"element-gap",value:"16px",use:"Space between UI elements"}],bJ=[{name:"background",desc:"Page background",preview:"bg-background"},{name:"foreground",desc:"Text on background",preview:"bg-foreground"},{name:"primary",desc:"Main brand color",preview:"bg-primary"},{name:"primary-foreground",desc:"Text on primary",preview:"bg-primary-foreground"},{name:"secondary",desc:"Secondary UI surface",preview:"bg-secondary"},{name:"muted",desc:"Muted surfaces",preview:"bg-muted"},{name:"muted-foreground",desc:"Muted text",preview:"bg-muted-foreground"},{name:"accent",desc:"Accent color",preview:"bg-accent"},{name:"border",desc:"Border color",preview:"bg-border"},{name:"data-teal",desc:"Brand teal",preview:"bg-data-teal"},{name:"data-orange",desc:"Brand orange",preview:"bg-data-orange"},{name:"data-blue",desc:"Brand blue",preview:"bg-data-blue"}],vJ=({code:e,language:t="tsx"})=>{const[s,a]=Qe.useState(!1);return J.jsxs("div",{className:"relative",children:[J.jsx(oz,{size:"icon",variant:"ghost",className:"absolute top-2 right-2 h-8 w-8",onClick:()=>{navigator.clipboard.writeText(e),a(!0),setTimeout(()=>a(!1),2e3)},children:s?J.jsx(el,{className:"h-4 w-4"}):J.jsx(qc,{className:"h-4 w-4"})}),J.jsx("pre",{className:"bg-muted p-lg rounded-lg overflow-x-auto text-sm",children:J.jsx("code",{className:"text-foreground",children:e})})]})};function jJ(){return J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Component Library — Design System Documentation | Allerin"}),J.jsx("meta",{name:"description",content:"Comprehensive component library documentation with unified spacing system and interactive examples."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/component-library"})]}),J.jsx(UG,{}),J.jsxs("main",{children:[J.jsx("section",{className:"py-section-y bg-gradient-hero border-b border-outline/20",children:J.jsx("div",{className:"container",children:J.jsxs("div",{className:"max-w-4xl",children:[J.jsxs(hU,{className:"mb-lg",children:[J.jsx(nc,{className:"mr-2 h-3 w-3"}),"Design System"]}),J.jsx("h1",{className:"text-5xl font-bold text-foreground mb-xl",children:"Component Library"}),J.jsx("p",{className:"text-xl text-muted-foreground mb-2xl",children:"Comprehensive documentation for our unified spacing system, components, and design tokens. Built for consistency, maintainability, and developer productivity."}),J.jsxs("div",{className:"flex flex-wrap gap-lg",children:[J.jsxs(oz,{size:"lg",children:[J.jsx(aj,{className:"mr-2 h-4 w-4"}),"View Components"]}),J.jsxs(oz,{size:"lg",variant:"outline",children:[J.jsx($w,{className:"mr-2 h-4 w-4"}),"Spacing System"]})]})]})})}),J.jsx("section",{className:"py-4xl bg-background",children:J.jsx("div",{className:"container",children:J.jsxs(pQ,{defaultValue:"spacing",className:"w-full",children:[J.jsxs(gQ,{className:"grid w-full grid-cols-2 md:grid-cols-5 mb-2xl",children:[J.jsxs(fQ,{value:"spacing",children:[J.jsx($w,{className:"mr-2 h-4 w-4"}),"Spacing"]}),J.jsxs(fQ,{value:"colors",children:[J.jsx(lj,{className:"mr-2 h-4 w-4"}),"Colors"]}),J.jsxs(fQ,{value:"typography",children:[J.jsx(hI,{className:"mr-2 h-4 w-4"}),"Typography"]}),J.jsxs(fQ,{value:"components",children:[J.jsx(aj,{className:"mr-2 h-4 w-4"}),"Components"]}),J.jsxs(fQ,{value:"layouts",children:[J.jsx(Sj,{className:"mr-2 h-4 w-4"}),"Layouts"]})]}),J.jsx(yQ,{value:"spacing",className:"space-y-3xl",children:J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold mb-lg",children:"Unified Spacing System"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-2xl",children:"Built on a 4px base unit for consistent, semantic spacing across all components."}),J.jsxs("div",{className:"mb-3xl",children:[J.jsx("h3",{className:"text-2xl font-bold mb-xl",children:"Base Spacing Scale"}),J.jsx("div",{className:"grid gap-lg",children:fJ.map(e=>J.jsx(aU,{children:J.jsxs(oU,{className:"p-lg",children:[J.jsxs("div",{className:"grid md:grid-cols-4 gap-lg items-center",children:[J.jsxs("div",{children:[J.jsx("div",{className:"font-mono text-sm text-muted-foreground",children:"Token"}),J.jsx("div",{className:"font-bold text-data-teal",children:e.token})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-mono text-sm text-muted-foreground",children:"Value"}),J.jsx("div",{className:"font-semibold",children:e.value})]}),J.jsxs("div",{children:[J.jsx("div",{className:"font-mono text-sm text-muted-foreground",children:"Classes"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:e.classes})]}),J.jsx("div",{children:J.jsx("div",{className:"h-8 rounded bg-gradient-to-r from-data-teal to-data-blue",style:{width:e.value.split("(")[0].trim()}})})]}),J.jsx("div",{className:"mt-lg pt-lg border-t",children:J.jsxs("div",{className:"text-sm text-muted-foreground",children:["Use case: ",e.use]})})]})},e.token))})]}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-2xl font-bold mb-xl",children:"Semantic Layout Tokens"}),J.jsx("div",{className:"grid md:grid-cols-2 gap-lg",children:yJ.map(e=>J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsxs(iU,{className:"text-lg font-mono",children:["--",e.name]}),J.jsx(nU,{children:e.use})]}),J.jsx(oU,{children:J.jsx("div",{className:"text-sm font-semibold text-data-teal",children:e.value})})]},e.name))})]}),J.jsxs("div",{className:"mt-3xl",children:[J.jsx("h3",{className:"text-2xl font-bold mb-xl",children:"Usage Examples"}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Section Pattern"}),J.jsx(nU,{children:"Standard page section with semantic spacing"})]}),J.jsxs(oU,{className:"space-y-lg",children:[J.jsx(vJ,{code:'<section className="py-section-y">\n  <div className="container">\n    <div className="max-w-4xl mx-auto space-y-xl">\n      {/* Content */}\n    </div>\n  </div>\n</section>'}),J.jsx("div",{className:"p-2xl bg-surface/30 rounded-lg",children:J.jsx("div",{className:"bg-data-teal/10 border-2 border-dashed border-data-teal rounded p-xl",children:J.jsx("p",{className:"text-center text-sm text-muted-foreground",children:"Live Preview: Section with py-section-y"})})})]})]})]})]})}),J.jsx(yQ,{value:"colors",className:"space-y-3xl",children:J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold mb-lg",children:"Color System"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-2xl",children:"Semantic color tokens using HSL format for consistent theming."}),J.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-lg",children:bJ.map(e=>J.jsx(aU,{children:J.jsxs(oU,{className:"p-lg",children:[J.jsx("div",{className:VT("h-24 rounded-lg mb-lg",e.preview)}),J.jsxs("div",{className:"space-y-xs",children:[J.jsx("div",{className:"font-mono text-sm font-bold",children:e.name}),J.jsx("div",{className:"text-sm text-muted-foreground",children:e.desc}),J.jsxs("code",{className:"text-xs bg-muted px-2 py-1 rounded block",children:['className="',e.preview,'"']})]})]})},e.name))}),J.jsx("div",{className:"mt-3xl",children:J.jsxs(aU,{children:[J.jsx(rU,{children:J.jsx(iU,{children:"Best Practices"})}),J.jsxs(oU,{className:"space-y-lg",children:[J.jsxs("div",{className:"space-y-sm",children:[J.jsx("h4",{className:"font-semibold text-sm",children:"✅ DO"}),J.jsx(vJ,{code:'// Use semantic tokens\n<div className="bg-background text-foreground">\n  <Button className="bg-primary text-primary-foreground">\n    Click me\n  </Button>\n</div>'})]}),J.jsxs("div",{className:"space-y-sm",children:[J.jsx("h4",{className:"font-semibold text-sm",children:"❌ DON'T"}),J.jsx(vJ,{code:'// Avoid hardcoded colors\n<div className="bg-white text-black">\n  <Button className="bg-blue-500 text-white">\n    Click me\n  </Button>\n</div>'})]})]})]})})]})}),J.jsx(yQ,{value:"typography",className:"space-y-3xl",children:J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold mb-lg",children:"Typography"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-2xl",children:"Consistent type scale for hierarchy and readability."}),J.jsx(aU,{children:J.jsxs(oU,{className:"p-2xl space-y-2xl",children:[J.jsxs("div",{children:[J.jsx("h1",{className:"text-5xl font-bold mb-sm",children:"Heading 1"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-5xl font-bold"})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("h2",{className:"text-4xl font-bold mb-sm",children:"Heading 2"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-4xl font-bold"})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("h3",{className:"text-3xl font-bold mb-sm",children:"Heading 3"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-3xl font-bold"})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("h4",{className:"text-2xl font-bold mb-sm",children:"Heading 4"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-2xl font-bold"})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("p",{className:"text-lg mb-sm",children:"Body Large - Used for hero subtitles and important text"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-lg"})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("p",{className:"text-base mb-sm",children:"Body - Default text size for most content"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-base"})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("p",{className:"text-sm mb-sm",children:"Small - Used for supporting text and captions"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-sm"})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("p",{className:"text-xs mb-sm",children:"Extra Small - Used for labels and metadata"}),J.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:"text-xs"})]})]})})]})}),J.jsx(yQ,{value:"components",className:"space-y-3xl",children:J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold mb-lg",children:"UI Components"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-2xl",children:"Reusable components with consistent spacing and styling."}),J.jsxs("div",{className:"space-y-xl",children:[J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Buttons"}),J.jsx(nU,{children:"Various button variants and sizes"})]}),J.jsxs(oU,{className:"space-y-2xl",children:[J.jsxs("div",{className:"space-y-lg",children:[J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold mb-lg",children:"Variants"}),J.jsxs("div",{className:"flex flex-wrap gap-lg",children:[J.jsx(oz,{children:"Default"}),J.jsx(oz,{variant:"secondary",children:"Secondary"}),J.jsx(oz,{variant:"outline",children:"Outline"}),J.jsx(oz,{variant:"ghost",children:"Ghost"}),J.jsx(oz,{variant:"destructive",children:"Destructive"}),J.jsx(oz,{variant:"link",children:"Link"})]})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold mb-lg",children:"Sizes"}),J.jsxs("div",{className:"flex flex-wrap items-center gap-lg",children:[J.jsx(oz,{size:"sm",children:"Small"}),J.jsx(oz,{size:"default",children:"Default"}),J.jsx(oz,{size:"lg",children:"Large"})]})]}),J.jsx(GU,{}),J.jsxs("div",{children:[J.jsx("h4",{className:"font-semibold mb-lg",children:"With Icons"}),J.jsxs("div",{className:"flex flex-wrap gap-lg",children:[J.jsxs(oz,{children:[J.jsx(Ka,{className:"mr-2 h-4 w-4"}),"With Icon"]}),J.jsxs(oz,{variant:"outline",children:["Learn More",J.jsx(Ka,{className:"ml-2 h-4 w-4"})]})]})]})]}),J.jsx(vJ,{code:'<Button>Default</Button>\n<Button variant="outline">Outline</Button>\n<Button size="lg">Large</Button>\n<Button>\n  <ArrowRight className="mr-2 h-4 w-4" />\n  With Icon\n</Button>'})]})]}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Badges"}),J.jsx(nU,{children:"Labels and tags for content"})]}),J.jsxs(oU,{className:"space-y-2xl",children:[J.jsxs("div",{className:"flex flex-wrap gap-lg",children:[J.jsx(hU,{children:"Default"}),J.jsx(hU,{variant:"secondary",children:"Secondary"}),J.jsx(hU,{variant:"outline",children:"Outline"}),J.jsx(hU,{variant:"destructive",children:"Destructive"})]}),J.jsx(vJ,{code:'<Badge>Default</Badge>\n<Badge variant="secondary">Secondary</Badge>\n<Badge variant="outline">Outline</Badge>'})]})]}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Cards"}),J.jsx(nU,{children:"Container components with unified spacing"})]}),J.jsxs(oU,{className:"space-y-2xl",children:[J.jsxs("div",{className:"grid md:grid-cols-2 gap-xl",children:[J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Card Title"}),J.jsx(nU,{children:"Card description goes here"})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"This is the card content area. Notice the consistent spacing using p-lg."})}),J.jsx(lU,{children:J.jsx(oz,{className:"w-full",children:"Action"})})]}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"With Badge"}),J.jsxs(nU,{children:[J.jsx(hU,{className:"mr-2",children:"New"}),"Enhanced card"]})]}),J.jsx(oU,{children:J.jsx("p",{className:"text-sm text-muted-foreground",children:"Cards use semantic spacing tokens for consistent padding."})})]})]}),J.jsx(vJ,{code:"<Card>\n  <CardHeader>\n    <CardTitle>Card Title</CardTitle>\n    <CardDescription>Description</CardDescription>\n  </CardHeader>\n  <CardContent>\n    {/* Content uses p-lg by default */}\n  </CardContent>\n  <CardFooter>\n    <Button>Action</Button>\n  </CardFooter>\n</Card>"})]})]}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Form Elements"}),J.jsx(nU,{children:"Inputs and form controls"})]}),J.jsx(oU,{className:"space-y-2xl",children:J.jsxs("div",{className:"grid md:grid-cols-2 gap-xl",children:[J.jsxs("div",{className:"space-y-lg",children:[J.jsxs("div",{children:[J.jsx(HF,{htmlFor:"name",children:"Name"}),J.jsx(zF,{id:"name",placeholder:"Enter your name",className:"mt-xs"})]}),J.jsxs("div",{children:[J.jsx(HF,{htmlFor:"email",children:"Email"}),J.jsx(zF,{id:"email",type:"email",placeholder:"you@example.com",className:"mt-xs"})]})]}),J.jsx("div",{children:J.jsx(vJ,{code:'<div className="space-y-lg">\n  <div>\n    <Label htmlFor="name">Name</Label>\n    <Input id="name" className="mt-xs" />\n  </div>\n</div>'})})]})})]})]})]})}),J.jsx(yQ,{value:"layouts",className:"space-y-3xl",children:J.jsxs("div",{children:[J.jsx("h2",{className:"text-3xl font-bold mb-lg",children:"Layout Patterns"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-2xl",children:"Common layout patterns using the unified spacing system."}),J.jsxs("div",{className:"space-y-xl",children:[J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Container Pattern"}),J.jsx(nU,{children:"Responsive container with automatic padding"})]}),J.jsxs(oU,{className:"space-y-lg",children:[J.jsx("div",{className:"bg-muted p-2xl rounded-lg",children:J.jsx("div",{className:"container bg-data-teal/10 border-2 border-dashed border-data-teal rounded p-xl",children:J.jsx("p",{className:"text-center text-sm",children:"Container with responsive padding"})})}),J.jsx(vJ,{code:'<div className="container">\n  {/* Automatically responsive padding */}\n  {/* 24px → 64px based on breakpoint */}\n</div>'})]})]}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Section Pattern"}),J.jsx(nU,{children:"Major page section with vertical padding"})]}),J.jsxs(oU,{className:"space-y-lg",children:[J.jsx("div",{className:"bg-muted p-xl rounded-lg",children:J.jsx("div",{className:"bg-data-orange/10 border-2 border-dashed border-data-orange rounded",children:J.jsx("div",{className:"py-section-y px-lg",children:J.jsx("p",{className:"text-center text-sm",children:"Section with py-section-y (96px)"})})})}),J.jsx(vJ,{code:'<section className="py-section-y">\n  <div className="container">\n    <div className="max-w-4xl mx-auto space-y-xl">\n      {/* Content */}\n    </div>\n  </div>\n</section>'})]})]}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Grid Pattern"}),J.jsx(nU,{children:"Multi-column layouts with consistent gaps"})]}),J.jsxs(oU,{className:"space-y-lg",children:[J.jsx("div",{className:"grid md:grid-cols-3 gap-xl",children:[1,2,3].map(e=>J.jsx("div",{className:"bg-data-blue/10 border-2 border-dashed border-data-blue rounded p-xl",children:J.jsxs("p",{className:"text-center text-sm",children:["Item ",e]})},e))}),J.jsx(vJ,{code:'<div className="grid md:grid-cols-3 gap-xl">\n  <div>Item 1</div>\n  <div>Item 2</div>\n  <div>Item 3</div>\n</div>'})]})]}),J.jsxs(aU,{children:[J.jsxs(rU,{children:[J.jsx(iU,{children:"Stack Pattern"}),J.jsx(nU,{children:"Vertical component spacing"})]}),J.jsxs(oU,{className:"space-y-lg",children:[J.jsx("div",{className:"space-y-xl bg-muted p-xl rounded-lg",children:[1,2,3].map(e=>J.jsx("div",{className:"bg-data-teal/10 border-2 border-dashed border-data-teal rounded p-lg",children:J.jsxs("p",{className:"text-center text-sm",children:["Component ",e]})},e))}),J.jsx(vJ,{code:'<div className="space-y-xl">\n  <Component1 />\n  <Component2 />\n  <Component3 />\n</div>'})]})]})]})]})})]})})}),J.jsx("section",{className:"py-section-y bg-surface/30",children:J.jsxs("div",{className:"container max-w-3xl text-center",children:[J.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-xl",children:"Ready to build with our system?"}),J.jsx("p",{className:"text-lg text-muted-foreground mb-2xl",children:"All components and tokens are available in your codebase. Start building consistent, maintainable interfaces today."}),J.jsxs("div",{className:"flex flex-wrap gap-lg justify-center",children:[J.jsxs(oz,{size:"lg",children:["View Source Code",J.jsx(nc,{className:"ml-2 h-4 w-4"})]}),J.jsx(oz,{size:"lg",variant:"outline",children:"Read Documentation"})]})]})})]}),J.jsx(KU,{})]})}const NJ=()=>J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Privacy Policy | Allerin"}),J.jsx("meta",{name:"description",content:"Allerin's privacy policy detailing how we collect, use, and protect your personal data in compliance with GDPR and CCPA regulations."}),J.jsx("meta",{name:"robots",content:"index, follow"})]}),J.jsx(hZ,{path:"/privacy-policy"}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsx("main",{className:"container mx-auto px-4 py-16 max-w-4xl",children:J.jsxs("article",{className:"prose prose-slate dark:prose-invert max-w-none",children:[J.jsx("h1",{className:"text-4xl font-bold mb-8",children:"Privacy Policy"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Last updated: December 2024"}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Interpretation and Definitions"}),J.jsx("h3",{children:"Interpretation"}),J.jsx("p",{children:"The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural."}),J.jsx("h3",{children:"Definitions"}),J.jsx("p",{children:"For the purposes of this Privacy Policy:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Account"})," means a unique account created for You to access our Service or parts of our Service."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Business"}),", for the purpose of the CCPA (California Consumer Privacy Act), refers to the Company as the legal entity that collects Consumers' personal information and determines the purposes and means of the processing of Consumers' personal information."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Company"}),' (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Allerin US, Inc., 2921 Prado Street, Unit A, Austin, TX 78702. For the purpose of the GDPR, the Company is the Data Controller.']}),J.jsxs("li",{children:[J.jsx("strong",{children:"Consumer"}),", for the purpose of the CCPA, means a natural person who is a California resident."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Cookies"})," are small files that are placed on Your computer, mobile device or any other device by a website."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Country"})," refers to: Texas, United States"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Data Controller"}),", for the purposes of the GDPR, refers to the Company as the legal person which determines the purposes and means of processing Personal Data."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Device"})," means any device that can access the Service such as a computer, cellphone or digital tablet."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Personal Data"})," is any information that relates to an identified or identifiable individual."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Service"})," refers to the Website."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Usage Data"})," refers to data collected automatically, either generated by the use of the Service."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Website"})," refers to Allerin, accessible from https://www.allerin.com"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"You"})," means the individual accessing or using the Service, or the company on behalf of which such individual is accessing or using the Service."]})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Collecting and Using Your Personal Data"}),J.jsx("h3",{children:"Types of Data Collected"}),J.jsx("h4",{children:"Personal Data"}),J.jsx("p",{children:"While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to contact or identify You. Personally identifiable information may include, but is not limited to:"}),J.jsxs("ul",{children:[J.jsx("li",{children:"Email address"}),J.jsx("li",{children:"First name and last name"}),J.jsx("li",{children:"Phone number"}),J.jsx("li",{children:"Address, State, Province, ZIP/Postal code, City"}),J.jsx("li",{children:"Usage Data"})]}),J.jsx("h4",{children:"Usage Data"}),J.jsx("p",{children:"Usage Data is collected automatically when using the Service. Usage Data may include information such as Your Device's Internet Protocol address, browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, unique device identifiers and other diagnostic data."}),J.jsx("h4",{children:"Tracking Technologies and Cookies"}),J.jsx("p",{children:"We use Cookies and similar tracking technologies to track activity on Our Service and store certain information. The technologies We use may include:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Cookies or Browser Cookies"})," - A small file placed on Your Device."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Flash Cookies"})," - Certain features may use local stored objects to collect and store information."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Web Beacons"})," - Small electronic files that permit the Company to count users and verify system integrity."]})]}),J.jsxs("p",{children:["For more information about cookies, please visit our ",J.jsx("a",{href:"/cookies-policy",className:"text-primary hover:underline",children:"Cookies Policy"}),"."]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Use of Your Personal Data"}),J.jsx("p",{children:"The Company may use Personal Data for the following purposes:"}),J.jsxs("ul",{children:[J.jsx("li",{children:"To provide and maintain our Service"}),J.jsx("li",{children:"To manage Your Account"}),J.jsx("li",{children:"For the performance of a contract"}),J.jsx("li",{children:"To contact You with updates and information"}),J.jsx("li",{children:"To provide news and special offers"}),J.jsx("li",{children:"To manage Your requests"}),J.jsx("li",{children:"For business transfers"}),J.jsx("li",{children:"For data analysis and service improvement"})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"GDPR Privacy"}),J.jsx("h3",{children:"Legal Basis for Processing"}),J.jsx("p",{children:"We may process Personal Data under the following conditions:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Consent"})," - You have given consent for processing"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Performance of a contract"})," - Processing is necessary for contract performance"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Legal obligations"})," - Processing is necessary for legal compliance"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Vital interests"})," - Processing protects vital interests"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Public interests"})," - Processing relates to public interest tasks"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Legitimate interests"})," - Processing serves legitimate company interests"]})]}),J.jsx("h3",{children:"Your Rights under GDPR"}),J.jsx("p",{children:"You have the right to:"}),J.jsxs("ul",{children:[J.jsx("li",{children:"Request access to Your Personal Data"}),J.jsx("li",{children:"Request correction of Your Personal Data"}),J.jsx("li",{children:"Object to processing of Your Personal Data"}),J.jsx("li",{children:"Request erasure of Your Personal Data"}),J.jsx("li",{children:"Request transfer of Your Personal Data"}),J.jsx("li",{children:"Withdraw Your consent"})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"CCPA Privacy"}),J.jsx("h3",{children:"Your Rights under CCPA"}),J.jsx("p",{children:"California residents have specific rights regarding their personal information:"}),J.jsxs("ul",{children:[J.jsx("li",{children:"The right to notice about data collection practices"}),J.jsx("li",{children:"The right to request access to collected data"}),J.jsx("li",{children:"The right to say no to sale of Personal Data"}),J.jsx("li",{children:"The right to delete Personal Data"}),J.jsx("li",{children:"The right not to be discriminated against"})]}),J.jsx("h3",{children:"Do Not Sell My Personal Information"}),J.jsxs("p",{children:["You have the right to opt-out of the sale of Your personal information. To exercise this right, please contact us at ",J.jsx("a",{href:"https://www.allerin.com/contact",className:"text-primary hover:underline",children:"www.allerin.com/contact"}),"."]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Children's Privacy"}),J.jsx("p",{children:"Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under 13. If You are a parent or guardian and aware that Your child has provided Us with Personal Data, please contact Us."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Contact Us"}),J.jsx("p",{children:"If you have any questions about this Privacy Policy, You can contact us:"}),J.jsxs("p",{children:["By visiting this page: ",J.jsx("a",{href:"https://www.allerin.com/contact",className:"text-primary hover:underline",children:"https://www.allerin.com/contact"})]})]})]})}),J.jsx(KU,{})]})]}),wJ=()=>J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Cookies Policy | Allerin"}),J.jsx("meta",{name:"description",content:"Learn about how Allerin uses cookies and tracking technologies to improve your browsing experience and analyze website traffic."}),J.jsx("meta",{name:"robots",content:"index, follow"})]}),J.jsx(hZ,{path:"/cookies-policy"}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsx("main",{className:"container mx-auto px-4 py-16 max-w-4xl",children:J.jsxs("article",{className:"prose prose-slate dark:prose-invert max-w-none",children:[J.jsx("h1",{className:"text-4xl font-bold mb-8",children:"Cookies Policy"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Last updated: July 08, 2022"}),J.jsx("p",{className:"lead mb-8",children:"This Cookies Policy explains what Cookies are and how We use them. You should read this policy so You can understand what type of cookies We use, or the information We collect using Cookies and how that information is used."}),J.jsxs("p",{children:["Cookies do not typically contain any information that personally identifies a user, but personal information that we store about You may be linked to the information stored in and obtained from Cookies. For further information on how We use, store and keep your personal data secure, see our ",J.jsx("a",{href:"/privacy-policy",className:"text-primary hover:underline",children:"Privacy Policy"}),"."]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Interpretation and Definitions"}),J.jsx("h3",{children:"Interpretation"}),J.jsx("p",{children:"The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural."}),J.jsx("h3",{children:"Definitions"}),J.jsx("p",{children:"For the purposes of this Cookies Policy:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Company"}),' (referred to as either "the Company", "We", "Us" or "Our") refers to Allerin US, Inc, 1417 1st St Austin 78704.']}),J.jsxs("li",{children:[J.jsx("strong",{children:"Cookies"})," means small files that are placed on Your computer, mobile device or any other device by a website, containing details of your browsing history on that website among its many uses."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Website"})," refers to Allerin, accessible from https://www.allerin.com"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"You"})," means the individual accessing or using the Website, or a company, or any legal entity on behalf of which such individual is accessing or using the Website, as applicable."]})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"The Use of Cookies"}),J.jsx("h3",{children:"Type of Cookies We Use"}),J.jsx("p",{children:'Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close your web browser.'}),J.jsx("p",{children:"We use both session and persistent Cookies for the purposes set out below:"}),J.jsxs("div",{className:"space-y-6 my-8",children:[J.jsxs("div",{className:"border-l-4 border-primary pl-4",children:[J.jsx("h4",{className:"font-semibold",children:"Necessary / Essential Cookies"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"Type: Session Cookies | Administered by: Us"}),J.jsx("p",{children:"These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided."})]}),J.jsxs("div",{className:"border-l-4 border-primary pl-4",children:[J.jsx("h4",{className:"font-semibold",children:"Cookie Policy / Notice Acceptance Cookies"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"Type: Persistent Cookies | Administered by: Us"}),J.jsx("p",{children:"These Cookies identify if users have accepted the use of cookies on the Website."})]}),J.jsxs("div",{className:"border-l-4 border-primary pl-4",children:[J.jsx("h4",{className:"font-semibold",children:"Functionality Cookies"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"Type: Persistent Cookies | Administered by: Us"}),J.jsx("p",{children:"These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose is to provide a more personal experience and avoid re-entering preferences."})]}),J.jsxs("div",{className:"border-l-4 border-primary pl-4",children:[J.jsx("h4",{className:"font-semibold",children:"Tracking and Performance Cookies"}),J.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"Type: Persistent Cookies | Administered by: Third-Parties"}),J.jsx("p",{children:"These Cookies track information about traffic to the Website and how users use it. The information may identify you as an individual visitor. We may also use these Cookies to test new features and see how users react."})]})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Your Choices Regarding Cookies"}),J.jsx("p",{children:"If You prefer to avoid the use of Cookies on the Website, first You must disable the use of Cookies in your browser and then delete the Cookies saved in your browser associated with this website."}),J.jsx("p",{children:"If You do not accept Our Cookies, You may experience some inconvenience in your use of the Website and some features may not function properly."}),J.jsx("p",{children:"If You'd like to delete Cookies or instruct your web browser to delete or refuse Cookies, please visit the help pages of your web browser:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Chrome:"})," ",J.jsx("a",{href:"https://support.google.com/accounts/answer/32050",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Google Chrome Help"})]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Internet Explorer:"})," ",J.jsx("a",{href:"http://support.microsoft.com/kb/278835",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Microsoft Support"})]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Firefox:"})," ",J.jsx("a",{href:"https://support.mozilla.org/en-US/kb/delete-cookies-remove-info-websites-stored",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Mozilla Firefox Help"})]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Safari:"})," ",J.jsx("a",{href:"https://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Apple Safari Help"})]})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"More Information about Cookies"}),J.jsxs("p",{children:["You can learn more about cookies at ",J.jsx("a",{href:"https://www.privacypolicies.com/blog/cookies/",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"What Are Cookies?"})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Contact Us"}),J.jsx("p",{children:"If you have any questions about this Cookies Policy, You can contact us:"}),J.jsxs("p",{children:["By visiting this page: ",J.jsx("a",{href:"https://www.allerin.com/contact",className:"text-primary hover:underline",children:"https://www.allerin.com/contact"})]})]})]})}),J.jsx(KU,{})]})]}),kJ=()=>J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Disclaimer | Allerin"}),J.jsx("meta",{name:"description",content:"Legal disclaimer for Allerin's website including information about accuracy, external links, and limitations of liability."}),J.jsx("meta",{name:"robots",content:"index, follow"})]}),J.jsx(hZ,{path:"/disclaimer"}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsx("main",{className:"container mx-auto px-4 py-16 max-w-4xl",children:J.jsxs("article",{className:"prose prose-slate dark:prose-invert max-w-none",children:[J.jsx("h1",{className:"text-4xl font-bold mb-8",children:"Disclaimer"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Last updated: December 2024"}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Interpretation and Definitions"}),J.jsx("h3",{children:"Interpretation"}),J.jsx("p",{children:"The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural."}),J.jsx("h3",{children:"Definitions"}),J.jsx("p",{children:"For the purposes of this Disclaimer:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Company"}),' (referred to as either "the Company", "We", "Us" or "Our") refers to Allerin US, Inc., 2921 Prado Street, Unit A, Austin, TX 78702.']}),J.jsxs("li",{children:[J.jsx("strong",{children:"Service"})," refers to the Website."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"You"})," means the individual accessing the Service, or the company on behalf of which such individual is accessing or using the Service."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Website"})," refers to Allerin, accessible from https://www.allerin.com"]})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Disclaimer"}),J.jsx("p",{children:"The information contained on the Service is for general information purposes only."}),J.jsx("p",{children:"The Company assumes no responsibility for errors or omissions in the contents of the Service."}),J.jsx("p",{children:"In no event shall the Company be liable for any special, direct, indirect, consequential, or incidental damages or any damages whatsoever, whether in an action of contract, negligence or other tort, arising out of or in connection with the use of the Service or the contents of the Service."}),J.jsx("p",{children:"The Company reserves the right to make additions, deletions, or modifications to the contents on the Service at any time without prior notice."}),J.jsx("p",{children:"The Company does not warrant that the Service is free of viruses or other harmful components."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"External Links Disclaimer"}),J.jsx("p",{children:"The Service may contain links to external websites that are not provided or maintained by or in any way affiliated with the Company."}),J.jsx("p",{children:"Please note that the Company does not guarantee the accuracy, relevance, timeliness, or completeness of any information on these external websites."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Errors and Omissions Disclaimer"}),J.jsx("p",{children:"The information given by the Service is for general guidance on matters of interest only. Even if the Company takes every precaution to ensure that the content of the Service is both current and accurate, errors can occur."}),J.jsx("p",{children:"Plus, given the changing nature of laws, rules and regulations, there may be delays, omissions or inaccuracies in the information contained on the Service."}),J.jsx("p",{children:"The Company is not responsible for any errors or omissions, or for the results obtained from the use of this information."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Fair Use Disclaimer"}),J.jsx("p",{children:"The Company may use copyrighted material which has not always been specifically authorized by the copyright owner. The Company is making such material available for criticism, comment, news reporting, teaching, scholarship, or research."}),J.jsx("p",{children:'The Company believes this constitutes a "fair use" of any such copyrighted material as provided for in section 107 of the United States Copyright law.'}),J.jsx("p",{children:"If You wish to use copyrighted material from the Service for your own purposes that go beyond fair use, You must obtain permission from the copyright owner."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Views Expressed Disclaimer"}),J.jsx("p",{children:"The Service may contain views and opinions which are those of the authors and do not necessarily reflect the official policy or position of any other author, agency, organization, employer or company, including the Company."}),J.jsx("p",{children:"Comments published by users are their sole responsibility and the users will take full responsibility, liability and blame for any libel or litigation that results from something written in or as a direct result of something written in a comment."}),J.jsx("p",{children:"The Company is not liable for any comment published by users and reserves the right to delete any comment for any reason whatsoever."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"No Responsibility Disclaimer"}),J.jsx("p",{children:"The information on the Service is provided with the understanding that the Company is not herein engaged in rendering legal, accounting, tax, or other professional advice and services. As such, it should not be used as a substitute for consultation with professional accounting, tax, legal or other competent advisers."}),J.jsx("p",{children:"In no event shall the Company or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever arising out of or in connection with your access or use or inability to access or use the Service."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:'"Use at Your Own Risk" Disclaimer'}),J.jsx("p",{children:'All information in the Service is provided "as is", with no guarantee of completeness, accuracy, timeliness or of the results obtained from the use of this information, and without warranty of any kind, express or implied, including, but not limited to warranties of performance, merchantability and fitness for a particular purpose.'}),J.jsx("p",{children:"The Company will not be liable to You or anyone else for any decision made or action taken in reliance on the information given by the Service or for any consequential, special or similar damages, even if advised of the possibility of such damages."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Contact Us"}),J.jsx("p",{children:"If you have any questions about this Disclaimer, You can contact us:"}),J.jsxs("p",{children:["By visiting this page: ",J.jsx("a",{href:"https://www.allerin.com/contact",className:"text-primary hover:underline",children:"https://www.allerin.com/contact"})]})]})]})}),J.jsx(KU,{})]})]}),MJ=()=>J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Diversity, Equity & Inclusion Policy | Allerin"}),J.jsx("meta",{name:"description",content:"Allerin's commitment to diversity, equity, and inclusion in the workplace. Learn about our policies and practices for fostering an inclusive environment."}),J.jsx("meta",{name:"robots",content:"index, follow"})]}),J.jsx(hZ,{path:"/dei"}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsx("main",{className:"container mx-auto px-4 py-16 max-w-4xl",children:J.jsxs("article",{className:"prose prose-slate dark:prose-invert max-w-none",children:[J.jsx("h1",{className:"text-4xl font-bold mb-8",children:"Diversity, Equity & Inclusion Policy"}),J.jsx("div",{className:"bg-primary/5 border-l-4 border-primary p-6 mb-8",children:J.jsx("p",{className:"lead mb-0",children:"At Allerin, we are committed to building a vibrant and diverse work environment that reflects the society we serve. Diversity, Equity, and Inclusion are essential to our firm's ability to deliver on our mission."})}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Our Commitment"}),J.jsx("p",{children:"Our commitment to diversity is reflected in our policies and practices, including our equal employment opportunity policy, which prohibits discrimination based on race, ethnicity, gender identity, sexual orientation, disability status, veteran status or any other characteristic protected by law."}),J.jsx("p",{children:"Our policy also prohibits harassment based on protected characteristics and retaliation against anyone who complains about or opposes unlawful discrimination or harassment."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Why Diversity Matters"}),J.jsx("p",{children:"An inclusive workplace is good for business because it helps us attract and retain the best talent and supports our clients' success by helping them address challenges related to diversity and inclusion."}),J.jsx("p",{children:"We strive to create an environment where everyone feels valued and respected—one where employees feel comfortable expressing their views openly without fear of reprisal or retaliation."}),J.jsx("p",{children:"Diversity drives innovation and creativity by helping us find new ways to address problems, improve processes, and provide better products."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Our DEI Initiatives"}),J.jsx("p",{children:"Allerin is committed to ensuring a diverse and inclusive workplace where everyone feels welcome, respected, and supported. Our diversity initiatives are applicable—but not limited—to our practices and policies on:"}),J.jsxs("ul",{children:[J.jsx("li",{children:"Recruitment and selection"}),J.jsx("li",{children:"Compensation and benefits"}),J.jsx("li",{children:"Professional development and training"}),J.jsx("li",{children:"Promotions and transfers"}),J.jsx("li",{children:"Social and recreational programs"}),J.jsx("li",{children:"Layoffs and terminations"}),J.jsx("li",{children:"The ongoing development of a work environment built on the premise of gender and diversity equity"})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Creating an Inclusive Environment"}),J.jsx("p",{children:"We encourage and enforce:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Respectful communication and cooperation"})," between all employees"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Teamwork and employee participation"})," that permits the representation of all groups and employee perspectives"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Community engagement"})," through employer and employee contributions to promote greater understanding and respect for diversity"]})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Employee Responsibilities"}),J.jsx("p",{children:"All employees of Allerin have a responsibility to treat others with dignity and respect at all times. All employees are expected to exhibit conduct that reflects inclusion during work and at work functions on or off the work site."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{children:"Contact Us"}),J.jsx("p",{children:"If you have questions about our DEI policies or initiatives, please contact us:"}),J.jsxs("p",{children:["By visiting this page: ",J.jsx("a",{href:"https://www.allerin.com/contact",className:"text-primary hover:underline",children:"https://www.allerin.com/contact"})]})]})]})}),J.jsx(KU,{})]})]}),AJ=()=>J.jsxs(J.Fragment,{children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Terms of Service | Allerin"}),J.jsx("meta",{name:"description",content:"Terms and conditions governing the use of Allerin's services, including intellectual property rights, user obligations, and limitation of liability."}),J.jsx("meta",{name:"robots",content:"index, follow"})]}),J.jsx(hZ,{path:"/terms-of-service"}),J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsx(UG,{}),J.jsx("main",{className:"container mx-auto px-4 py-16 max-w-4xl",children:J.jsxs("article",{className:"prose prose-slate dark:prose-invert max-w-none",children:[J.jsx("h1",{className:"text-4xl font-bold mb-8",children:"Terms of Service"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Last updated: December 2024"}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Interpretation and Definitions"}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Interpretation"}),J.jsx("p",{children:"The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Definitions"}),J.jsx("p",{children:"For the purposes of these Terms and Conditions:"}),J.jsxs("ul",{children:[J.jsxs("li",{children:[J.jsx("strong",{children:"Affiliate"}),' means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.']}),J.jsxs("li",{children:[J.jsx("strong",{children:"Country"})," refers to: Texas, United States"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Company"}),' (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Allerin US, Inc., 2921 Prado Street, Unit A, Austin, TX 78702.']}),J.jsxs("li",{children:[J.jsx("strong",{children:"Device"})," means any device that can access the Service such as a computer, a cellphone or a digital tablet."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Feedback"})," means feedback, innovations or suggestions sent by You regarding the attributes, performance or features of our Service."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Service"})," refers to the Website."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Terms and Conditions"}),' (also referred as "Terms") mean these Terms and Conditions that form the entire agreement between You and the Company regarding the use of the Service.']}),J.jsxs("li",{children:[J.jsx("strong",{children:"Third-party Social Media Service"})," means any services or content (including data, information, products or services) provided by a third-party that may be displayed, included or made available by the Service."]}),J.jsxs("li",{children:[J.jsx("strong",{children:"Website"})," refers to Allerin Tech, accessible from https://www.allerin.com"]}),J.jsxs("li",{children:[J.jsx("strong",{children:"You"})," means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable."]})]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Acknowledgment"}),J.jsx("p",{children:"These are the Terms and Conditions governing the use of this Service and the agreement that operates between You and the Company. These Terms and Conditions set out the rights and obligations of all users regarding the use of the Service."}),J.jsx("p",{children:"Your access to and use of the Service is conditioned on Your acceptance of and compliance with these Terms and Conditions. These Terms and Conditions apply to all visitors, users and others who access or use the Service."}),J.jsx("p",{children:"By accessing or using the Service You agree to be bound by these Terms and Conditions. If You disagree with any part of these Terms and Conditions then You may not access the Service."}),J.jsx("p",{children:"You represent that you are over the age of 18. The Company does not permit those under 18 to use the Service."}),J.jsxs("p",{children:["Your access to and use of the Service is also conditioned on Your acceptance of and compliance with the Privacy Policy of the Company. Our Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your personal information when You use the Application or the Website and tells You about Your privacy rights and how the law protects You. Please read Our ",J.jsx("a",{href:"/privacy-policy",className:"text-primary hover:underline",children:"Privacy Policy"})," carefully before using Our Service."]})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Intellectual Property"}),J.jsx("p",{children:"The Service and its original content (excluding Content provided by You or other users), features and functionality are and will remain the exclusive property of the Company and its licensors."}),J.jsx("p",{children:"The Service is protected by copyright, trademark, and other laws of both the Country and foreign countries."}),J.jsx("p",{children:"Our trademarks and trade dress may not be used in connection with any product or service without the prior written consent of the Company."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Third-Party Trademarks"}),J.jsx("p",{children:"All third-party trademarks, service marks, logos, and brand names appearing on this website—including but not limited to NVIDIA, IBM, Microsoft, Google, AWS, and others—are the property of their respective owners. Reference to any products, services, processes, or other information by trade name, trademark, manufacturer, supplier, or otherwise does not constitute or imply endorsement, sponsorship, recommendation, or affiliation by or with the Company. The Company is an independent technology services provider and is not affiliated with, endorsed by, or sponsored by any third-party trademark owners unless explicitly stated."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"AI Products and Services"}),J.jsx("p",{children:"The Company provides artificial intelligence (AI) products and services, including but not limited to computer vision, analytics, and detection systems. By using or implementing any AI product or service provided by the Company, You acknowledge and agree to the following:"}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"No Guarantee of Outcomes"}),J.jsx("p",{children:"AI systems are probabilistic in nature and do not guarantee specific outcomes. Detection, classification, and analysis results are provided as decision-support tools and should not be solely relied upon for critical decisions without human review and verification."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Not a Replacement for Professional Judgment"}),J.jsx("p",{children:"The Company's AI products are designed to augment—not replace—human judgment, professional expertise, and established safety protocols. Users should maintain appropriate human oversight, verification processes, and backup procedures."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Environmental Factors"}),J.jsx("p",{children:"AI system performance may vary based on environmental conditions, hardware configuration, data quality, integration methods, lighting conditions, camera placement, network infrastructure, and other factors outside the Company's control."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Compliance Responsibility"}),J.jsx("p",{children:"You are solely responsible for ensuring that Your use of the Company's AI products complies with all applicable laws, regulations, and industry standards in Your jurisdiction, including but not limited to privacy laws, surveillance regulations, employment laws, and sector-specific requirements."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Security Applications"}),J.jsx("p",{children:"For AI products used in security, safety, or threat detection applications, You acknowledge that: (a) No AI system can detect all threats or achieve 100% accuracy; (b) False positives (incorrect detections) and false negatives (missed detections) may occur; (c) AI detection systems should be used as one layer of a comprehensive security program, not as a sole security measure; (d) The Company does not guarantee prevention of any specific harm, incident, or loss; and (e) You are responsible for appropriate response protocols, staff training, and operational procedures."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Performance Metrics"}),J.jsx("p",{children:"Performance metrics, benchmarks, accuracy rates, processing speeds, and other quantitative claims referenced on this website or in product documentation are provided for informational purposes and represent results achieved under specific test conditions. Your actual results may differ based on hardware specifications, network infrastructure, data quality, environmental conditions, integration methods, and operational workflows. Stated performance metrics are not contractual guarantees unless explicitly included in a written agreement between You and the Company."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Indemnification for AI Products"}),J.jsx("p",{children:"You agree to indemnify and hold harmless the Company from any claims, damages, losses, or expenses arising from Your use, implementation, or deployment of the Company's AI products."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Open Source Software"}),J.jsx("p",{children:"Our products and services may incorporate open source software components licensed under various open source licenses. A list of open source components and their applicable licenses is available upon request."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"License Terms"}),J.jsx("p",{children:"Each open source component is subject to its own license terms, which are made available with the component. Nothing in these Terms of Service limits or modifies the rights and obligations You may have under such open source licenses with respect to the open source software components."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Third-Party Components Disclaimer"}),J.jsx("p",{children:'Open source and third-party components are provided "as is" without warranties of any kind. The Company does not warrant that open source or third-party components are free from defects, errors, or security vulnerabilities. The Company shall not be liable for any damages arising from the use of open source or third-party components, including but not limited to intellectual property infringement claims by third parties.'}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Your Responsibility"}),J.jsx("p",{children:"If You redistribute or deploy our products, You are responsible for complying with the applicable open source license terms, including any requirements to provide attribution, license notices, or source code as specified by the relevant licenses."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Intellectual Property Claims"}),J.jsx("p",{children:"The Company makes no representations regarding potential intellectual property claims by third parties relating to open source components. If You become aware of any such claims, please notify us promptly."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Software Bill of Materials"}),J.jsx("p",{children:"Enterprise customers may request a Software Bill of Materials (SBOM) listing open source components in our products. Contact us for SBOM requests."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Your Feedback to Us"}),J.jsx("p",{children:"You assign all rights, title and interest in any Feedback You provide the Company. If for any reason such assignment is ineffective, You agree to grant the Company a non-exclusive, perpetual, irrevocable, royalty free, worldwide right and license to use, reproduce, disclose, sub-license, distribute, modify and exploit such Feedback without restriction."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Links to Other Websites"}),J.jsx("p",{children:"Our Service may contain links to third-party web sites or services that are not owned or controlled by the Company."}),J.jsx("p",{children:"The Company has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that the Company shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with the use of or reliance on any such content, goods or services available on or through any such web sites or services."}),J.jsx("p",{children:"We strongly advise You to read the terms and conditions and privacy policies of any third-party web sites or services that You visit."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Termination"}),J.jsx("p",{children:"We may terminate or suspend Your access immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these Terms and Conditions."}),J.jsx("p",{children:"Upon termination, Your right to use the Service will cease immediately."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Limitation of Liability"}),J.jsx("p",{children:"Notwithstanding any damages that You might incur, the entire liability of the Company and any of its suppliers under any provision of this Terms and Your exclusive remedy for all of the foregoing shall be limited to the amount actually paid by You through the Service or 100 USD if You haven't purchased anything through the Service."}),J.jsx("p",{children:"To the maximum extent permitted by applicable law, in no event shall the Company or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profits, loss of data or other information, for business interruption, for personal injury, loss of privacy arising out of or in any way related to the use of or inability to use the Service, third-party software and/or third-party hardware used with the Service, or otherwise in connection with any provision of this Terms), even if the Company or any supplier has been advised of the possibility of such damages and even if the remedy fails of its essential purpose."}),J.jsx("p",{children:"Some states do not allow the exclusion of implied warranties or limitation of liability for incidental or consequential damages, which means that some of the above limitations may not apply. In these states, each party's liability will be limited to the greatest extent permitted by law."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:'"AS IS" and "AS AVAILABLE" Disclaimer'}),J.jsx("p",{children:'The Service is provided to You "AS IS" and "AS AVAILABLE" and with all faults and defects without warranty of any kind. To the maximum extent permitted under applicable law, the Company, on its own behalf and on behalf of its Affiliates and its and their respective licensors and service providers, expressly disclaims all warranties, whether express, implied, statutory or otherwise, with respect to the Service, including all implied warranties of merchantability, fitness for a particular purpose, title and non-infringement, and warranties that may arise out of course of dealing, course of performance, usage or trade practice.'}),J.jsx("p",{children:"Without limitation to the foregoing, the Company provides no warranty or undertaking, and makes no representation of any kind that the Service will meet Your requirements, achieve any intended results, be compatible or work with any other software, applications, systems or services, operate without interruption, meet any performance or reliability standards or be error free or that any errors or defects can or will be corrected."}),J.jsx("p",{children:"Some jurisdictions do not allow the exclusion of certain types of warranties or limitations on applicable statutory rights of a consumer, so some or all of the above exclusions and limitations may not apply to You. But in such a case the exclusions and limitations set forth in this section shall be applied to the greatest extent enforceable under applicable law."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Governing Law"}),J.jsx("p",{children:"The laws of the Country, excluding its conflicts of law rules, shall govern this Terms and Your use of the Service. Your use of the Application may also be subject to other local, state, national, or international laws."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Disputes Resolution"}),J.jsx("p",{children:"If You have any concern or dispute about the Service, You agree to first try to resolve the dispute informally by contacting the Company."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"For European Union (EU) Users"}),J.jsx("p",{children:"If You are a European Union consumer, you will benefit from any mandatory provisions of the law of the country in which you are resident in."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"United States Legal Compliance"}),J.jsx("p",{children:'You represent and warrant that (i) You are not located in a country that is subject to the United States government embargo, or that has been designated by the United States government as a "terrorist supporting" country, and (ii) You are not listed on any United States government list of prohibited or restricted parties.'})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Severability and Waiver"}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Severability"}),J.jsx("p",{children:"If any provision of these Terms is held to be unenforceable or invalid, such provision will be changed and interpreted to accomplish the objectives of such provision to the greatest extent possible under applicable law and the remaining provisions will continue in full force and effect."}),J.jsx("h3",{className:"text-lg font-semibold mt-6 mb-2",children:"Waiver"}),J.jsx("p",{children:"Except as provided herein, the failure to exercise a right or to require performance of an obligation under these Terms shall not effect a party's ability to exercise such right or require such performance at any time thereafter nor shall the waiver of a breach constitute a waiver of any subsequent breach."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Translation Interpretation"}),J.jsx("p",{children:"These Terms and Conditions may have been translated if We have made them available to You on our Service. You agree that the original English text shall prevail in the case of a dispute."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Changes to These Terms and Conditions"}),J.jsx("p",{children:"We reserve the right, at Our sole discretion, to modify or replace these Terms at any time. If a revision is material We will make reasonable efforts to provide at least 30 days' notice prior to any new terms taking effect. What constitutes a material change will be determined at Our sole discretion."}),J.jsx("p",{children:"By continuing to access or use Our Service after those revisions become effective, You agree to be bound by the revised terms. If You do not agree to the new terms, in whole or in part, please stop using the website and the Service."})]}),J.jsxs("section",{className:"mb-12",children:[J.jsx("h2",{className:"text-2xl font-bold mt-8 mb-4",children:"Contact Us"}),J.jsx("p",{children:"If you have any questions about these Terms of Service, You can contact us:"}),J.jsxs("p",{children:["By visiting this page: ",J.jsx("a",{href:"https://www.allerin.com/contact",className:"text-primary hover:underline",children:"https://www.allerin.com/contact"})]})]})]})}),J.jsx(KU,{})]})]}),SJ=kF({name:vF().trim().min(1,"Name is required").max(100,"Name must be less than 100 characters"),email:vF().trim().email("Invalid email address").max(255,"Email must be less than 255 characters"),company:vF().trim().max(100,"Company name must be less than 100 characters").optional(),phone:vF().trim().max(20,"Phone must be less than 20 characters").optional(),message:vF().trim().min(1,"Message is required").max(2e3,"Message must be less than 2000 characters")}),CJ=()=>{const[e,t]=Qe.useState({name:"",email:"",company:"",phone:"",message:""}),[s,a]=Qe.useState({}),[r,i]=Qe.useState(!1),n=e=>{const{name:r,value:i}=e.target;t(e=>({...e,[r]:i})),s[r]&&a(e=>({...e,[r]:void 0}))};return J.jsxs("div",{className:"min-h-screen bg-background",children:[J.jsxs(iz,{children:[J.jsx("title",{children:"Contact Us — Get in Touch with Allerin AI Experts"}),J.jsx("meta",{name:"description",content:"Contact Allerin for production-grade AI solutions. Located in Austin, TX. Call +1-512-200-2416 or email analytics@allerin.com. Response within 24 hours."}),J.jsx("link",{rel:"canonical",href:"https://www.allerin.com/contact"}),J.jsx("meta",{property:"og:title",content:"Contact Us — Get in Touch with Allerin AI Experts"}),J.jsx("meta",{property:"og:description",content:"Contact Allerin for production-grade AI solutions. Located in Austin, TX. Call +1-512-200-2416 or email analytics@allerin.com."}),J.jsx("meta",{property:"og:url",content:"https://www.allerin.com/contact"}),J.jsx("meta",{property:"og:type",content:"website"}),J.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/company.webp"}),J.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),J.jsx("meta",{name:"twitter:title",content:"Contact Us — Get in Touch with Allerin AI Experts"}),J.jsx("meta",{name:"twitter:description",content:"Contact Allerin for production-grade AI solutions. Located in Austin, TX."}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Organization",name:"Allerin",url:"https://www.allerin.com",logo:"https://www.allerin.com/allerin-logo.png",contactPoint:{"@type":"ContactPoint",telephone:"+1-512-200-2416",contactType:"sales",email:"analytics@allerin.com",availableLanguage:["English"]},address:{"@type":"PostalAddress",streetAddress:"2921 Prado Street, Unit A",addressLocality:"Austin",addressRegion:"TX",postalCode:"78702",addressCountry:"US"}})}),J.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"LocalBusiness",name:"Allerin",image:"https://www.allerin.com/allerin-logo.png",telephone:"+1-512-200-2416",email:"analytics@allerin.com",address:{"@type":"PostalAddress",streetAddress:"2921 Prado Street, Unit A",addressLocality:"Austin",addressRegion:"TX",postalCode:"78702",addressCountry:"US"},geo:{"@type":"GeoCoordinates",latitude:30.2672,longitude:-97.7431},openingHoursSpecification:{"@type":"OpeningHoursSpecification",dayOfWeek:["Monday","Tuesday","Wednesday","Thursday","Friday"],opens:"09:00",closes:"18:00"},priceRange:"$$$$"})})]}),J.jsx(UG,{}),J.jsx("main",{id:"main",className:"container mx-auto px-6 py-16",children:J.jsxs("div",{className:"max-w-6xl mx-auto",children:[J.jsxs("div",{className:"text-center mb-16",children:[J.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-foreground mb-4",children:"Contact Us"}),J.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto",children:"Ready to ship production AI faster? Our team responds within 24 hours."})]}),J.jsxs("div",{className:"grid lg:grid-cols-2 gap-12",children:[J.jsxs("div",{className:"space-y-8",children:[J.jsxs("div",{children:[J.jsx("h2",{className:"text-2xl font-semibold text-foreground mb-6",children:"Get in Touch"}),J.jsx("p",{className:"text-muted-foreground mb-8",children:"Whether you have a question about our AI services, need a custom solution, or want to discuss your project requirements, we're here to help."})]}),J.jsxs("div",{className:"space-y-6",children:[J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-teal/10",children:J.jsx(Fy,{className:"h-6 w-6 text-data-teal"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground",children:"Office Address"}),J.jsxs("address",{className:"not-italic text-muted-foreground",children:["2921 Prado Street, Unit A",J.jsx("br",{}),"Austin, TX 78702",J.jsx("br",{}),"United States"]})]})]}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-orange/10",children:J.jsx(Xj,{className:"h-6 w-6 text-data-orange"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground",children:"Phone"}),J.jsx("a",{href:"tel:+15122002416",className:"text-muted-foreground hover:text-data-teal transition-colors",children:"+1-512-200-2416"})]})]}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-data-blue/10",children:J.jsx(Sy,{className:"h-6 w-6 text-data-blue"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground",children:"Email"}),J.jsx("a",{href:"mailto:analytics@allerin.com",className:"text-muted-foreground hover:text-data-teal transition-colors",children:"analytics@allerin.com"})]})]}),J.jsxs("div",{className:"flex items-start gap-4",children:[J.jsx("div",{className:"p-3 rounded-lg bg-primary/10",children:J.jsx(Ld,{className:"h-6 w-6 text-primary"})}),J.jsxs("div",{children:[J.jsx("h3",{className:"font-semibold text-foreground",children:"Business Hours"}),J.jsx("p",{className:"text-muted-foreground",children:"Monday – Friday: 9:00 AM – 6:00 PM CST"})]})]})]}),J.jsxs("div",{className:"pt-8 border-t border-outline/20",children:[J.jsx("h3",{className:"font-semibold text-foreground mb-4",children:"Quick Links"}),J.jsxs("div",{className:"flex flex-wrap gap-3",children:[J.jsx("a",{href:"/roi-calculator",className:"text-sm px-4 py-2 rounded-full border border-outline/30 hover:border-data-teal/50 hover:bg-data-teal/5 transition-all",children:"ROI Calculator"}),J.jsx("a",{href:"/services",className:"text-sm px-4 py-2 rounded-full border border-outline/30 hover:border-data-teal/50 hover:bg-data-teal/5 transition-all",children:"Our Services"}),J.jsx("a",{href:"/trust",className:"text-sm px-4 py-2 rounded-full border border-outline/30 hover:border-data-teal/50 hover:bg-data-teal/5 transition-all",children:"Trust Center"})]})]})]}),J.jsxs("div",{className:"clean-card p-8 rounded-xl border border-outline/20",children:[J.jsx("h2",{className:"text-2xl font-semibold text-foreground mb-6",children:"Send a Message"}),J.jsxs("form",{onSubmit:async s=>{s.preventDefault(),i(!0);const r=SJ.safeParse(e);if(!r.success){const e={};return r.error.errors.forEach(t=>{t.path[0]&&(e[t.path[0]]=t.message)}),a(e),void i(!1)}try{const e=new URLSearchParams(window.location.search),{error:s}=await qG.functions.invoke("demo-request",{body:{name:r.data.name,email:r.data.email,company:r.data.company||"",phone:r.data.phone||"",message:r.data.message,intent:"inquiry",sourcePage:"/contact",sourceButton:"contact_form",utmSource:e.get("utm_source")||void 0,utmMedium:e.get("utm_medium")||void 0,utmCampaign:e.get("utm_campaign")||void 0}});if(s)return uR.error("Something went wrong. Please try again or email us directly at analytics@allerin.com"),void i(!1);uR.success("Thank you for your message! We'll be in touch within 24 hours."),t({name:"",email:"",company:"",phone:"",message:""})}catch(n){uR.error("Something went wrong. Please try again or email us directly at analytics@allerin.com")}finally{i(!1)}},className:"space-y-6",children:[J.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"name",children:"Name *"}),J.jsx(zF,{id:"name",name:"name",value:e.name,onChange:n,placeholder:"Your name",className:s.name?"border-destructive":""}),s.name&&J.jsx("p",{className:"text-sm text-destructive",children:s.name})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"email",children:"Email *"}),J.jsx(zF,{id:"email",name:"email",type:"email",value:e.email,onChange:n,placeholder:"you@company.com",className:s.email?"border-destructive":""}),s.email&&J.jsx("p",{className:"text-sm text-destructive",children:s.email})]})]}),J.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"company",children:"Company"}),J.jsx(zF,{id:"company",name:"company",value:e.company,onChange:n,placeholder:"Your company",className:s.company?"border-destructive":""}),s.company&&J.jsx("p",{className:"text-sm text-destructive",children:s.company})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"phone",children:"Phone"}),J.jsx(zF,{id:"phone",name:"phone",type:"tel",value:e.phone,onChange:n,placeholder:"+1 (555) 000-0000",className:s.phone?"border-destructive":""}),s.phone&&J.jsx("p",{className:"text-sm text-destructive",children:s.phone})]})]}),J.jsxs("div",{className:"space-y-2",children:[J.jsx(HF,{htmlFor:"message",children:"Message *"}),J.jsx(_F,{id:"message",name:"message",value:e.message,onChange:n,placeholder:"Tell us about your project or question...",rows:5,className:s.message?"border-destructive":""}),s.message&&J.jsx("p",{className:"text-sm text-destructive",children:s.message})]}),J.jsx(oz,{type:"submit",disabled:r,className:"w-full data-accent bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue",children:r?"Sending...":"Send Message"}),J.jsxs("p",{className:"text-xs text-muted-foreground text-center",children:["By submitting this form, you agree to our"," ",J.jsx("a",{href:"/privacy-policy",className:"underline hover:text-foreground",children:"Privacy Policy"}),"."]})]})]})]})]})}),J.jsx(KU,{})]})},IJ=Qe.lazy(()=>pt(()=>import("./RoiCalculatorLanding-DRnfvM0B.js"),__vite__mapDeps([0,1,2,3]))),PJ=Qe.lazy(()=>pt(()=>import("./RoiCalculatorAgentic-Y8aKh9MU.js"),__vite__mapDeps([4,1,2,5,3]))),TJ=Qe.lazy(()=>pt(()=>import("./RoiCalculatorCv-JodHdSS5.js"),__vite__mapDeps([6,1,2,5,3]))),RJ=Qe.lazy(()=>pt(()=>import("./RoiCalculatorModernization-BHae0NoG.js"),__vite__mapDeps([7,1,2,5,3]))),OJ=Qe.lazy(()=>pt(()=>import("./Outcomes-wytJPo0D.js"),__vite__mapDeps([8,1,2,5,3,9]))),DJ=Qe.lazy(()=>pt(()=>import("./EnterpriseSaasPerformance-DFNhuSad.js"),__vite__mapDeps([10,1,2,3]))),qJ=Qe.lazy(()=>pt(()=>import("./MunicipalCvCost-AlC-kqyV.js"),__vite__mapDeps([11,1,2,3]))),EJ=Qe.lazy(()=>pt(()=>import("./RedactionCompliance-DIy_7zPJ.js"),__vite__mapDeps([12,1,2,3]))),zJ=Qe.lazy(()=>pt(()=>import("./Soc2Startups-DqGn_s8e.js"),__vite__mapDeps([13,1,2,3]))),_J=Qe.lazy(()=>pt(()=>import("./AIReadinessAssessment-DY_ZyROZ.js"),__vite__mapDeps([14,1,2,9,3]))),LJ=new EO,FJ=()=>{const e=at();return Qe.useEffect(()=>{const t=window.location.hash;"#company"!==t&&"#about"!==t||e("/company",{replace:!0})},[e]),null},WJ=()=>{const e=Qe.useRef(!1);return Qe.useEffect(()=>{e.current||(e.current=!0,setTimeout(()=>{Fq()},100))},[]),Qe.useEffect(()=>{const e=e=>{const t=e.target.closest("[data-analytics-event]");if(t)try{const e=t.dataset.analyticsEvent;BO(e,t.dataset.analyticsProps?JSON.parse(t.dataset.analyticsProps):{})}catch(s){}};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[]),J.jsx(_O,{client:LJ,children:J.jsxs(QR,{children:[J.jsx(sD,{}),J.jsx(XT,{}),J.jsx(wR,{}),J.jsxs(ot,{children:[J.jsx(FJ,{}),J.jsx(Qe.Suspense,{fallback:J.jsx("div",{className:"min-h-screen flex items-center justify-center bg-background",children:J.jsx("div",{className:"text-center",children:J.jsx("div",{className:"inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-primary border-r-transparent",role:"status",children:J.jsx("span",{className:"sr-only",children:"Loading..."})})})}),children:J.jsxs(lt,{children:[J.jsx(dt,{path:"/",element:J.jsx(JU,{})}),J.jsx(dt,{path:"/outcomes",element:J.jsx(OJ,{})}),J.jsx(dt,{path:"/roi-calculator/pro",element:J.jsx(OJ,{})}),J.jsx(dt,{path:"/roi-calculator",element:J.jsx(IJ,{})}),J.jsx(dt,{path:"/roi-calculator/agentic",element:J.jsx(PJ,{})}),J.jsx(dt,{path:"/roi-calculator/cv",element:J.jsx(TJ,{})}),J.jsx(dt,{path:"/roi-calculator/modernization",element:J.jsx(RJ,{})}),J.jsx(dt,{path:"/how-we-measure",element:J.jsx(F$,{})}),J.jsx(dt,{path:"/resources",element:J.jsx(oK,{})}),J.jsx(dt,{path:"/resources/:slug",element:J.jsx(cK,{})}),J.jsx(dt,{path:"/industries",element:J.jsx(yK,{})}),J.jsx(dt,{path:"/industries/:slug",element:J.jsx(PK,{})}),J.jsx(dt,{path:"/solutions",element:J.jsx(_K,{})}),J.jsx(dt,{path:"/solutions/:slug",element:J.jsx($K,{})}),J.jsx(dt,{path:"/services",element:J.jsx(QK,{})}),J.jsx(dt,{path:"/services/:slug",element:J.jsx(XZ,{})}),J.jsx(dt,{path:"/products",element:J.jsx(oJ,{})}),J.jsx(dt,{path:"/products/:slug",element:J.jsx(dJ,{})}),J.jsx(dt,{path:"/customers",element:J.jsx(iJ,{})}),J.jsx(dt,{path:"/customers/enterprise-saas-performance",element:J.jsx(DJ,{})}),J.jsx(dt,{path:"/customers/municipal-cv-cost",element:J.jsx(qJ,{})}),J.jsx(dt,{path:"/customers/redaction-compliance",element:J.jsx(EJ,{})}),J.jsx(dt,{path:"/soc-2-for-startups",element:J.jsx(zJ,{})}),J.jsx(dt,{path:"/ai-readiness-assessment",element:J.jsx(_J,{})}),J.jsx(dt,{path:"/trust",element:J.jsx(xJ,{})}),J.jsx(dt,{path:"/procurement-facts",element:J.jsx(rt,{to:"/trust",replace:!0})}),J.jsx(dt,{path:"/about",element:J.jsx(rt,{to:"/company",replace:!0})}),J.jsx(dt,{path:"/company",element:J.jsx(pJ,{})}),J.jsx(dt,{path:"/careers",element:J.jsx(gJ,{})}),J.jsx(dt,{path:"/component-library",element:J.jsx(jJ,{})}),J.jsx(dt,{path:"/privacy-policy",element:J.jsx(NJ,{})}),J.jsx(dt,{path:"/terms-of-service",element:J.jsx(AJ,{})}),J.jsx(dt,{path:"/cookies-policy",element:J.jsx(wJ,{})}),J.jsx(dt,{path:"/disclaimer",element:J.jsx(kJ,{})}),J.jsx(dt,{path:"/dei",element:J.jsx(MJ,{})}),J.jsx(dt,{path:"/contact",element:J.jsx(CJ,{})}),J.jsx(dt,{path:"*",element:J.jsx(eJ,{})})]})})]})]})})};function HJ(e){window.gtag&&window.gtag("event","web_vital",{event_category:"Web Vitals",event_label:e.id,value:Math.round("CLS"===e.name?1e3*e.value:e.value),metric_name:e.name,metric_value:e.value,metric_rating:e.rating,non_interaction:!0})}"undefined"!=typeof window&&("requestIdleCallback"in window?requestIdleCallback(()=>{pt(async()=>{const{onLCP:e,onCLS:t,onINP:s,onFCP:a,onTTFB:r}=await import("./web-vitals-Cy8-ZkK4.js");return{onLCP:e,onCLS:t,onINP:s,onFCP:a,onTTFB:r}},[]).then(({onLCP:e,onCLS:t,onINP:s,onFCP:a,onTTFB:r})=>{e(HJ),t(HJ),s(HJ),a(HJ),r(HJ)})}):setTimeout(()=>{pt(async()=>{const{onLCP:e,onCLS:t,onINP:s,onFCP:a,onTTFB:r}=await import("./web-vitals-Cy8-ZkK4.js");return{onLCP:e,onCLS:t,onINP:s,onFCP:a,onTTFB:r}},[]).then(({onLCP:e,onCLS:t,onINP:s,onFCP:a,onTTFB:r})=>{e(HJ),t(HJ),s(HJ),a(HJ),r(HJ)})},1e3)),W(document.getElementById("root")).render(J.jsx(WJ,{}));export{pW as $,R$ as A,oz as B,Fn as C,zm as D,xh as E,KU as F,Np as G,iz as H,zF as I,un as J,co as K,HF as L,Sy as M,ux as N,CI as O,aj as P,Rm as Q,hy as R,iM as S,VT as T,GI as U,al as V,VP as W,ll as X,el as Y,$P as Z,uW as _,UG as a,GU as a0,QR as a1,ZR as a2,JR as a3,Nl as a4,XR as a5,RU as a6,OU as a7,DU as a8,jF as a9,MK as aA,SK as aB,CK as aC,hZ as aD,Rw as aE,Ld as aF,eI as aG,ZS as aH,Rl as aI,BG as aJ,Tl as aK,Ga as aL,wt as aM,om as aN,mc as aO,ld as aP,CF as aa,AF as ab,vF as ac,MF as ad,NF as ae,kF as af,wF as ag,D_ as ah,V_ as ai,rK as aj,ay as ak,qG as al,uR as am,ZO as an,XC as ao,cx as ap,Qo as aq,Wg as ar,ZC as as,Uh as at,JO as au,XO as av,KO as aw,QO as ax,ol as ay,Ka as az,aU as b,rU as c,iU as d,nU as e,oU as f,jn as g,hK as h,xK as i,uK as j,pK as k,fK as l,gK as m,oo as n,O$ as o,D$ as p,q$ as q,YO as r,ph as s,$O as t,Xk as u,cf as v,cS as w,Rn as x,hU as y,Wo as z};