1import{aR as b,aQ as T,b4 as Y,b5 as te,b6 as J,b7 as U,b8 as se,b9 as ne,ba as re,aO as ie,bb as le,bc as ae,bd as q,be as oe,bf as ce,aL as de,r as h,aP as ue,bg as A,bh as K,aM as v,aN as me,bi as fe,bj as ge,j as l,n as he,y as W,m as N,bk as xe,p as pe}from"./index-ChBq3-4g.js";import{u as be}from"./useSuspenseQuery-CqzXZ-eX.js";import{b as ye,M as _,C as je,a as ve}from"./CaseStudyCta-CHEfVXHm.js";import{u as we}from"./use-motion-value-DKBSfAnF.js";import{u as Ne}from"./use-transform-Ds_SeFJJ.js";import"./CountUp-DUA4MfVx.js";function Q(e,s){let t;const n=()=>{const{currentTime:r}=s,i=(r===null?0:r.value)/100;t!==i&&e(i),t=i};return b.preUpdate(n,!0),()=>T(n)}function ke(e,s,t={}){const n=e.get();let r=null,a=n,i;const o=typeof n=="string"?n.replace(/[\d.-]/g,""):void 0,c=()=>{r&&(r.stop(),r=null),e.animation=void 0},d=()=>{const f=B(e.get()),u=B(a);if(f===u){c();return}const g=r?r.getGeneratorVelocity():e.getVelocity();c(),r=new te({keyframes:[f,u],velocity:g,type:"spring",restDelta:.001,restSpeed:.01,...t,onUpdate:i})},m=()=>{d(),e.animation=r??void 0,e.events.animationStart?.notify(),r?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((f,u)=>{a=f,i=g=>u(S(g,o)),b.postRender(m)},c),Y(s)){let f=t.skipInitialAnimation===!0;const u=s.on("change",O=>{f?(f=!1,e.jump(S(O,o),!1)):e.set(S(O,o))}),g=e.on("destroy",u);return()=>{u(),g()}}return c}function S(e,s){return s?e+s:e}function B(e){return typeof e=="number"?e:parseFloat(e)}function k(e){return typeof window>"u"?!1:e?J():U()}const Se=50,M=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),Ce=()=>({time:0,x:M(),y:M()}),Ee={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function V(e,s,t,n){const r=t[s],{length:a,position:i}=Ee[s],o=r.current,c=t.time;r.current=Math.abs(e[`scroll${i}`]),r.scrollLength=e[`scroll${a}`]-e[`client${a}`],r.offset.length=0,r.offset[0]=0,r.offset[1]=r.scrollLength,r.progress=se(0,r.scrollLength,r.current);const d=n-c;r.velocity=d>Se?0:ne(r.current-o,d)}function Te(e,s,t){V(e,"x",s,t),V(e,"y",s,t),s.time=t}function Ae(e,s){const t={x:0,y:0};let n=e;for(;n&&n!==s;)if(re(n))t.x+=n.offsetLeft,t.y+=n.offsetTop,n=n.offsetParent;else if(n.tagName==="svg"){const r=n.getBoundingClientRect();n=n.parentElement;const a=n.getBoundingClientRect();t.x+=r.left-a.left,t.y+=r.top-a.top}else if(n instanceof SVGGraphicsElement){const{x:r,y:a}=n.getBBox();t.x+=r,t.y+=a;let i=null,o=n.parentNode;for(;!i;)o.tagName==="svg"&&(i=o),o=n.parentNode;n=i}else break;return t}const P={start:0,center:.5,end:1};function I(e,s,t=0){let n=0;if(e in P&&(e=P[e]),typeof e=="string"){const r=parseFloat(e);e.endsWith("px")?n=r:e.endsWith("%")?e=r/100:e.endsWith("vw")?n=r/100*document.documentElement.clientWidth:e.endsWith("vh")?n=r/100*document.documentElement.clientHeight:e=r}return typeof e=="number"&&(n=s*e),t+n}const Pe=[0,0];function Le(e,s,t,n){let r=Array.isArray(e)?e:Pe,a=0,i=0;return typeof e=="number"?r=[e,e]:typeof e=="string"&&(e=e.trim(),e.includes(" ")?r=e.split(" "):r=[e,P[e]?e:"0"]),a=I(r[0],t,n),i=I(r[1],s),a-i}const j={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},Oe={x:0,y:0};function We(e){return"getBBox"in e&&e.tagName!=="svg"?e.getBBox():{width:e.clientWidth,height:e.clientHeight}}function _e(e,s,t){const{offset:n=j.All}=t,{target:r=e,axis:a="y"}=t,i=a==="y"?"height":"width",o=r!==e?Ae(r,e):Oe,c=r===e?{width:e.scrollWidth,height:e.scrollHeight}:We(r),d={width:e.clientWidth,height:e.clientHeight};s[a].offset.length=0;let m=!s[a].interpolate;const f=n.length;for(let u=0;u<f;u++){const g=Le(n[u],d[i],c[i],o[a]);!m&&g!==s[a].interpolatorOffsets[u]&&(m=!0),s[a].offset[u]=g}m&&(s[a].interpolate=ie(s[a].offset,le(n),{clamp:!1}),s[a].interpolatorOffsets=[...s[a].offset]),s[a].progress=ae(0,1,s[a].interpolate(s[a].current))}function Be(e,s=e,t){if(t.x.targetOffset=0,t.y.targetOffset=0,s!==e){let n=s;for(;n&&n!==e;)t.x.targetOffset+=n.offsetLeft,t.y.targetOffset+=n.offsetTop,n=n.offsetParent}t.x.targetLength=s===e?s.scrollWidth:s.clientWidth,t.y.targetLength=s===e?s.scrollHeight:s.clientHeight,t.x.containerLength=e.clientWidth,t.y.containerLength=e.clientHeight}function Me(e,s,t,n={}){return{measure:r=>{Be(e,n.target,t),Te(e,t,r),(n.offset||n.target)&&_e(e,t,n)},notify:()=>s(t)}}const x=new WeakMap,H=new WeakMap,C=new WeakMap,R=new WeakMap,w=new WeakMap,z=e=>e===document.scrollingElement?window:e;function G(e,{container:s=document.scrollingElement,trackContentSize:t=!1,...n}={}){if(!s)return q;let r=C.get(s);r||(r=new Set,C.set(s,r));const a=Ce(),i=Me(s,e,a,n);if(r.add(i),!x.has(s)){const c=()=>{for(const u of r)u.measure(ce.timestamp);b.preUpdate(d)},d=()=>{for(const u of r)u.notify()},m=()=>b.read(c);x.set(s,m);const f=z(s);window.addEventListener("resize",m),s!==document.documentElement&&H.set(s,oe(s,m)),f.addEventListener("scroll",m),m()}if(t&&!w.has(s)){const c=x.get(s),d={width:s.scrollWidth,height:s.scrollHeight};R.set(s,d);const m=()=>{const u=s.scrollWidth,g=s.scrollHeight;(d.width!==u||d.height!==g)&&(c(),d.width=u,d.height=g)},f=b.read(m,!0);w.set(s,f)}const o=x.get(s);return b.read(o,!1,!0),()=>{T(o);const c=C.get(s);if(!c||(c.delete(i),c.size))return;const d=x.get(s);x.delete(s),d&&(z(s).removeEventListener("scroll",d),H.get(s)?.(),window.removeEventListener("resize",d));const m=w.get(s);m&&(T(m),w.delete(s)),R.delete(s)}}const Ve=[[j.Enter,"entry"],[j.Exit,"exit"],[j.Any,"cover"],[j.All,"contain"]],$={start:0,end:1};function Ie(e){const s=e.trim().split(/\s+/);if(s.length!==2)return;const t=$[s[0]],n=$[s[1]];if(!(t===void 0||n===void 0))return[t,n]}function He(e){if(e.length!==2)return;const s=[];for(const t of e)if(Array.isArray(t))s.push(t);else if(typeof t=="string"){const n=Ie(t);if(!n)return;s.push(n)}else return;return s}function Re(e,s){const t=He(e);if(!t)return!1;for(let n=0;n<2;n++){const r=t[n],a=s[n];if(r[0]!==a[0]||r[1]!==a[1])return!1}return!0}function L(e){if(!e)return{rangeStart:"contain 0%",rangeEnd:"contain 100%"};for(const[s,t]of Ve)if(Re(e,s))return{rangeStart:`${t} 0%`,rangeEnd:`${t} 100%`}}const F=new Map;function D(e){const s={value:0},t=G(n=>
1{s.value=n[e.axis].progress*100},e);return{currentTime:s,cancel:t}}function Z({source:e,container:s,...t}){const{axis:n}=t;e&&(s=e);let r=F.get(s);r||(r=new Map,F.set(s,r));const a=t.target??"self";let i=r.get(a);i||(i={},r.set(a,i));const o=n+(t.offset??[]).join(",");return i[o]||(t.target&&k(t.target)?L(t.offset)?i[o]=new ViewTimeline({subject:t.target,axis:n}):i[o]=D({container:s,...t}):k()?i[o]=new ScrollTimeline({source:s,axis:n}):i[o]=D({container:s,...t})),i[o]}function ze(e,s){const t=Z(s),n=s.target?L(s.offset):void 0,r=s.target?k(s.target)&&!!n:k();return e.attachTimeline({timeline:r?t:void 0,...n&&r&&{rangeStart:n.rangeStart,rangeEnd:n.rangeEnd},observe:a=>(a.pause(),Q(i=>{a.time=a.iterationDuration*i},t))})}function $e(e){return e&&(e.target||e.offset)}function Fe(e){return e.length===2}function De(e,s){return Fe(e)||$e(s)?G(t=>{e(t[s.axis].progress,t)},s):Q(e,Z(s))}function ee(e,{axis:s="y",container:t=document.scrollingElement,...n}={}){if(!t)return q;const r={axis:s,container:t,...n};return typeof e=="function"?De(e,r):ze(e,r)}const Xe=()=>({scrollX:v(0),scrollY:v(0),scrollXProgress:v(0),scrollYProgress:v(0)}),y=e=>e?!e.current:!1;function X(e,s,t,n){return{factory:r=>{let a;const i=()=>{if(y(t)||y(n)){A.read(i);return}a=ee(r,{...s,axis:e,container:t?.current||void 0,target:n?.current||void 0})};return A.read(i),()=>{K(i),a?.()}},times:[0,1],keyframes:[0,1],ease:r=>r,duration:1}}function Ye(e,s){return typeof window>"u"?!1:e?J()&&!!L(s):U()}function Je({container:e,target:s,...t}={}){const n=de(Xe);Ye(s,t.offset)&&(n.scrollXProgress.accelerate=X("x",t,e,s),n.scrollYProgress.accelerate=X("y",t,e,s));const r=h.useRef(null),a=h.useRef(!1),i=h.useCallback(()=>(r.current=ee((o,{x:c,y:d})=>{n.scrollX.set(c.current),n.scrollXProgress.set(c.progress),n.scrollY.set(d.current),n.scrollYProgress.set(d.progress)},{...t,container:e?.current||void 0,target:s?.current||void 0}),()=>{r.current?.()}),[e,s,JSON.stringify(t.offset)]);return ue(()=>{if(a.current=!1,y(e)||y(s)){a.current=!0;return}else return i()},[i]),h.useEffect(()=>{if(!a.current)return;let o;const c=()=>{const d=y(e),m=y(s);!d&&!m&&(o=i())};return A.read(c),()=>{K(c),o?.()}},[i]),n}function Ue(e,s={}){const{isStatic:t}=h.useContext(me),n=()=>Y(e)?e.get():e;if(t)return Ne(n);const r=we(n());return h.useInsertionEffect(()=>ke(r,e,s),[r,JSON.stringify(s)]),r}function qe(e,s={}){return Ue(e,{type:"spring",...s})}function E({text:e}){return l.jsx(l.Fragment,{children:e.split(/\n{2,}/).map(s=>s.trim()).filter(Boolean).map((s,t)=>l.jsx("p",{className:"mt-4 text-base leading-relaxed text-ink-soft first:mt-0",children:s},t))})}function Ke(){const{scrollYProgress:e}=Je(),s=qe(e,{stiffness:120,damping:30,mass:.3});return l.jsx(N.div,{style:{scaleX:s},className:"fixed inset-x-0 top-0 z-50 h-0.5 origin-left bg-primary","aria-hidden":"true"})}function p({children:e,id:s}){return l.jsx(N.section,{id:s,initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{duration:.5,ease:[.22,1,.36,1]},className:"scroll-mt-28",children:e})}function Qe(e){const[s,t]=h.useState(e[0]??"");return h.useEffect(()=>{const n=new IntersectionObserver(r=>{const a=r.filter(i=>i.isIntersecting).sort((i,o)=>i.boundingClientRect.top-o.boundingClientRect.top)[0];a&&t(a.target.id)},{rootMargin:"-30% 0px -60% 0px",threshold:0});for(const r of e){const a=document.getElementById(r);a&&n.observe(a)}return()=>n.disconnect()},[e.join("|")]),s}function rt(){const{slug:e}=fe.useParams(),{data:s}=be(ge(e)),t=s.caseStudy,n=s.related,r=h.useMemo(()=>[{id:"challenge",label:"Business Challenge",body:t.challenge},{id:"solution",label:"The Solution",body:t.solution},{id:"implementation",label:"Agentic AI Implementation",body:t.implementation},...t.workflow.length?[{id:"journey",label:"Workflow Journey"}]:[],...t.metrics.length||t.results?[{id:"results",label:"Key Results"}]:[],...t.business_impact?[{id:"impact",label:"Business Impact"}]:[],...t.technologies.length||t.channels.length?[{id:"technology",label:"Technology & Channels"}]:[],...t.testimonial?.quote?[{id:"testimonial",label:"Customer Voice"}]:[]].filter(i=>"body"in i?!!i.body:!0),[t]),a=Qe(r.map(i=>i.id));return l.jsxs("div",{className:"min-h-dvh bg-background",children:[l.jsx(Ke,{}),l.jsx(he,{forceScrolled:!0}),l.jsxs("main",{children:[l.jsxs("section",{className:"relative overflow-hidden pt-32 pb-12 sm:pt-36",children:[l.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10","aria-hidden":"true",children:[l.jsx("div",{className:"mesh-bg absolute inset-0"}),l.jsx("div",{className:"absolute -right-24 top-10 h-[26rem] w-[26rem] rounded-full bg-primary/10 blur-3xl"})]}),l.jsxs("div",{className:"container-1440",children:[l.jsxs("nav",{"aria-label":"Breadcrumb",className:"text-xs text-muted-foreground",children:[l.jsx(W,{to:"/",className:"hover:text-primary",children:"Home"}),l.jsx("span",{className:"px-1.5",children:"/"}),l.jsx(W,{to:"/case-study",className:"hover:text-primary",children:"Case Studies"}),l.jsx("span",{className:"px-1.5",children:"/"}),l.jsx("span",{className:"text-ink-soft",children:t.client_name})]}),l.jsxs("div",{className:"mt-6 grid grid-cols-1 items-center gap-10 lg:grid-cols-[minmax(0,1.1fr)_minmax(0,1fr)]",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.industry&&l.jsx("span",{className:"rounded-full border border-border bg-white/70 px-3 py-1 text-[11px] font-semibold uppercase tracking-[0.16em] text-primary",children:t.industry}),t.use_cases.slice(0,3).map(i=>l.jsx("span",{className:"rounded-full border border-border px-3 py-1 text-[11px] font-medium text-ink-soft",children:i},i))]}),l.jsx("h1",{className:"mt-5 text-[26px] font-bold leading-tight text-ink sm:text-[34px] lg:text-[40px]",children:t.title}),t.short_description&&l.jsx("p",{className:"mt-4 max-w-2xl text-base leading-relaxed text-muted-foreground sm:text-lg",children:t.short_description}),l.jsxs("div",{className:"mt-6 flex items-center gap-3",children:[t.logo_url&&l.jsx("img",{src:t.logo_url,alt:`${t.client_name} logo`,className:"h-9 max-w-[120px] object-contain",decoding:"async"}),l.jsx("span",{className:"text-sm font-semibold text-ink",children:t.client_name})]})]}),l.jsx(N.div,{initial:{opacity:0,scale:.96,y:20}
1,animate:{opacity:1,scale:1,y:0},transition:{duration:.7,ease:[.22,1,.36,1]},className:"relative aspect-[16/11] w-full overflow-hidden rounded-3xl border border-border shadow-card",children:l.jsx(ye,{src:t.hero_image_url||t.featured_image_url,alt:t.hero_image_alt||t.title,className:"h-full w-full"})})]}),t.metrics.length>0&&l.jsx("div",{className:"mt-10 grid grid-cols-2 gap-4 sm:grid-cols-4",children:t.metrics.slice(0,4).map(i=>l.jsx(_,{metric:i},i.label))})]})]}),l.jsxs("div",{className:"container-1440 grid grid-cols-1 gap-10 pb-16 lg:grid-cols-[minmax(0,220px)_minmax(0,1fr)]",children:[l.jsx("aside",{className:"hidden lg:block",children:l.jsxs("div",{className:"sticky top-28",children:[l.jsx("div",{className:"mb-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"On this page"}),l.jsx("ul",{className:"flex flex-col gap-1 border-l border-border",children:r.map(i=>l.jsx("li",{children:l.jsx("a",{href:`#${i.id}`,className:`-ml-px block border-l-2 py-1.5 pl-3 text-sm transition-colors ${a===i.id?"border-primary font-semibold text-primary":"border-transparent text-muted-foreground hover:text-ink"}`,children:i.label})},i.id))})]})}),l.jsxs("div",{className:"min-w-0 flex flex-col gap-12",children:[r.filter(i=>i.body).map(i=>l.jsxs(p,{id:i.id,children:[l.jsx("h2",{className:"text-xl font-bold text-ink sm:text-2xl",children:i.label}),l.jsx("div",{className:"mt-4",children:l.jsx(E,{text:i.body})})]},i.id)),t.workflow.length>0&&l.jsxs(p,{id:"journey",children:[l.jsx("h2",{className:"text-xl font-bold text-ink sm:text-2xl",children:"Conversation & Workflow Journey"}),l.jsx("ol",{className:"mt-6 grid grid-cols-1 gap-4 sm:grid-cols-2",children:t.workflow.map((i,o)=>l.jsxs(N.li,{initial:{opacity:0,y:18},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-60px"},transition:{duration:.45,delay:Math.min(o,4)*.06},className:"relative rounded-2xl border border-border bg-card p-5 shadow-soft transition-transform hover:-translate-y-1",children:[l.jsx("span",{className:"inline-grid h-8 w-8 place-items-center rounded-full bg-primary-soft text-sm font-bold text-primary",children:o+1}),l.jsx("h3",{className:"mt-3 text-base font-semibold text-ink",children:i.title}),i.description&&l.jsx("p",{className:"mt-2 text-sm leading-relaxed text-muted-foreground",children:i.description})]},`${i.title}-${o}`))})]}),(t.metrics.length>0||t.results)&&l.jsxs(p,{id:"results",children:[l.jsx("h2",{className:"text-xl font-bold text-ink sm:text-2xl",children:"Key Results"}),t.results&&l.jsx("div",{className:"mt-4",children:l.jsx(E,{text:t.results})}),t.metrics.length>0&&l.jsx("div",{className:"mt-6 grid grid-cols-2 gap-4 lg:grid-cols-4",children:t.metrics.map(i=>l.jsx(_,{metric:i},`r-${i.label}`))})]}),t.business_impact&&l.jsxs(p,{id:"impact",children:[l.jsx("h2",{className:"text-xl font-bold text-ink sm:text-2xl",children:"Business Impact"}),l.jsx("div",{className:"mt-4",children:l.jsx(E,{text:t.business_impact})})]}),(t.technologies.length>0||t.channels.length>0)&&l.jsxs(p,{id:"technology",children:[l.jsx("h2",{className:"text-xl font-bold text-ink sm:text-2xl",children:"Technology & Channels Used"}),l.jsx("div",{className:"mt-5 flex flex-wrap gap-2",children:[...t.channels,...t.technologies].map(i=>l.jsx("span",{className:"rounded-full border border-border bg-white px-4 py-2 text-sm font-medium text-ink-soft shadow-soft",children:i},i))})]}),t.testimonial?.quote&&l.jsx(p,{id:"testimonial",children:l.jsxs("figure",{className:"relative overflow-hidden rounded-3xl border border-border bg-gradient-to-br from-primary-soft/60 to-white p-8 shadow-card",children:[l.jsx(xe,{className:"h-8 w-8 text-primary/40","aria-hidden":"true"}),l.jsxs("blockquote",{className:"mt-4 text-lg font-medium leading-relaxed text-ink sm:text-xl",children:["â",t.testimonial.quote,"â"]}),(t.testimonial.author||t.testimonial.role)&&l.jsxs("figcaption",{className:"mt-5 flex items-center gap-3",children:[t.testimonial.avatar_url&&l.jsx("img",{src:t.testimonial.avatar_url,alt:t.testimonial.author||t.client_name,loading:"lazy",decoding:"async",className:"h-10 w-10 rounded-full object-cover"}),l.jsxs("span",{className:"text-sm text-ink-soft",children:[l.jsx("span",{className:"font-semibold text-ink",children:t.testimonial.author}),t.testimonial.role?`, ${t.testimonial.role}`:""]})]})]})})]})]}),n.length>0&&l.jsxs("section",{className:"container-1440 pb-16","aria-labelledby":"related-case-studies",children:[l.jsx("h2",{id:"related-case-studies",className:"text-xl font-bold text-ink sm:text-2xl",children:"Related Case Studies"}),l.jsx("div",{className:"mt-8 grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3",children:n.map((i,o)=>l.jsx(je,{study:i,index:o},i.id))})]}),l.jsx(ve,{})]}),l.jsx(pe,{})]})}
1export{rt as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.