1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,14209,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(11573);e.s(["TrackedSection",0,function({name:e,children:i,className:n,threshold:s=.3}){let l=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let t=l.current;if(!t||"u"<typeof IntersectionObserver)return;let a=!1,i=!1,n=null,o=0,c=()=>{null===n&&i&&"visible"===document.visibilityState&&(n=performance.now())},u=()=>{null!==n&&(o+=performance.now()-n,n=null)},h=()=>{a||(a=!0,(0,r.track)("section_viewed",{section:e}))},d=()=>{u();let t=Math.min(Math.round(o/1e3),300);t>0&&((0,r.track)("section_dwell",{section:e,seconds:t}),o=0)},m=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting?(i=!0,h(),c()):(i=!1,u())},{threshold:s});m.observe(t);let f=()=>{"hidden"===document.visibilityState?d():c()};return document.addEventListener("visibilitychange",f),window.addEventListener("pagehide",d),()=>{m.disconnect(),document.removeEventListener("visibilitychange",f),window.removeEventListener("pagehide",d),d()}},[e,s]),(0,t.jsx)("div",{ref:l,className:n,"data-section":e,children:i})}])},45135,e=>{"use strict";var t=e.i(43476),a=e.i(57688),r=e.i(22016),i=e.i(46932);let n=i.motion.create(r.default),s={rest:{x:0,y:0,opacity:.25,rotate:-45},hover:{x:40,y:-40,opacity:0,rotate:-45}},l={rest:{x:-40,y:40,opacity:0,rotate:-45},hover:{x:0,y:0,opacity:.25,rotate:-45}},o={type:"spring",stiffness:180,damping:22,mass:.6},c="/home/trusted-by/arrow-fade.png";e.s(["default",0,function(){return(0,t.jsx)(n,{href:"/blog",initial:"rest",animate:"rest",whileHover:"hover",className:"group mx-auto flex h-full w-full max-w-[440px] cursor-pointer flex-col overflow-hidden rounded-sm border-[0.75px] border-surface-clay-line bg-surface-clay md:max-w-none lg:mx-0",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-6 p-5 text-center",children:[(0,t.jsxs)("div",{className:"relative h-[50px] w-[75px]",children:[(0,t.jsx)(i.motion.div,{"aria-hidden":!0,className:"absolute inset-0",variants:s,transition:o,style:{transformOrigin:"center",willChange:"transform"},children:(0,t.jsx)(a.default,{src:c,alt:"",fill:!0,sizes:"75px",className:"object-contain"})}),(0,t.jsx)(i.motion.div,{"aria-hidden":!0,className:"absolute inset-0",variants:l,transition:o,style:{transformOrigin:"center",willChange:"transform"},children:(0,t.jsx)(a.default,{src:c,alt:"",fill:!0,sizes:"75px",className:"object-contain"})})]}),(0,t.jsx)("h3",{className:"text-body font-medium text-black transition-colors group-hover:text-sundial-purple-hover",children:"See all posts"})]})})}])},19117,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(46932),i=e.i(65468),n=e.i(35382),s=e.i(71829);e.s(["default",0,function(){let e=(0,a.useRef)(null),l=(0,n.useMotionValue)(-610),o=(0,n.useMotionValue)(-610),c=i.useMotionTemplate`translate(${l}px, ${o}px)`;return(0,t.jsxs)("div",{ref:e,onMouseMove:t=>{let a=e.current;if(!a)return;let r=a.getBoundingClientRect();l.set(t.clientX-r.left-305),o.set(t.clientY-r.top-305)},className:"group relative mx-auto flex w-full max-w-[600px] flex-col items-center overflow-hidden rounded-sm border-[0.75px] border-surface-clay-line bg-surface-sand md:max-w-[1000px] md:flex-row md:justify-between md:pl-10 lg:pl-20",children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 hidden opacity-0 transition-opacity duration-300 group-hover:opacity-100 lg:block",style:{maskImage:"radial-gradient(white 0.6px, transparent 1.4px)",maskSize:"10px 10px",maskRepeat:"repeat",WebkitMaskImage:"radial-gradient(white 0.6px, transparent 1.4px)",WebkitMaskSize:"10px 10px",WebkitMaskRepeat:"repeat"},children:(0,t.jsx)(r.motion.div,{className:"absolute top-0 left-0",style:{width:610,height:610,backgroundColor:"rgba(138, 118, 96, 0.5)",maskImage:"radial-gradient(closest-side, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%)",WebkitMaskImage:"radial-gradient(closest-side, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%)",transform:c,willChange:"transform"}})}),(0,t.jsxs)("div",{className:"relative z-10 flex w-full flex-col items-center gap-6 pt-14 pb-8 md:w-auto md:items-start md:gap-8 md:pt-0 md:pb-2.5 md:pl-0",children:[(0,t.jsxs)("div",{className:"flex w-full max-w-[304px] flex-col items-center gap-5 md:max-w-none md:items-start",children:[(0,t.jsxs)("h3",{className:"text-center text-[28px] font-semibold leading-[30px] tracking-[-1.5px] text-accent-warm md:hidden md:text-h3-section md:text-left md:max-w-[420px] lg:block",children:["How do the most impactful",(0,t.jsx)("br",{}
1),"teams use data for decisions?"]}),(0,t.jsxs)("p",{className:"text-center text-[16px] font-normal leading-[1.4em] tracking-[-0.5px] text-text-muted md:text-lede md:text-left md:max-w-[420px]",children:["In the era of AI, speed to confident decisions matters more than ever. We curate insights on this and more in our newsletter,"," ",(0,t.jsx)("a",{href:s.EXTERNAL_LINKS.newsletter,target:"_blank",rel:"noopener noreferrer",className:"font-medium text-black underline decoration-transparent decoration-1 underline-offset-4 transition-[text-decoration-color] hover:decoration-current",children:"Opinionated Intelligence"})]})]}),(0,t.jsxs)("a",{href:s.EXTERNAL_LINKS.newsletter,target:"_blank",rel:"noopener noreferrer",className:"relative inline-flex items-center justify-center overflow-hidden rounded-xs bg-accent-mauve px-4 py-2 text-label text-white transition-[filter] [text-shadow:0_0.5px_0.5px_rgb(0_0_0_/_0.3)] hover:brightness-110 focus-visible:brightness-110 focus-visible:outline-none",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute -top-[78px] -left-[58px] h-[97px] w-16 rotate-[23deg] bg-accent-warm blur-[10px]"}),(0,t.jsx)("span",{className:"relative",children:"Subscribe and stay updated"})]})]}),(0,t.jsx)("div",{className:"relative w-full md:h-[280px] md:w-[280px] md:shrink-0 lg:h-[360px] lg:w-[360px]",children:(0,t.jsx)("video",{src:"/home/newsletter-loop.mp4",autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":!0,className:"block h-auto w-full object-cover md:h-full"})})]})}])},90589,e=>{"use strict";var t=e.i(43476),a=e.i(71645);e.s(["MobileCarousel",0,function({ariaLabel:e,children:r}){let i=a.Children.toArray(r),n=(0,a.useRef)(null),s=(0,a.useRef)([]),[l,o]=(0,a.useState)(0);return(0,a.useEffect)(()=>{let e=n.current;if(!e)return;let t=new Map,a=new IntersectionObserver(e=>{for(let a of e)t.set(a.target,a.intersectionRatio);let a=0,r=-1;s.current.forEach((e,i)=>{if(!e)return;let n=t.get(e)??0;n>r&&(r=n,a=i)}),o(a)},{root:e,threshold:[.25,.5,.75,1]});return s.current.forEach(e=>{e&&a.observe(e)}),()=>a.disconnect()},[i.length]),(0,t.jsxs)("div",{children:[(0,t.jsx)("ul",{ref:n,"aria-label":e,className:"-mx-4 flex snap-x snap-mandatory gap-4 overflow-x-auto scroll-smooth px-4 [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:i.map((e,a)=>(0,t.jsx)("li",{ref:e=>{s.current[a]=e},className:"flex shrink-0 basis-[85%] snap-center",children:(0,t.jsx)("div",{className:"h-full w-full",children:e})},a))}),(0,t.jsx)("nav",{"aria-label":"Slide navigation",className:"mt-6 flex items-center justify-center gap-1.5",children:i.map((e,a)=>{let r=a===l;return(0,t.jsx)("button",{type:"button","aria-label":`Go to slide ${a+1}`,"aria-current":r?"true":void 0,onClick:()=>{s.current[a]?.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})},className:`h-1.5 rounded-pill transition-all duration-300 ${r?"w-4 bg-sundial-purple":"w-1.5 bg-text-muted/40"}`},a)})})]})}])},52303,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(57688),i=e.i(22016),n=e.i(88653),s=e.i(46932),l=e.i(75108);let o=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M232,44H160a43.86,43.86,0,0,0-32,13.85A43.86,43.86,0,0,0,96,44H24A12,12,0,0,0,12,56V200a12,12,0,0,0,12,12H96a20,20,0,0,1,20,20,12,12,0,0,0,24,0,20,20,0,0,1,20-20h72a12,12,0,0,0,12-12V56A12,12,0,0,0,232,44ZM96,188H36V68H96a20,20,0,0,1,20,20V192.81A43.79,43.79,0,0,0,96,188Zm124,0H160a43.71,43.71,0,0,0-20,4.83V88a20,20,0,0,1,20-20h60Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M232,56V200H160a32,32,0,0,0-32,32,32,32,0,0,0-32-32H24V56H96a32,32,0,0,1,32,32,32,32,0,0,1,32-32Z",opacity:"0.2"}),a.createElement("path",{d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M240,56V200a8,8,0,0,1-8,8H160a24,24,0,0,0-24,23.94,7.9,7.9,0,0,1-5.12,7.55A8,8,0,0,1,120,232a24,24,0,0,0-24-24H24a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H88a32,32,0,0,1,32,32v87.73a8.17,8.17,0,0,0,7.47,8.25,8,8,0,0,0,8.53-8V80a32,32,0,0,1,32-32h64A8,8,0,0,1,240,56Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M232,50H160a38,38,0,0,0-32,17.55A38,38,0,0,0,96,50H24a6,6,0,0,0-6,6V200a6,6,0,0,0,6,6H96a26,26,0,0,1,26,26,6,6,0,0,0,12,0,26,26,0,0,1,26-26h72a6,6,0,0,0,6-6V56A6,6,0,0,0,232,50ZM96,194H30V62H96a26,26,0,0,1,26,26V204.31A37.86,37.86,0,0,0,96,194Zm130,0H160a37.87,37.87,0,0,0-26,10.32V88a26,26,0,0,1,26-26h66Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V2
100a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M232,52H160a36,36,0,0,0-32,19.54A36,36,0,0,0,96,52H24a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H96a28,28,0,0,1,28,28,4,4,0,0,0,8,0,28,28,0,0,1,28-28h72a4,4,0,0,0,4-4V56A4,4,0,0,0,232,52ZM96,196H28V60H96a28,28,0,0,1,28,28V209.4A35.93,35.93,0,0,0,96,196Zm132,0H160a35.94,35.94,0,0,0-28,13.41V88a28,28,0,0,1,28-28h68Z"}))]]),c=a.forwardRef((e,t)=>a.createElement(l.default,{ref:t,...e,weights:o}));c.displayName="BookOpenIcon";var u=e.i(9089);let h=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M251,123.13c-.37-.81-9.13-20.26-28.48-39.61C196.63,57.67,164,44,128,44S59.37,57.67,33.51,83.52C14.16,102.87,5.4,122.32,5,123.13a12.08,12.08,0,0,0,0,9.75c.37.82,9.13,20.26,28.49,39.61C59.37,198.34,92,212,128,212s68.63-13.66,94.48-39.51c19.36-19.35,28.12-38.79,28.49-39.61A12.08,12.08,0,0,0,251,123.13Zm-46.06,33C183.47,177.27,157.59,188,128,188s-55.47-10.73-76.91-31.88A130.36,130.36,0,0,1,29.52,128,130.45,130.45,0,0,1,51.09,99.89C72.54,78.73,98.41,68,128,68s55.46,10.73,76.91,31.89A130.36,130.36,0,0,1,226.48,128,130.45,130.45,0,0,1,204.91,156.12ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,64a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Zm0,112a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z",opacity:"0.2"}),a.createElement("path",{d:"M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M245.48,125.57c-.34-.78-8.66-19.23-27.24-37.81C201,70.54,171.38,50,128,50S55,70.54,37.76,87.76c-18.58,18.58-26.9,37-27.24,37.81a6,6,0,0,0,0,4.88c.34.77,8.66,19.22,27.24,37.8C55,185.47,84.62,206,128,206s73-20.53,90.24-37.75c18.58-18.58,26.9-37,27.24-37.8A6,6,0,0,0,245.48,125.57ZM128,194c-31.38,0-58.78-11.42-81.45-33.93A134.77,134.77,0,0,1,22.69,128,134.56,134.56,0,0,1,46.55,95.94C69.22,73.42,96.62,62,128,62s58.78,11.42,81.45,33.94A134.56,134.56,0,0,1,233.31,128C226.94,140.21,195,194,128,194Zm0-112a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M243.66,126.38c-.34-.76-8.52-18.89-26.83-37.2C199.87,72.22,170.7,52,128,52S56.13,72.22,39.17,89.18c-18.31,18.31-26.49,36.44-26.83,37.2a4.08,4.08,0,0,0,0,3.25c.34.77,8.52,18.89,26.83,37.2,17,17,46.14,37.17,88.83,37.17s71.87-20.21,88.83-37.17c18.31-18.31,26.49-36.43,26.83-37.2A4.08,4.08,0,0,0,243.66,126.38Zm-32.7,35c-23.07,23-51,34.62-83,34.62s-59.89-11.65-83-34.62A135.71,135.71,0,0,1,20.44,128,135.69,135.69,0,0,1,45,94.62C68.11,71.65,96,60,128,60s59.89,11.65,83,34.62A135.79,135.79,0,0,1,235.56,128,135.71,135.71,0,0,1,211,161.38ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Z"}))]]),d=a.forwardRef((e,t)=>
1a.createElement(l.default,{ref:t,...e,weights:h}));d.displayName="EyeIcon";let m=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M240.49,15.51a12,12,0,0,0-17,0L173.94,65.09l-2.54-2.55a36.05,36.05,0,0,0-50.91,0L100,83l-3.51-3.52a12,12,0,0,0-17,17L83,100,62.54,120.49a36,36,0,0,0,0,50.91l2.55,2.54L15.51,223.51a12,12,0,0,0,17,17l49.57-49.58,2.54,2.55a36.06,36.06,0,0,0,50.91,0L156,173l3.51,3.52a12,12,0,0,0,17-17L173,156l20.49-20.49a36,36,0,0,0,0-50.91l-2.55-2.54,49.58-49.57A12,12,0,0,0,240.49,15.51Zm-121.95,161a12,12,0,0,1-17,0L79.51,154.43a12,12,0,0,1,0-17L100,117l39,39Zm58-57.95h0L156,139l-39-39,20.49-20.49a12,12,0,0,1,17,0l22.06,22.06a12,12,0,0,1,0,17ZM85.27,33.37a12,12,0,0,1,21.46-10.74l8,16A12,12,0,1,1,93.27,49.37Zm-68,57.26a12,12,0,0,1,16.1-5.36l16,8a12,12,0,1,1-10.74,21.46l-16-8A12,12,0,0,1,17.27,90.63Zm221.46,74.74a12,12,0,0,1-16.1,5.36l-16-8a12,12,0,0,1,10.74-21.46l16,8A12,12,0,0,1,238.73,165.37Zm-68,57.26a12,12,0,1,1-21.46,10.74l-8-16a12,12,0,0,1,21.46-10.74Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M185,127,127,185a24,24,0,0,1-33.94,0L71,162.91A24,24,0,0,1,71,129L129,71a24,24,0,0,1,33.94,0L185,93.09A24,24,0,0,1,185,127Z",opacity:"0.2"}),a.createElement("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32.06,32.06,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94h0L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22a16,16,0,0,1,0,22.63ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM29,103.43l20,8A8,8,0,1,0,55,96.57l-20-8A8,8,0,0,0,29,103.43ZM227,152.57l-20-8A8,8,0,1,0,201,159.43l20,8A8,8,0,0,0,227,152.57ZM159.43,201A8,8,0,0,0,144.57,207l8,20A8,8,0,1,0,167.43,221ZM237.91,18.52a8,8,0,0,0-11.5-.18L174,70.75l-5.38-5.38a32,32,0,0,0-45.28,0L106.14,82.54a4,4,0,0,0,0,5.66l61.7,61.66a4,4,0,0,0,5.66,0l16.74-16.74a32.76,32.76,0,0,0,9.81-22.52,31.82,31.82,0,0,0-9.37-23.17l-5.38-5.37,52.2-52.17A8.22,8.22,0,0,0,237.91,18.52ZM85.64,90.34a8,8,0,0,0-11.49.18,8.22,8.22,0,0,0,.41,11.37L80.67,108,65.34,123.31A31.82,31.82,0,0,0,56,146.47,32.75,32.75,0,0,0,65.77,169l5,4.94L18.49,226.13a8.21,8.21,0,0,0-.61,11.1,8,8,0,0,0,11.72.43L82,185.25l5.37,5.38a32.1,32.1,0,0,0,45.29,0L148,175.31l6.34,6.35a8,8,0,0,0,11.32-11.32Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M236.24,19.76a6,6,0,0,0-8.48,0L173.94,73.57l-6.79-6.78a30,30,0,0,0-42.42,0L100,91.51l-7.76-7.75a6,6,0,0,0-8.48,8.48L91.51,100,66.79,124.73a30,30,0,0,0,0,42.42l6.78,6.79L19.76,227.76a6,6,0,1,0,8.48,8.48l53.82-53.81,6.79,6.78a30,30,0,0,0,42.42,0L156,164.49l7.76,7.75a6,6,0,0,0,8.48-8.48L164.49,156l24.72-24.73a30,30,0,0,0,0-42.42l-6.78-6.79,53.81-53.82A6,6,0,0,0,236.24,19.76Zm-113.45,161a18,18,0,0,1-25.46,0L75.27,158.67a18,18,0,0,1,0-25.46L100,108.49,147.51,156Zm57.94-57.94L156,147.51,108.49,100l24.72-24.73a18,18,0,0,1,25.46,0l22.06,22.06a18,18,0,0,1,0,25.46ZM90.43,34.23a6,6,0,0,1,11.14-4.46l8,20a6,6,0,1,1-11.14,4.46Zm-64,59.54a6,6,0,0,1,7.8-3.34l20,8a6,6,0,1,1-4.46,11.14l-20-8A6,6,0,0,1,26.43,93.77Zm203.14,68.46a6,6,0,0,1-7.8,3.34l-20-8a6,6,0,0,1,4.46-11.14l20,8A6,6,0,0,1,229.57,162.23Zm-64,59.54a6,6,0,1,1-11.14,4.46l-8-20a6,6,0,0,1,11.14-4.46Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32,32,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22A16,16,0,0,1,179.31,12
11.37ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M234.83,21.17a4,4,0,0,0-5.66,0L173.94,76.4l-8.2-8.2a28,28,0,0,0-39.6,0L100,94.34l-9.17-9.17a4,4,0,0,0-5.66,5.66L94.34,100,68.2,126.14a28,28,0,0,0,0,39.6l8.2,8.2L21.17,229.17a4,4,0,0,0,5.66,5.66L82.06,179.6l8.2,8.2a28,28,0,0,0,39.6,0L156,161.66l9.17,9.17a4,4,0,0,0,5.66-5.66L161.66,156l26.14-26.14a28,28,0,0,0,0-39.6l-8.2-8.2,55.23-55.23A4,4,0,0,0,234.83,21.17Zm-110.63,161a20,20,0,0,1-28.28,0L73.86,160.08a20,20,0,0,1,0-28.28L100,105.66,150.34,156Zm57.94-57.94L156,150.34,105.66,100,131.8,73.86a20,20,0,0,1,28.28,0l22.06,22.06A20,20,0,0,1,182.14,124.2ZM92.29,33.49a4,4,0,1,1,7.42-3l8,20a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,104,56a4,4,0,0,1-3.71-2.51Zm-64,61a4,4,0,0,1,5.2-2.22l20,8A4,4,0,0,1,52,108a3.91,3.91,0,0,1-1.49-.29l-20-8A4,4,0,0,1,28.29,94.51Zm199.42,67A4,4,0,0,1,224,164a3.91,3.91,0,0,1-1.49-.29l-20-8a4,4,0,1,1,3-7.42l20,8A4,4,0,0,1,227.71,161.49Zm-64,61a4,4,0,0,1-2.22,5.2A3.91,3.91,0,0,1,160,228a4,4,0,0,1-3.71-2.51l-8-20a4,4,0,0,1,7.42-3Z"}))]]),f=a.forwardRef((e,t)=>a.createElement(l.default,{ref:t,...e,weights:m}));f.displayName="PlugsConnectedIcon";var p=e.i(4461);let g=[{icon:c,title:"Expert playbooks for deep analysis",description:"LLMs out of the box produce naive analyses; Sundial's playbooks are written by domain experts so you get methodological, repeatable reports.",href:"/playbooks",image:"/home/foundation/foundation_playbooks.png",imageAlt:"Sundial loading the 'Change Anomalies' playbook to detect Daily Active User anomalies and generating an artifact",imageFit:"contain"},{icon:d,title:"Transparent observability and governance",description:"See what's being asked, audit every question and analysis, and see the lineage of every number.",image:"/home/foundation/foundation_observability.png",imageAlt:"Sundial agent observability dashboard showing question type and trust level breakdowns alongside a conversation audit log",imageFit:"top-left"},{icon:u.CheckCircle,title:"Evals to ensure consistent rigor",description:"Models change and roadmaps change, but what shouldn't change is the quality bar. Sundial comes out of the box with evals that build the foundation for accuracy.",image:"/home/foundation/foundation_evals.png",imageAlt:"Sundial evals dashboard showing a composite score trend across regression eval runs and a list of eval questions",imageFit:"top-left"},{icon:p.ShieldCheck,title:"Ensure data never leaves your premises",description:"Data is precious. So Sundial is designed to be deployed multi-tenant or in your own private cloud. You can even bring your own LLM.",image:"/home/foundation/foundation_on_prem.png",imageAlt:"On-premise server rack paired with a database, illustrating Sundial deployed within your own infrastructure"},{icon:f,title:"Agent-friendly from the start",description:"Connect with Sundial through MCP with your LLMs, Slack, dbt, or other tools. Everything is git-backed.",image:"/home/foundation/foundation_agents.png",imageAlt:"Terminal showing Sundial MCP init creating sundial.json with git-backed sync and connecting Slack and dbt tools",imageFit:"center"}];e.s(["Foundations",0,function(){let[e,l]=(0,a.useState)(0),[o,c]=(0,a.useState)(!1),[u,h]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=()=>h(e.matches);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,a.useEffect)(()=>{if(u||o)return;let e=window.setInterval(()=>{l(e=>(e+1)%g.length)},5e3);return()=>window.clearInterval(e)},[u,o]);let d=g[e],m=d.icon;return(0,t.jsx)("section",{"aria-label":"Foundations",className:"bg-white px-4 py-20 lg:py-32",children:(0,t.jsx)("div",{className:"mx-auto w-full max-w-[600px] lg:max-w-(--width-features)",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 items-stretch gap-10 lg:grid-cols-2 lg:gap-16",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[(0,t.jsx)("div",{className:"order-2 lg:order-1",children:(0,t.jsx)("div",{className:"relative h-full min-h-[560px] w-full overflow-hidden rounded-sm border-[0.75px] border-surface-clay-line bg-surface-clay",children:(0,t.jsx)(n.AnimatePresence,{mode:"wait",initial:!1,children:(0,t.jsx)(s.motion.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.4,ease:[.22,1,.36,1]},className:"absolute inset-0 flex flex-col items-center justify-center gap-4 p-8 text-center",children:d.image&&"top-left"===d.imageFit?(0,t.jsx)(r.default,{src:d.image,alt:d.imageAlt??d.title,width:1024,height:570,className:"absolute left-8 top-8 h-auto w-[1024px] max-w-none shadow-card"}):d.image&&"center"===d.imageFit?(0,t.jsx)("div",{className:"absolute inset-x-6 inset-y-6",children:(0,t.jsx)(r.default,{src:d.image,alt:d.imageAlt??d.title,fill:!0,sizes:"(min-width: 1024px) 50vw, 100vw",className:"object-contain"})}):d.image&&"contain"===d.imageFit?(0,t.jsx)(r.default,{src:d.image,alt:d.imageAlt??d.title,width:948,height:1144,sizes:"(min-width: 1024px) 50vw, 100vw",className:"-mx-4 -my-4 max-h-[calc(100%+2rem)] w-auto max-w-[calc(100%+2rem)] rounded-sm object-contain shadow-card lg:mx-0 lg:max-w-full"}):d.image?(0,t.jsx)("div",{className:"absolute inset-12",children:(0,t.jsx)(r.default,{src:d.image,alt:d.imageAlt??d.title,fill:!0,sizes:"(min-width: 1024px) 50vw, 100vw",className:"object-contain"})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{weight:"duotone",className:"size-16 text-accent-mauve"}),(0,t.jsx)("p",{className:"text-h5-card text-text-primary",children:d.title})]})},e)})})}),(0,t.jsxs)("div",{className:"order-1 flex flex-col lg:order-2",children:[(0,t.jsxs)("div",{className:"mb-8 space-y-3",children:[(0,t.jsx)("h2",{className:"text-h2-section text-text-primary",children:"Built on solid foundations"}),(0,t.jsx)("p",{className:"text-body-lg text-text-secondary",children:"The guardrails and infrastructure that make Sundial trustworthy in production."})]}),(0,t.jsx)("ul",{className:"flex flex-col",children:g.map((a,r)=>{let o=r===e,c=a.icon;return(0,t.jsxs)("li",{children:[(0,t.jsx)("button",{type:"button","aria-expanded":o,onClick:()=>{l(r)},className:`w-full cursor-pointer rounded-sm px-4 py-5 text-left transition-colors ${o?"bg-surface-clay":"bg-transparent"}`,children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(c,{weight:o?"duotone":"regular",className:`mt-0.5 size-5 shrink-0 transition-colors ${o?"text-accent-mauve":"text-text-subtle"}`}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("p",{className:`text-h5-card transition-colors ${o?"text-text-primary":"text-text-muted"}`,children:a.title}),(0,t.jsx)(n.AnimatePresence,{initial:!1,children:o&&(0,t.jsx)(s.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:[.22,1,.36,1]},className:"overflow-hidden",children:(0,t.jsx)("p",{className:"pt-2 text-body-sm text-text-secondary",children:a.description})})})]})]})}),o&&a.href?(0,t.jsx)(i.default,{href:a.href,className:"mx-4 -mt-2 mb-3 block rounded-b-sm bg-surface-clay px-12 pb-4 text-label-sm text-sundial-purple transition-colors hover:text-sundial-purple-hover",children:"See Playbooks"}):null]},a.title)})})]})]})})})}],52303)},11348,e=>{"use strict";var t=e.i(43476),a=e.i(46932),r=e.i(72328);e.s(["HeroHeading",0,function(){let e=(0,r.useReducedMotion)(),i=t=>e?{}:{initial:{opacity:0}
1,animate:{opacity:1},transition:{duration:.5,delay:t,ease:"easeOut"}};return(0,t.jsxs)("h1",{id:"home-hero-heading",className:"text-center text-[30px] leading-[28px] font-bold tracking-[-1.5px] md:text-[40px] md:leading-[40px] md:tracking-[-2px] lg:text-[48px] lg:leading-[48px] lg:tracking-[-2.4px]",children:[(0,t.jsxs)(a.motion.span,{className:"block text-hero-heading-muted",...i(0),children:[(0,t.jsxs)("span",{className:"group/opinionated relative inline-block cursor-default",children:[(0,t.jsx)("span",{tabIndex:0,className:"text-sundial-plum outline-none",children:"Opinionated"}),(0,t.jsxs)("span",{role:"tooltip","aria-hidden":"true",className:"pointer-events-none invisible absolute bottom-[calc(100%-24px)] left-1/2 -translate-x-1/2 z-[60] flex w-[200px] origin-bottom rotate-0 scale-50 flex-col items-start gap-[2px] rounded-sm bg-surface-cream px-3 py-2 text-left font-serif text-[12px] leading-[1.4] tracking-normal text-black opacity-0 shadow-hero transition-[opacity,scale,visibility,rotate] duration-180 ease-in-out group-hover/opinionated:visible group-hover/opinionated:scale-100 group-hover/opinionated:rotate-[-3deg] group-hover/opinionated:opacity-100 group-focus-within/opinionated:visible group-focus-within/opinionated:scale-100 group-focus-within/opinionated:rotate-[-3deg] group-focus-within/opinionated:opacity-100",children:[(0,t.jsx)("span",{className:"text-[13px] font-bold",children:"Opinionated"}),(0,t.jsxs)("span",{className:"flex items-baseline gap-1.5",children:[(0,t.jsx)("span",{className:"opacity-50",children:"/ÉËpɪnjÉneɪtɪd/"}),(0,t.jsx)("span",{className:"italic opacity-30",children:"adjective"})]}),(0,t.jsx)("span",{className:"mt-0.5 font-normal",children:"Expressing strong beliefs to offer a clear point of view."})]})]})," ","Intelligence"]}),(0,t.jsx)(a.motion.span,{className:"block text-hero-heading-muted",...i(.12),children:"backed by enterprise-grade trust"})]})}])},39286,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(57688),i=e.i(22016),n=e.i(75108);let s=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M204,64V168a12,12,0,0,1-24,0V93L72.49,200.49a12,12,0,0,1-17-17L163,76H88a12,12,0,0,1,0-24H192A12,12,0,0,1,204,64Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M192,64V168L88,64Z",opacity:"0.2"}),a.createElement("path",{d:"M192,56H88a8,8,0,0,0-5.66,13.66L128.69,116,58.34,186.34a8,8,0,0,0,11.32,11.32L140,127.31l46.34,46.35A8,8,0,0,0,200,168V64A8,8,0,0,0,192,56Zm-8,92.69-38.34-38.34h0L107.31,72H184Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M200,64V168a8,8,0,0,1-13.66,5.66L140,127.31,69.66,197.66a8,8,0,0,1-11.32-11.32L128.69,116,82.34,69.66A8,8,0,0,1,88,56H192A8,8,0,0,1,200,64Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M198,64V168a6,6,0,0,1-12,0V78.48L68.24,196.24a6,6,0,0,1-8.48-8.48L177.52,70H88a6,6,0,0,1,0-12H192A6,6,0,0,1,198,64Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M200,64V168a8,8,0,0,1-16,0V83.31L69.66,197.66a8,8,0,0,1-11.32-11.32L172.69,72H88a8,8,0,0,1,0-16H192A8,8,0,0,1,200,64Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M196,64V168a4,4,0,0,1-8,0V73.66L66.83,194.83a4,4,0,0,1-5.66-5.66L182.34,68H88a4,4,0,0,1,0-8H192A4,4,0,0,1,196,64Z"}))]]),l=a.forwardRef((e,t)=>a.createElement(n.default,{ref:t,...e,weights:s}));l.displayName="ArrowUpRightIcon";let o=[{name:"Character",src:"/home/logos/character.png",alt:"Character",width:120,height:28,href:"/character-case-study"},{name:"OpenAI",src:"/home/logos/openai.png",alt:"OpenAI",width:88,height:32,href:"/openai-case-study"},{name:"Gamma",src:"/home/logos/gamma.png",alt:"Gamma",width:88,height:28,href:"/gamma-case-study"}
1,{name:"Mighty Networks",src:"/home/logos/mighty.png",alt:"Mighty Networks",width:72,height:28,href:"/mighty-networks-case-study"},{name:"Picsart",src:"/home/logos/picsart.png",alt:"Picsart",width:88,height:31},{name:"Mirage",src:"/home/logos/mirage.png",alt:"Mirage",width:63,height:24}];function c({src:e,alt:a,width:i,height:n}){return(0,t.jsx)(r.default,{src:e,alt:a,width:i,height:n,className:"h-5 w-auto shrink-0 object-contain md:h-6 lg:h-7"})}function u({href:e,src:r,alt:n,width:s,height:o}){let[h,d]=(0,a.useState)({x:0,y:0}),m=e=>{let t=e.currentTarget.getBoundingClientRect();d({x:e.clientX-t.left,y:e.clientY-t.top})};return(0,t.jsxs)(i.default,{href:e,target:"_blank",rel:"noopener noreferrer","aria-label":`${n} case study`,onMouseMove:m,onMouseEnter:m,className:"group/logo relative shrink-0 opacity-90 transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none",children:[(0,t.jsxs)("span",{role:"tooltip","aria-hidden":"true",style:{left:h.x,top:h.y},className:"pointer-events-none invisible absolute z-30 flex origin-bottom -translate-x-1/2 -translate-y-[calc(100%+10px)] scale-90 items-center gap-1 whitespace-nowrap rounded-pill bg-surface-cream px-2.5 py-1 text-[10px] font-light uppercase tracking-[1.4px] text-text-primary opacity-0 shadow-hero transition-[opacity,scale,visibility] duration-200 ease-out group-hover/logo:visible group-hover/logo:scale-100 group-hover/logo:opacity-100 group-focus-visible/logo:visible group-focus-visible/logo:scale-100 group-focus-visible/logo:opacity-100",children:["Read their story",(0,t.jsx)(l,{size:11,weight:"bold","aria-hidden":!0})]}),(0,t.jsx)(c,{src:r,alt:n,width:s,height:o})]})}e.s(["LogoBar",0,function({className:e}){return(0,t.jsx)("div",{"aria-label":"Trusted by",className:`w-full max-w-full ${e??""}`,children:(0,t.jsx)("div",{className:"mx-auto grid w-full max-w-[336px] grid-cols-3 items-center justify-items-center gap-x-4 gap-y-4 md:flex md:max-w-none md:flex-nowrap md:justify-center md:gap-x-6 lg:gap-x-10",children:o.map(e=>e.href?(0,t.jsx)(u,{href:e.href,src:e.src,alt:e.alt,width:e.width,height:e.height},e.name):(0,t.jsx)("span",{className:"shrink-0 opacity-90 transition-opacity hover:opacity-100",children:(0,t.jsx)(c,{src:e.src,alt:e.alt,width:e.width,height:e.height})},e.name))})})}],39286)},20848,e=>{"use strict";var t=e.i(43476),a=e.i(46932),r=e.i(72328);e.s(["Reveal",0,function({delay:e=0,y:i=10,duration:n=.5,className:s,children:l}){return(0,r.useReducedMotion)()?(0,t.jsx)("div",{className:s,children:l}):(0,t.jsx)(a.motion.div,{className:s,initial:{opacity:0,y:i},animate:{opacity:1,y:0},transition:{duration:n,delay:e,ease:"easeOut"},children:l})}])},9012,e=>{"use strict";e.i(43476),e.i(71645),e.s([])},61790,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(87652),i=e.i(60140),n=e.i(30551),s=e.i(86427),l=e.i(65566),o=e.i(60830),c=e.i(87022);function u(e,t){let a,r=()=>{let{currentTime:r}=t,i=(null===r?0:r.value)/100;a!==i&&e(i),a=i};return c.frame.preUpdate(r,!0),()=>(0,c.cancelFrame)(r)}function h(e){return!("u"<typeof window)&&(e?(0,n.supportsViewTimeline)():(0,n.supportsScrollTimeline)())}var d=e.i(61327),m=e.i(83920),f=e.i(25791);let p=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),g={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function x(e,t,a,r){let i=a[t],{length:n,position:s}=g[t],l=i.current,o=a.time;i.current=Math.abs(e[`scroll${s}`]),i.scrollLength=e[`scroll${n}`]-e[`client${n}`],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=(0,m.progress)(0,i.scrollLength,i.current);let c=r-o;i.velocity=c>50?0:(0,f.velocityPerSecond)(i.current-l,c)}e.i(47167);var v=e.i(44230),b=e.i(15923),w=e.i(76959),E=e.i(72846);let y={start:0,center:.5,end:1};function A(e,t,a=0){let r=0;if(e in y&&(e=y[e]),"string"==typeof e){let t=parseFloat(e);e.endsWith("px")?r=t:e.endsWith("%")?e=t/100:e.endsWith("vw")?r=t/100*document.documentElement.clientWidth:e.endsWith("vh")?r=t/100*document.documentElement.clientHeight:e=t}return"number"==typeof e&&(r=t*e),a+r}let T=[0,0],_=[[0,0],[1,1]],R={x:0,y:0},M=new WeakMap,L=new WeakMap,N=new WeakMap,S=new WeakMap,P=new WeakMap,j=e=>e===document.scrollingElement?window:e;function C(e,{container:t=document.scrollingElement,trackContentSize:a=!1,...r}={}
1){if(!t)return o.noop;let i=N.get(t);i||(i=new Set,N.set(t,i));let n=function(e,t,a,r={}){return{measure:t=>{!function(e,t=e,a){if(a.x.targetOffset=0,a.y.targetOffset=0,t!==e){let r=t;for(;r&&r!==e;)a.x.targetOffset+=r.offsetLeft,a.y.targetOffset+=r.offsetTop,r=r.offsetParent}a.x.targetLength=t===e?t.scrollWidth:t.clientWidth,a.y.targetLength=t===e?t.scrollHeight:t.clientHeight,a.x.containerLength=e.clientWidth,a.y.containerLength=e.clientHeight}(e,r.target,a),x(e,"x",a,t),x(e,"y",a,t),a.time=t,(r.offset||r.target)&&function(e,t,a){let{offset:r=_}=a,{target:i=e,axis:n="y"}=a,s="y"===n?"height":"width",l=i!==e?function(e,t){let a={x:0,y:0},r=e;for(;r&&r!==t;)if((0,E.isHTMLElement)(r))a.x+=r.offsetLeft,a.y+=r.offsetTop,r=r.offsetParent;else if("svg"===r.tagName){let e=r.getBoundingClientRect(),t=(r=r.parentElement).getBoundingClientRect();a.x+=e.left-t.left,a.y+=e.top-t.top}else if(r instanceof SVGGraphicsElement){let{x:e,y:t}=r.getBBox();a.x+=e,a.y+=t;let i=null,n=r.parentNode;for(;!i;)"svg"===n.tagName&&(i=n),n=r.parentNode;r=i}else break;return a}(i,e):R,o=i===e?{width:e.scrollWidth,height:e.scrollHeight}:"getBBox"in i&&"svg"!==i.tagName?i.getBBox():{width:i.clientWidth,height:i.clientHeight},c={width:e.clientWidth,height:e.clientHeight};t[n].offset.length=0;let u=!t[n].interpolate,h=r.length;for(let e=0;e<h;e++){let a=function(e,t,a,r){let i=Array.isArray(e)?e:T,n=0;return"number"==typeof e?i=[e,e]:"string"==typeof e&&(i=(e=e.trim()).includes(" ")?e.split(" "):[e,y[e]?e:"0"]),(n=A(i[0],a,r))-A(i[1],t)}(r[e],c[s],o[s],l[n]);u||a===t[n].interpolatorOffsets[e]||(u=!0),t[n].offset[e]=a}u&&(t[n].interpolate=(0,v.interpolate)(t[n].offset,(0,b.defaultOffset)(r),{clamp:!1}),t[n].interpolatorOffsets=[...t[n].offset]),t[n].progress=(0,w.clamp)(0,1,t[n].interpolate(t[n].current))}(e,a,r)},notify:()=>t(a)}}(t,e,{time:0,x:p(),y:p()},r);if(i.add(n),!M.has(t)){let e=()=>{for(let e of i)e.measure(c.frameData.timestamp);c.frame.preUpdate(a)},a=()=>{for(let e of i)e.notify()},r=()=>c.frame.read(e);M.set(t,r);let n=j(t);window.addEventListener("resize",r),t!==document.documentElement&&L.set(t,(0,d.resize)(t,r)),n.addEventListener("scroll",r),r()}if(a&&!P.has(t)){let e=M.get(t),a={width:t.scrollWidth,height:t.scrollHeight};S.set(t,a);let r=c.frame.read(()=>{let r=t.scrollWidth,i=t.scrollHeight;(a.width!==r||a.height!==i)&&(e(),a.width=r,a.height=i)},!0);P.set(t,r)}let s=M.get(t);return c.frame.read(s,!1,!0),()=>{(0,c.cancelFrame)(s);let e=N.get(t);if(!e||(e.delete(n),e.size))return;let a=M.get(t);M.delete(t),a&&(j(t).removeEventListener("scroll",a),L.get(t)?.(),window.removeEventListener("resize",a));let r=P.get(t);r&&((0,c.cancelFrame)(r),P.delete(t)),S.delete(t)}}let U=[[[[0,1],[1,1]],"entry"],[[[0,0],[1,0]],"exit"],[[[1,0],[0,1]],"cover"],[_,"contain"]],F={start:0,end:1};function I(e){if(!e)return{rangeStart:"contain 0%",rangeEnd:"contain 100%"};for(let[t,a]of U)if(function(e,t){let a=function(e){if(2!==e.length)return;let t=[];for(let a of e)if(Array.isArray(a))t.push(a);else{if("string"!=typeof a)return;let e=function(e){let t=e.trim().split(/\s+/);if(2!==t.length)return;let a=F[t[0]],r=F[t[1]];if(void 0!==a&&void 0!==r)return[a,r]}(a);if(!e)return;t.push(e)}return t}(e);if(!a)return!1;for(let e=0;e<2;e++){let r=a[e],i=t[e];if(r[0]!==i[0]||r[1]!==i[1])return!1}return!0}(e,t))return{rangeStart:`${a} 0%`,rangeEnd:`${a} 100%`}}let k=new Map;function H(e){let t={value:0},a=C(a=>{t.value=100*a[e.axis].progress},e);return{currentTime:t,cancel:a}}function Z({source:e,container:t,...a}){let{axis:r}=a;e&&(t=e);let i=k.get(t);i||(i=new Map,k.set(t,i));let n=a.target??"self",s=i.get(n);s||(s={},i.set(n,s));let l=r+(a.offset??[]).join(",");return s[l]||(a.target&&h(a.target)?I(a.offset)?s[l]=new ViewTimeline({subject:a.target,axis:r}):s[l]=H({container:t,...a}):h()?s[l]=new ScrollTimeline({source:t,axis:r}):s[l]=H({container:t,...a})),s[l]}function O(e,{axis:t="y",container:a=document.scrollingElement,...r}={}){let i,n,s;
1if(!a)return o.noop;let l={axis:t,container:a,...r};return"function"==typeof e?function(e,t){return 2===e.length||t&&(t.target||t.offset)?C(a=>{e(a[t.axis].progress,a)},t):u(e,Z(t))}(e,l):(i=Z(l),n=l.target?I(l.offset):void 0,s=l.target?h(l.target)&&!!n:h(),e.attachTimeline({timeline:s?i:void 0,...n&&s&&{rangeStart:n.rangeStart,rangeEnd:n.rangeEnd},observe:e=>(e.pause(),u(t=>{e.time=e.iterationDuration*t},i))}))}var B=e.i(47414),D=e.i(74008);let V=()=>({scrollX:(0,s.motionValue)(0),scrollY:(0,s.motionValue)(0),scrollXProgress:(0,s.motionValue)(0),scrollYProgress:(0,s.motionValue)(0)}),z=e=>!!e&&!e.current;function W(e,t,a,r){return{factory:n=>{let s,l=()=>{z(a)||z(r)?i.microtask.read(l):s=O(n,{...t,axis:e,container:a?.current||void 0,target:r?.current||void 0})};return i.microtask.read(l),()=>{(0,i.cancelMicrotask)(l),s?.()}},times:[0,1],keyframes:[0,1],ease:e=>e,duration:1}}var X=e.i(36251);let G={base:"#ece8e1",contrast:2.5,radius:.38,soft:.08,thresh:.06,disp:.094,noise:0,decay:.94,hoverReveal:.5,baseReveal:.35,baseRevealRadius:.58},Y=`#version 300 es 2precision highp float; 3out vec2 vUv; 4void main() { 5 vec2 p = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2); 6 vUv = p; 7 gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0); 8}`,$=`#version 300 es 9precision highp float; 10in vec2 vUv; 11out vec4 fragColor; 12uniform sampler2D uPrev; 13uniform vec2 uMouse; 14uniform float uAspect; 15uniform float uRadius; 16uniform float uDecay; 17uniform float uActive; 18void main() { 19 vec2 d = (vUv - uMouse) * vec2(uAspect, 1.0); 20 float dist = length(d); 21 float brush = (1.0 - smoothstep(uRadius * 0.35, uRadius, dist)) * uActive; 22 float prev = texture(uPrev, vUv).r * uDecay; 23 fragColor = vec4(vec3(max(prev, brush)), 1.0); 24}`,q=`#version 300 es 25precision highp float; 26in vec2 vUv; 27out vec4 fragColor; 28uniform sampler2D uBg; 29uniform sampler2D uTrail; 30uniform vec2 uImageRes; 31uniform float uImageAspect; 32uniform float uCanvasAspect; 33uniform vec3 uBase; 34uniform float uThreshold; 35uniform float uSoftness; 36uniform float uDisplace; 37uniform float uNoiseAmt; 38uniform float uContrast; 39uniform float uTime; 40uniform float uBaseReveal; 41uniform float uBaseRadius; 42uniform float uPhase; 43uniform float uHoverReveal; 44 45float luma(vec3 c){ return dot(c, vec3(0.299, 0.587, 0.114)); } 46float hash(vec2 p){ p = fract(p * vec2(123.34, 456.21)); p += dot(p, p + 45.32); return fract(p.x * p.y); } 47float vnoise(vec2 p){ 48 vec2 i = floor(p), f = fract(p); 49 float a = hash(i), b = hash(i + vec2(1,0)), c = hash(i + vec2(0,1)), d = hash(i + vec2(1,1)); 50 vec2 u = f * f * (3.0 - 2.0 * f); 51 return mix(mix(a,b,u.x), mix(c,d,u.x), u.y); 52} 53float fbm(vec2 p){ 54 float v = 0.0, a = 0.5; 55 for(int i=0;i<5;i++){ v += a * vnoise(p); p *= 2.0; a *= 0.5; } 56 return v; 57} 58vec2 containUv(vec2 uv){ 59 // Fit the whole image inside the canvas (letterbox). Out-of-[0,1] samples land 60 // on clamped edge pixels (â base tone) so the leftover bands stay transparent. 61 float ca = uCanvasAspect, ia = uImageAspect; 62 if (ca > ia) uv.x = (uv.x - 0.5) * (ca / ia) + 0.5; 63 else uv.y = (uv.y - 0.5) * (ia / ca) + 0.5; 64 return uv; 65} 66void main(){ 67 vec2 iuv = containUv(vUv); 68 69 vec2 px = 1.0 / uImageRes; 70 float lx = luma(texture(uBg, iuv + vec2(px.x, 0)).rgb) - luma(texture(uBg, iuv - vec2(px.x, 0)).rgb); 71 float ly = luma(texture(uBg, iuv + vec2(0, px.y)).rgb) - luma(texture(uBg, iuv - vec2(0, px.y)).rgb); 72 vec2 grad = vec2(lx, ly); 73 74 float n = fbm(iuv * 6.0 + vec2(uTime * 0.05, -uTime * 0.04)); 75 76 vec2 gwarp = clamp(grad, -1.0, 1.0) * uDisplace; 77 vec2 nwarp = (vec2(n, fbm(iuv * 6.0 + 13.7)) - 0.5) * uDisplace; 78 float trail = texture(uTrail, vUv + gwarp + nwarp).r; 79 80 // Single base-reveal blob that traces one clockwise circle as the section 81 // scrolls into full view (uPhase 0 -> 1) and returns to its start, then holds. 82 // Warped by fbm into an organic, slowly drifting form. 83 const float ORBIT_RADIUS = 0.40; // circle radius (vertical uv; X auto-matched) 84 const vec2 ORBIT_CENTER = vec2(0.5, 0.62); 85 const float START_ANGLE = 1.5561945; // 135deg => starts top-left; tweak this 86 float ang = START_ANGLE - uPhase * 6.2831853; // minus => clockwise on screen 87 // Aspect-correct X so the path reads as a true circle on screen (the canvas is
88 // far wider than it is tall) instead of a flat, wide ellipse. 89 vec2 anchor = ORBIT_CENTER + vec2(cos(ang) / uCanvasAspect, sin(ang)) * ORBIT_RADIUS; 90 91 float fluid = fbm(vUv * 3.0 + vec2(uTime * 0.05, uTime * 0.03)); 92 vec2 cd = (vUv - anchor) * vec2(uCanvasAspect, 1.0); 93 float fd = length(cd) + (fluid - 0.5) * 0.45; 94 float center = (1.0 - smoothstep(uBaseRadius * 0.3, uBaseRadius, fd)) * uBaseReveal; 95 // Cap the hover trail so it reveals only high-contrast content (like the base 96 // blob) instead of flooding midtones â keeps the hover airy, not "burned". 97 float reveal = max(trail * uHoverReveal, center); 98 99 vec4 img = texture(uBg, iuv); 100 float dev = clamp(length(img.rgb - uBase) * uContrast, 0.0, 1.0); 101 float gate = dev * reveal; 102 float edge = uThreshold - (n - 0.5) * uNoiseAmt; 103 float mask = smoothstep(edge, edge + uSoftness, gate); 104 // Force the unrevealed field to be exactly the base color (no noise bleed). 105 mask *= smoothstep(0.0, 0.12, reveal); 106 107 // Output the image with mask as alpha so the unrevealed field is fully 108 // transparent â the section background (sand + grain) shows through and the 109 // shader blends seamlessly instead of reading as an opaque card. 110 fragColor = vec4(img.rgb, mask); 111}`;function K(e,t,a){let r=e.createShader(t);if(!r)throw Error("Failed to create shader");if(e.shaderSource(r,a),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS))throw Error(e.getShaderInfoLog(r)??"Shader compile error");return r}function J(e,t,a){let r=e.createProgram();if(!r)throw Error("Failed to create program");if(e.attachShader(r,K(e,e.VERTEX_SHADER,t)),e.attachShader(r,K(e,e.FRAGMENT_SHADER,a)),e.linkProgram(r),!e.getProgramParameter(r,e.LINK_STATUS))throw Error(e.getProgramInfoLog(r)??"Program link error");return r}function Q(e,t){let a={},r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let i=0;i<r;i++){let r=e.getActiveUniform(t,i);r&&(a[r.name]=e.getUniformLocation(t,r.name))}return a}class ee{canvas;gl;trailProg;compProg;trailU;compU;vao;pp=[null,null];src=0;bgTex;imageRes=[1200,675];imageAspect=1200/675;params;dpr=1;cw=0;ch=0;mouse=[.5,.5];target=[.5,.5];active=0;hoverAmt=0;phase=0;phaseTarget=0;rafId=null;running=!1;startTime=performance.now();resizeObserver=null;disposed=!1;constructor(e,t,a){this.canvas=e,this.params={...t};const r=e.getContext("webgl2",{antialias:!1,premultipliedAlpha:!1,alpha:!0});if(!r)throw Error("WebGL2 not supported");this.gl=r,r.clearColor(0,0,0,0),this.trailProg=J(r,Y,$),this.compProg=J(r,Y,q),this.trailU=Q(r,this.trailProg),this.compU=Q(r,this.compProg);const i=r.createVertexArray();if(!i)throw Error("Failed to create VAO");this.vao=i;const n=r.createTexture();if(!n)throw Error("Failed to create texture");this.bgTex=n;const s=new Image;s.onload=()=>{this.disposed||(this.imageRes=[s.naturalWidth,s.naturalHeight],this.imageAspect=s.naturalWidth/s.naturalHeight,r.bindTexture(r.TEXTURE_2D,n),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,s),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),this.renderOnce())},s.src=a,this.resizeObserver=new ResizeObserver(()=>this.resize()),this.resizeObserver.observe(e),this.resize()}makeTarget(e,t){let{gl:a}=this,r=a.createTexture();a.bindTexture(a.TEXTURE_2D,r),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,e,t,0,a.RGBA,a.UNSIGNED_BYTE,null),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);let i=a.createFramebuffer();return a.bindFramebuffer(a.FRAMEBUFFER,i),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,r,0),{tex:r,fbo:i,w:e,h:t}}clearTrail(){let{gl:e}=this;for(let t=0;t<2;t++){let a=this.pp[t];a&&(e.bindFramebuffer(e.FRAMEBUFFER,a.fbo),e.viewport(0,0,a.w,a.h),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT))}}resetTrail(){this.clearTrail()}resize(){if(this.disposed||(this.dpr=Math.min(window.devicePixelRatio||1,2),this.cw=Math.floor(this.canvas.clientWidth*this.dpr),this.ch=Math.floor(this.canvas.clientHeight*this.dpr),0===this.cw||0===this.ch))return;this.canvas.width=this.cw,this.canvas.height=this.ch;let e=Math.max(2,Math.floor(this.cw/2)),t=Math.max(2,Math.floor(this.ch/2));this.pp[0]=this.makeTarget(e,t),this.pp[1]=this.makeTarget(e,t),this.clearTrail(),this.running||this.renderOnce()}draw(e){var t;let{gl:a}=this;if(!this.pp[0]||!this.pp[1])return;let r=(e-this.startTime)/1e3;this.mouse[0]+=(this.target[0]-this.mouse[0])*.35,this.mouse[1]+=(this.target[1]-this.mouse[1])*.35;let i=this.active>this.hoverAmt?.25:.05;this.hoverAmt+=(this.active-this.hoverAmt)*i,this.phase+=(this.phaseTarget-this.phase)*.12;let n=1-this.src,s=this.pp[n],l=this.pp[this.src];a.bindFramebuffer(a.FRAMEBUFFER,s.fbo),a.viewport(0,0,s.w,s.h),a.useProgram(this.trailProg),a.bindVertexArray(this.vao),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,l.tex),a.uniform1i(this.trailU.uPrev??null,0),a.uniform2f(this.trailU.uMouse??null,this.mouse[0],this.mouse[1]),a.uniform1f(this.trailU.uAspect??null,this.cw/this.ch),a.uniform1f(this.trailU.uRadius??null,this.params.radius),a.uniform1f(this.trailU.uDecay??null,this.params.decay),a.uniform1f(this.trailU.uActive??null,this.active),a.drawArrays(a.TRIANGLES,0,3),a.bindFramebuffer(a.FRAMEBUFFER,null),a.viewport(0,0,this.cw,this.ch),a.clear(a.COLOR_BUFFER_BIT),a.useProgram(this.compProg),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this.bgTex),a.uniform1i(this.compU.uBg??null,0),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,s.tex),a.uniform1i(this.compU.uTrail??null,1),a.uniform2f(this.compU.uImageRes??null,this.imageRes[0],this.imageRes[1]),a.uniform1f(this.compU.uImageAspect??null,this.imageAspect),a.uniform1f(this.compU.uCanvasAspect??null,this.cw/this.ch);let o=[parseInt((t=this.params.base).slice(1,3),16)/255,parseInt(t.slice(3,5),16)/255,parseInt(t.slice(5,7),16)/255];a.uniform3f(this.compU.uBase??null,o[0],o[1],o[2]),a.uniform1f(this.compU.uThreshold??null,this.params.thresh),a.uniform1f(this.compU.uSoftness??null,this.params.soft),a.uniform1f(this.compU.uDisplace??null,this.params.disp),a.uniform1f(this.compU.uNoiseAmt??null,this.params.noise),a.uniform1f(this.compU.uContrast??null,this.params.contrast),a.uniform1f(this.compU.uTime??null,r),a.uniform1f(this.compU.uBaseReveal??null,this.params.baseReveal*(1-this.hoverAmt)),a.uniform1f(this.compU.uBaseRadius??null,this.params.baseRevealRadius),a.uniform1f(this.compU.uPhase??null,this.phase),a.uniform1f(this.compU.uHoverReveal??null,this.params.hoverReveal),a.drawArrays(a.TRIANGLES,0,3),this.src=n}renderOnce(){this.draw(performance.now())}loop=e=>{this.running&&(this.draw(e),this.rafId=requestAnimationFrame(this.loop))};setParams(e){this.params={...this.params,...e},this.running||this.renderOnce()}setPhase(e){this.phaseTarget=Math.max(0,Math.min(1,e)),this.running||this.renderOnce()}setMouse(e,t,a){let r=this.canvas.clientWidth||1,i=this.canvas.clientHeight||1;this.target[0]=e/r,this.target[1]=1-t/i,this.active=+!!a}start(){this.running||this.disposed||(this.running=!0,this.startTime=performance.now(),this.rafId=requestAnimationFrame(this.loop))}stop(){this.running=!1,null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null)}dispose(){this.disposed=!0,this.stop(),this.resizeObserver?.disconnect(),this.resizeObserver=null;let{gl:e}=this;for(let t of this.pp)t&&(e.deleteTexture(t.tex),e.deleteFramebuffer(t.fbo));e.deleteTexture(this.bgTex),e.deleteVertexArray(this.vao),e.deleteProgram(this.trailProg),e.deleteProgram(this.compProg)}}function et(e){let t=(0,a.useMemo)(()=>t=>{let a=window.matchMedia(e);return a.addEventListener("change",t),()=>a.removeEventListener("change",t)},[e]),r=(0,a.useMemo)(()=>()=>window.matchMedia(e).matches,[e]);return(0,a.useSyncExternalStore)(t,r,()=>!1)}e.i(9012),e.s(["RevealField",0,function({children:e,className:s}){let o=(0,a.useRef)(null),c=(0,a.useRef)(null),u=(0,a.useRef)(null),h=et("(min-width: 1024px)"),d=et("(hover: hover) and (pointer: fine)"),m=(0,X.usePrefers
111ReducedMotion)(),f=(0,r.useInView)(o,{amount:.2,once:!1}),{scrollYProgress:p}=function({container:e,target:t,...r}={}){var s;let o=(0,B.useConstant)(V);s=r.offset,!("u"<typeof window)&&(t?(0,n.supportsViewTimeline)()&&!!I(s):(0,n.supportsScrollTimeline)())&&(o.scrollXProgress.accelerate=W("x",r,e,t),o.scrollYProgress.accelerate=W("y",r,e,t));let c=(0,a.useRef)(null),u=(0,a.useRef)(!1),h=(0,a.useCallback)(()=>(c.current=O((e,{x:t,y:a})=>{o.scrollX.set(t.current),o.scrollXProgress.set(t.progress),o.scrollY.set(a.current),o.scrollYProgress.set(a.progress)},{...r,container:e?.current||void 0,target:t?.current||void 0}),()=>{c.current?.()}),[e,t,JSON.stringify(r.offset)]);return(0,D.useIsomorphicLayoutEffect)(()=>{if(u.current=!1,!(z(e)||z(t)))return h();u.current=!0},[h]),(0,a.useEffect)(()=>{let a;if(!u.current)return;let r=()=>{let r=z(e),i=z(t);(0,l.invariant)(!r,"Container ref is defined but not hydrated","use-scroll-ref"),(0,l.invariant)(!i,"Target ref is defined but not hydrated","use-scroll-ref"),r||i||(a=h())};return i.microtask.read(r),()=>{(0,i.cancelMicrotask)(r),a?.()}},[h]),o}({target:o,offset:["start end","end 0.9"]}),g=(0,a.useMemo)(()=>{try{return!!document.createElement("canvas").getContext("webgl2")}catch{return!1}},[]),[x,v]=(0,a.useState)({...G}),b=h&&d&&g&&!m;return(0,a.useEffect)(()=>{let e;if(!b)return;let t=c.current;if(t){try{e=new ee(t,{...G},"/home/vision-section/vision_02.png")}catch{return}return u.current=e,()=>{e.dispose(),u.current=null}}},[b]),(0,a.useEffect)(()=>{u.current?.setParams(x)},[x]),(0,a.useEffect)(()=>{let e=u.current;e&&(f?e.start():e.stop())},[f,b]),(0,a.useEffect)(()=>{if(!b)return;let e=e=>{u.current?.setPhase(Math.max(0,Math.min(1,(e-.5)/.5)))};return e(p.get()),p.on("change",e)},[b,p]),(0,t.jsxs)("div",{ref:o,className:`relative overflow-hidden bg-white ${s??""}`,children:[b?(0,t.jsx)("canvas",{ref:c,"aria-hidden":!0,onPointerMove:e=>{let t=e.currentTarget.getBoundingClientRect();u.current?.setMouse(e.clientX-t.left,e.clientY-t.top,!0)},onPointerLeave:()=>{u.current?.setMouse(0,0,!1)},className:"absolute inset-0 block h-full w-full"}):null,(0,t.jsx)("div",{className:"pointer-events-none relative z-10 flex h-full flex-col items-center justify-center text-center",children:e}),null]})}],61790)},8230,e=>{"use strict";var t=e.i(43476),a=e.i(71645);e.s(["AIPlatformScaler",0,function({width:e,height:r,children:i}){let n=(0,a.useRef)(null),[s,l]=(0,a.useState)(1);return(0,a.useLayoutEffect)(()=>{let t=n.current;if(!t)return;let a=()=>l(Math.min(1,t.clientWidth/e)),r=new ResizeObserver(a);return r.observe(t),a(),()=>r.disconnect()},[e]),(0,t.jsx)("div",{ref:n,className:"w-full",style:{height:r*s},children:(0,t.jsx)("div",{style:{width:e,height:r,transform:`scale(${s})`,transformOrigin:"top left"},children:i})})}])},46545,e=>{"use strict";var t=e.i(43476),a=e.i(71645),r=e.i(87652),i=e.i(36251);let n={text:"Analytics for the AI era",horizontal:1,cols:314,size:30,base:22,fieldw:100,fieldh:48,ridge:25,ridgeMot:68,hoverTextOnly:0,radius:190,hover:70,fillColor:"#6e2a6f",textPad:0,lineOpacity:.38},s=` 112 attribute vec2 a_position; 113 attribute vec2 a_texCoord; 114 varying vec2 v_texCoord; 115 void main() { gl_Position = vec4(a_position, 0.0, 1.0); v_texCoord = a_texCoord; }`,l=` 116 precision mediump float; 117 uniform sampler2D u_texture; 118 uniform vec2 u_gridSize; 119 uniform float u_minWidth; 120 uniform float u_maxWidth; 121 uniform float u_threshold; 122 uniform vec3 u_fillColor; 123 uniform vec4 u_bounds; 124 uniform float u_horizontal; 125 uniform float u_time; 126 uniform vec2 u_mouse; 127 uniform float u_mouseAmt; 128 uniform float u_ridge; 129 uniform float u_ridgeMot; 130 uniform float u_radius; 131 uniform float u_hover; 132 uniform float u_hoverTextOnly; 133 uniform float u_lineOpacity; 134 uniform vec4 u_rect; 135 varying vec2 v_texCoord; 136 137 float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); } 138 float vnoise(vec2 p){ 139 vec2 i = floor(p), f = fract(p); 140 f = f*f*(3.0-2.0*f); 141 float a = hash(i), b = hash(i+vec2(1.0,0.0)), c = hash(i+vec2(0.0,1.0)), d = hash(i+vec2(1.0,1.0)); 142 return mix(mix(a,b,f.x), mix(c,d,f.x), f.y); 143 } 144 145 void main() { 146 vec2 p = gl_FragCoord.xy; 147 if (p.x < u_rect.x || p.x > u_rect.z || p.y < u_rect.y || p.y > u_rect.w) { 148 gl_FragColor = vec4(0.0); return; 149 } 150 vec2 b0 = u_bounds.xy, b1 = u_bounds.zw; 151 vec2 lc = (p - b0) / (b1 - b0); 152 vec2 cs = 1.0 / u_gridSize; 153 vec2 ci = floor(lc / cs); 154 vec2 cc = (ci + 0.5) * cs; 155 156 vec4 tc = texture2D(u_texture, cc); 157 float br = dot(tc.rgb, vec3(0.333)); 158 if (br > u_threshold / 255.0) { gl_FragColor = vec4(0.0); return; } 159 160 float denom = u_horizontal > 0.5 ? (b1.y - b0.y) : (b1.x - b0.x); 161 float gsz = u_horizontal > 0.5 ? u_gridSize.y : u_gridSize.x; 162 float lw = ((1.0 - br) * (u_maxWidth - u_minWidth) + u_minWidth) / denom * gsz; 163 164 float along = u_horizontal > 0.5 ? ci.x : ci.y; 165 float across = u_horizontal > 0.5 ? ci.y : ci.x;
166 float n = vnoise(vec2(along * 0.45 + u_time * u_ridgeMot, across * 0.22)); 167 float rn = mix(1.0 - u_ridge, 1.0 + u_ridge, n); 168 float ridge = mix(1.0, rn, 1.0 - br); 169 lw *= ridge; 170 171 if (u_mouseAmt > 0.001) { 172 float d = distance(p, u_mouse); 173 float infl = smoothstep(u_radius, 0.0, d) * u_mouseAmt; 174 float ripple = sin(d * 0.05 - u_time * 5.0) * 0.5 + 0.5; 175 float scope = mix(1.0, max(0.0, 1.0 - br), u_hoverTextOnly); 176 lw += infl * u_hover * (0.35 + 0.65 * ripple) * scope; 177 } 178 179 lw = clamp(lw, 0.0, 1.4); 180 vec2 cl = (lc - ci * cs) / cs; 181 float coord = u_horizontal > 0.5 ? cl.y : cl.x; 182 float a = mix(u_lineOpacity, 1.0, 1.0 - br); 183 gl_FragColor = abs(coord - 0.5) < lw * 0.5 ? vec4(u_fillColor, a) : vec4(0.0); 184 }`;function o(e,t,a){let r=e.createShader(t);if(!r)throw Error("Failed to create shader");if(e.shaderSource(r,a),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS))throw Error(e.getShaderInfoLog(r)??"Shader compile error");return r}class c{canvas;gl;prog;tex;txt;tctx;U={};params;dpr=1;W=1;H=1;fontPx=1;mouseX=0;mouseY=0;mouseTargetAmt=0;mouseAmt=0;rafId=null;running=!1;startTime=performance.now();resizeObserver=null;disposed=!1;constructor(e,t){this.canvas=e,this.params={...t};const a=e.getContext("webgl",{alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1});if(!a)throw Error("WebGL not supported");this.gl=a,a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.clearColor(0,0,0,0);const r=a.createProgram();if(!r)throw Error("Failed to create program");if(a.attachShader(r,o(a,a.VERTEX_SHADER,s)),a.attachShader(r,o(a,a.FRAGMENT_SHADER,l)),a.linkProgram(r),!a.getProgramParameter(r,a.LINK_STATUS))throw Error(a.getProgramInfoLog(r)??"Program link error");a.useProgram(r),this.prog=r;const i=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,i),a.bufferData(a.ARRAY_BUFFER,new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]),a.STATIC_DRAW);const n=a.getAttribLocation(r,"a_position"),c=a.getAttribLocation(r,"a_texCoord");a.enableVertexAttribArray(n),a.vertexAttribPointer(n,2,a.FLOAT,!1,16,0),a.enableVertexAttribArray(c),a.vertexAttribPointer(c,2,a.FLOAT,!1,16,8),["u_texture","u_gridSize","u_minWidth","u_maxWidth","u_threshold","u_fillColor","u_bounds","u_horizontal","u_time","u_mouse","u_mouseAmt","u_ridge","u_ridgeMot","u_radius","u_hover","u_hoverTextOnly","u_lineOpacity","u_rect"].forEach(e=>{this.U[e]=a.getUniformLocation(r,e)});const u=a.createTexture();if(!u)throw Error("Failed to create texture");this.tex=u,a.bindTexture(a.TEXTURE_2D,u),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!0),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.uniform1i(this.U.u_texture,0),this.txt=document.createElement("canvas");const h=this.txt.getContext("2d");if(!h)throw Error("2D context not supported");this.tctx=h,this.resizeObserver=new ResizeObserver(()=>this.resize()),this.resizeObserver.observe(e),this.resize(),"u">typeof document&&document.fonts&&document.fonts.ready.then(()=>{this.disposed||this.resize()})}fieldRect(){let e=this.W*this.params.fieldw/100,t=this.H*this.params.fieldh/100,a=(this.W-e)/2,r=(this.H-t)/2;return{x0:a,y0:r,x1:a+e,y1:r+t,w:e,h:t}}buildTextTexture(){let{gl:e,tctx:t,params:a}=this,r=this.fieldRect(),i=(a.textPad??0)*this.dpr,n=Math.round(this.H*a.size/100);n=Math.min(n,Math.floor(.82*r.h)),t.font=`800 ${n}px "Funnel Sans", system-ui, sans-serif`;let s=.98*r.w-i,l=t.measureText(a.text).width;l>s&&(n=Math.max(4,Math.floor(n*s/l))),this.fontPx=n,t.fillStyle="#ffffff",t.fillRect(0,0,this.W,this.H),t.fillStyle="#000000",t.textBaseline="middle",t.textAlign="center",t.font=`800 ${n}px "Funnel Sans", system-ui, sans-serif`,t.fillText(a.text,r.x0+r.w/2+i,this.H/2),e.bindTexture(e.TEXTURE_2D,this.tex),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.txt)}resize(){if(this.disposed)return;this.dpr=Math.min(window.devicePixelRatio||1,2);let e=this.canvas.clientWidth,t=this.canvas.clientHeight;this.W=Math.max(1,Math.round(e*this.dpr)),this.H=Math.max(1,Math.round(t*this.dpr)),this.canvas.width=this.W,this.canvas.height=this.H,this.txt.width=this.W,this.txt.height=this.H,this.gl.viewport(0,0,this.W,this.H),this.buildTextTexture(),this.running||this.renderOnce()}draw(e){let t,{gl:a,U:r,params:i}=this;a.clear(a.COLOR_BUFFER_BIT);let n=(e-this.startTime)/1e3;this.mouseAmt+=(this.mouseTargetAmt-this.mouseAmt)*.12;let s=i.cols,l=Math.max(1,Math.round(s*this.H/this.W)),o=i.horizontal?this.H/l:this.W/s;a.uniform2f(r.u_gridSize,s,l),a.uniform1f(r.u_minWidth,i.base/100*o),a.uniform1f(r.u_maxWidth,.92*o),a.uniform1f(r.u_threshold,255),a.uniform3fv(r.u_fillColor,[parseInt((t=i.fillColor.replace("#","")).slice(0,2),16)/255,parseInt(t.slice(2,4),16)/255,parseInt(t.slice(4,6),16)/255]),a.uniform4f(r.u_bounds,0,0,this.W,this.H),a.uniform1f(r.u_horizontal,i.horizontal),a.uniform1f(r.u_time,n),a.uniform2f(r.u_mouse,this.mouseX,this.mouseY),a.uniform1f(r.u_mouseAmt,this.mouseAmt),a.uniform1f(r.u_ri
184dge,i.ridge/100),a.uniform1f(r.u_ridgeMot,i.ridgeMot/100*.8),a.uniform1f(r.u_radius,i.radius*this.dpr),a.uniform1f(r.u_hover,i.hover/100),a.uniform1f(r.u_hoverTextOnly,i.hoverTextOnly),a.uniform1f(r.u_lineOpacity,i.lineOpacity);let c=this.fieldRect();a.uniform4f(r.u_rect,c.x0,c.y0,c.x1,c.y1),a.drawArrays(a.TRIANGLE_STRIP,0,4)}renderOnce(){this.draw(performance.now())}loop=e=>{this.running&&(this.draw(e),this.rafId=requestAnimationFrame(this.loop))};setParams(e){let t=this.params;this.params={...t,...e},(void 0!==e.text||void 0!==e.size||void 0!==e.fieldw||void 0!==e.fieldh||void 0!==e.textPad)&&this.buildTextTexture(),this.running||this.renderOnce()}setMouse(e,t,a){this.mouseX=e*this.dpr,this.mouseY=(this.canvas.clientHeight-t)*this.dpr,this.mouseTargetAmt=+!!a}start(){this.running||this.disposed||(this.running=!0,this.startTime=performance.now(),this.rafId=requestAnimationFrame(this.loop))}stop(){this.running=!1,null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null)}dispose(){this.disposed=!0,this.stop(),this.resizeObserver?.disconnect(),this.resizeObserver=null;let{gl:e}=this;e.deleteTexture(this.tex),e.deleteProgram(this.prog)}}e.i(9012),e.s(["HalftoneText",0,function({text:e=n.text,className:s}){var l;let o,u,h=(0,a.useRef)(null),d=(0,a.useRef)(null),m=(0,a.useRef)(null),f=(l="(min-width: 1024px)",o=(0,a.useMemo)(()=>e=>{let t=window.matchMedia(l);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},[l]),u=(0,a.useMemo)(()=>()=>window.matchMedia(l).matches,[l]),(0,a.useSyncExternalStore)(o,u,()=>!1)),p=(0,i.usePrefersReducedMotion)(),g=(0,r.useInView)(h,{amount:.2,once:!1}),x=(0,a.useMemo)(()=>{try{return!!document.createElement("canvas").getContext("webgl")}catch{return!1}},[]),[v,b]=(0,a.useState)({...n,text:e}),w=f&&x&&!p;return(0,a.useEffect)(()=>{let t;if(!w)return;let a=d.current;if(a){try{t=new c(a,{...n,text:e})}catch{return}return m.current=t,()=>{t.dispose(),m.current=null}}},[w,e]),(0,a.useEffect)(()=>{m.current?.setParams(v)},[v]),(0,a.useEffect)(()=>{let e=m.current;e&&(g?e.start():e.stop())},[g,w]),(0,t.jsxs)("div",{ref:h,className:`relative ${s??""}`,children:[(0,t.jsx)("h2",{className:w?"sr-only":"text-center text-[30px] leading-[28px] font-extrabold tracking-[-1.5px] text-hero-heading-muted lg:text-[44px] lg:leading-[44px] lg:tracking-[-2px]",children:e}),w?(0,t.jsx)("canvas",{ref:d,"aria-hidden":!0,onPointerMove:e=>{let t=e.currentTarget.getBoundingClientRect();m.current?.setMouse(e.clientX-t.left,e.clientY-t.top,!0)},onPointerLeave:()=>{m.current?.setMouse(0,0,!1)},className:"absolute inset-0 block h-full w-full cursor-crosshair"}):null,null]})}],46545)}]);
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.