1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,60077,e=>{"use strict";e.s(["Hero",()=>h],60077);var t=e.i(74488),a=e.i(53172),r=e.i(17097);let i="cubic-bezier(0.16, 1, 0.3, 1)";function n({href:e,children:n,rel:s,cursorState:o="Book"}){let l=(0,a.useRef)(null),c=(0,a.useRef)(null),[d,p]=(0,a.useState)(!1),h=(0,a.useRef)(null),m=(0,a.useRef)(0);(0,a.useEffect)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)");p(e.matches);let t=e=>p(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let u=(0,a.useCallback)(()=>{m.current=0;let e=h.current;if(!e)return;let t=l.current,a=c.current;t&&(t.style.transform=`translate3d(${e.dx}px, ${e.dy}px, 0)`),a&&(a.style.transform=`translate3d(${.5*e.dx}px, ${.5*e.dy}px, 0)`)},[]),g=(0,a.useCallback)(e=>{if(d)return;let t=l.current;if(!t)return;let a=t.getBoundingClientRect(),r=a.left+a.width/2,i=a.top+a.height/2;h.current={dx:(e.clientX-r)*.25,dy:(e.clientY-i)*.25},m.current||(m.current=requestAnimationFrame(u))},[d,u]),x=(0,a.useCallback)(()=>{!d&&(h.current={dx:0,dy:0},m.current||(m.current=requestAnimationFrame(u)))},[d,u]);(0,a.useEffect)(()=>()=>{m.current&&cancelAnimationFrame(m.current)},[]);let v=e.startsWith("http"),f={ref:l,onMouseMove:g,onMouseLeave:x,"data-cursor":o,className:"inline-flex items-center gap-4",style:{padding:"20px 32px",borderRadius:"999px",background:"var(--tx)",color:"var(--bg)",fontFamily:"var(--body)",fontWeight:500,fontSize:"var(--text-small)",textDecoration:"none",transition:`transform 600ms ${i}, box-shadow 400ms ${i}`,boxShadow:"0 16px 48px -16px var(--accent)",willChange:"transform"}},b=(0,t.jsxs)("span",{ref:c,className:"inline-flex items-center gap-3",style:{transition:`transform 700ms ${i}`,willChange:"transform"},children:[n,(0,t.jsx)("span",{"aria-hidden":!0,style:{fontSize:"16px",lineHeight:1},children:"â"})]});return v?(0,t.jsx)("a",{...f,href:e,rel:s??"noopener noreferrer",target:"_blank",children:b}):(0,t.jsx)(r.default,{...f,href:e,children:b})}let s={MOBILE_BREAKPOINT:768,ICEBERG_CX_FRAC:.75,WATERLINE_Y_FRAC:.42,ICEBERG_CX_FRAC_MOBILE:.5,WATERLINE_Y_FRAC_MOBILE:.46,ICEBERG_REF_HEIGHT:800,ICEBERG_SCALE_MIN:.35,ICEBERG_SCALE_MAX:.75,ICEBERG_SCALE_MIN_MOBILE:.22,ICEBERG_SCALE_MAX_MOBILE:.4,ICEBERG_CX_FRAC_PORTRAIT:.5,WATERLINE_Y_FRAC_PORTRAIT:.52,ICEBERG_REF_WIDTH_PORTRAIT:1100,ICEBERG_SCALE_MIN_PORTRAIT:.28,ICEBERG_SCALE_MAX_PORTRAIT:.52};function o(){try{let e=getComputedStyle(document.documentElement).getPropertyValue("--accent").trim();if(e.startsWith("#")){let t=4===e.length?e[1]+e[1]+e[2]+e[2]+e[3]+e[3]:e.slice(1,7),a=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16);if(Number.isFinite(a)&&Number.isFinite(r)&&Number.isFinite(i))return[a,r,i]}let t=e.match(/rgba?\(([^)]+)\)/);if(t){let e=t[1].split(",").map(parseFloat);return[e[0]||0,e[1]||0,e[2]||0]}}catch{}return[98,198,252]}function l(e){let t=e.parentElement;if(!t)return null;let a=t.getBoundingClientRect(),r=a.width||window.innerWidth,i=a.height||window.innerHeight,n=Math.min(window.devicePixelRatio||1,2),o=r<s.MOBILE_BREAKPOINT,l=!o&&i>r,c=r*(o?s.ICEBERG_CX_FRAC_MOBILE:l?s.ICEBERG_CX_FRAC_PORTRAIT:s.ICEBERG_CX_FRAC),d=i*(o?s.WATERLINE_Y_FRAC_MOBILE:l?s.WATERLINE_Y_FRAC_PORTRAIT:s.WATERLINE_Y_FRAC),p=o?s.ICEBERG_SCALE_MIN_MOBILE:l?s.ICEBERG_SCALE_MIN_PORTRAIT:s.ICEBERG_SCALE_MIN,h=Math.max(p,Math.min(o?s.ICEBERG_SCALE_MAX_MOBILE:l?s.ICEBERG_SCALE_MAX_PORTRAIT:s.ICEBERG_SCALE_MAX,l?r/s.ICEBERG_REF_WIDTH_PORTRAIT:i/s.ICEBERG_REF_HEIGHT));return{cssW:r,cssH:i,dpr:n,cx:c,waterY:d,scale:h}}let c=(0,a.forwardRef)(function({reducedMotion:e=!1},r){let i=(0,a.useRef)(null);return(0,a.useImperativeHandle)(r,()=>({addRipple:()=>{}}),[]),(0,a.useEffect)(()=>{let t=i.current;if(!t)return;let a=document.createElement("canvas");for(a.style.display="block",a.style.width="100%",a.style.height="100%";t.firstChild;)t.removeChild(t.firstChild);if(t.appendChild(a),"undefined"==typeof OffscreenCanvas||"function"!=typeof a.transferControlToOffscreen)return;let r=a.transferControlToOffscreen(),n=new Worker("/iceberg-worker.js?v=2026-08-20-tap"),s=window.matchMedia("(pointer: coarse)").matches,c=l(a);if(!c)return void n.terminate();a.style.width=`${c.cssW}px`,a.style.height=`${c.cssH}px`,n.postMessage({type:"init",canvas:r,...c,accent:o(),isTouch:s,reducedMotion:e},[r]);let d=()=>{let e=l(a);e&&(a.style.width=`${e.cssW}px`,a.style.height=`${e.cssH}
1px`,n.postMessage({type:"resize",...e}))};window.addEventListener("resize",d);let p=new MutationObserver(()=>{n.postMessage({type:"theme",accent:o()})});p.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme","style"]});let h=window.matchMedia("(hover: hover)").matches,m=[];if(h&&!e){let e=e=>{let t=a.getBoundingClientRect();n.postMessage({type:"cursor",x:e.clientX-t.left,y:e.clientY-t.top,active:!0})},t=()=>n.postMessage({type:"cursor",x:0,y:0,active:!1}),r=e=>{let t=a.getBoundingClientRect();n.postMessage({type:"click",x:e.clientX-t.left,y:e.clientY-t.top})};a.addEventListener("mousemove",e),a.addEventListener("mouseleave",t),a.addEventListener("click",r),a.style.cursor="pointer",a.style.pointerEvents="auto",m.push(()=>a.removeEventListener("mousemove",e),()=>a.removeEventListener("mouseleave",t),()=>a.removeEventListener("click",r))}let u=new IntersectionObserver(([e])=>{n.postMessage({type:"visibility",visible:e.isIntersecting})},{threshold:0});u.observe(a);let g=()=>{n.postMessage({type:"visibility",visible:!document.hidden})};return document.addEventListener("visibilitychange",g),()=>{n.terminate(),window.removeEventListener("resize",d),p.disconnect(),u.disconnect(),document.removeEventListener("visibilitychange",g),m.forEach(e=>e())}},[e]),(0,t.jsx)("div",{ref:i,"aria-hidden":"true",className:"block h-full w-full"})}),d="cubic-bezier(0.16, 1, 0.3, 1)",p={fontStyle:"italic",fontWeight:500,letterSpacing:"-0.04em",background:"radial-gradient(circle at 50% 50%, #62C6FC 0%, #524FF4 45%, #5E1CD9 100%)",WebkitBackgroundClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent",paddingBottom:"0.08em",paddingRight:"0.12em"};function h({data:e}){let r=e?.heroEyebrow??"AWS Premier Tier Partner · Anthropic Solution Provider · Climate Pledge signatory",i=e?.heroWord1??"Foundations",s=e?.heroWord2??"That",o=e?.heroWord3??"Deliver",l=e?.heroSubhead??"The best engineering disappears the moment it's done right. We lay the foundation across AWS cloud, AI, data, and platforms, so it holds, quietly, while your team does the work that matters.",h=e?.heroPrimaryCtaLabel??"Talk to a Strategist",m=e?.heroPrimaryCtaHref??"/contact",u=[{text:i},{text:s},{text:o,gradient:!0}],g=(0,a.useRef)(null),[x,v]=(0,a.useState)(!1),[f,b]=(0,a.useState)(!1),[y,w]=(0,a.useState)(1);(0,a.useRef)(null),(0,a.useRef)(null),(0,a.useEffect)(()=>{b(window.matchMedia("(prefers-reduced-motion: reduce)").matches);let e=requestAnimationFrame(()=>v(!0));return()=>cancelAnimationFrame(e)},[]),(0,a.useEffect)(()=>{if(x)return void w(2)},[x,f]),(0,a.useEffect)(()=>{},[y,f]),(0,a.useEffect)(()=>{if(f||!window.matchMedia("(hover: hover)").matches)return;let e=g.current;if(!e)return;let t=0,a=.5*e.clientWidth,r=.3*e.clientHeight,i=a,n=r,s=()=>{t=0,i+=(a-i)*.08,n+=(r-n)*.08,e.style.setProperty("--cursor-x",`${i.toFixed(0)}px`),e.style.setProperty("--cursor-y",`${n.toFixed(0)}px`);let o=Math.abs(r-n);(Math.abs(a-i)>.5||o>.5)&&(t=requestAnimationFrame(s))},o=()=>{t||(t=requestAnimationFrame(s))},l=t=>{let i=e.getBoundingClientRect();a=t.clientX-i.left,r=t.clientY-i.top,o()},c=()=>{a=.5*e.clientWidth,r=.3*e.clientHeight,o()};return e.addEventListener("mousemove",l,{passive:!0}),e.addEventListener("mouseleave",c),()=>{e.removeEventListener("mousemove",l),e.removeEventListener("mouseleave",c),t&&cancelAnimationFrame(t)}},[f]);let k=x||f,j=(e,t)=>({opacity:+!!e,transform:e?"translateY(0)":"translateY(8px)",transition:f?"opacity 200ms":`opacity 900ms ease ${e?t:0}ms, transform 900ms ${d} ${e?t:0}ms`}),S=k&&(!!f||2===y),C=160+110*u.length+220;return(0,t.jsxs)("section",{ref:g,"aria-labelledby":"hero-h",className:"relative min-h-[100svh] w-full overflow-hidden",style:{background:"var(--bg)",color:"var(--tx)","--cursor-x":"640px","--cursor-y":"200px"},children:[(0,t.jsx)("style",{children:` 2 /* Below md the iceberg canvas sits directly behind the copy 3 column, so its wireframe runs through the paragraph. A soft 4 radial wash of the page background, bleeding past the text on
5 every side, pushes the artwork back without reading as a box. 6 Desktop does not need it: there the copy is left and the 7 iceberg is right, so they never overlap. */ 8 .hero-copy { position: relative; } 9 /* ââ Portrait tablet: anchored copy + the art gets its own stage ââ 10 768-and-up was one regime, so an 820x1180 iPad ran the desktop 11 composition: copy centred in a 1180px column with a 440px 12 min-height reserve for ~345px of content, which pushed roughly 13 29% empty above and 41% below, and the canvas ran through the 14 paragraph. 15 16 Portrait now anchors the copy to the upper third and leaves the 17 lower half to the iceberg, which HeroSurfaceCanvas repositions 18 to match. The two share the height instead of the same pixels, 19 so no wash is needed here -- and the CTA rises about 175px. */ 20 @media (min-width: 768px) and (orientation: portrait) { 21 .hero-col { 22 justify-content: flex-start !important; 23 padding-top: 9vh; 24 } 25 /* The reserve exists to hold height while the two announcement 26 acts crossfade. In portrait there is height to spare, and 27 holding 440px only manufactures the void. */ 28 .hero-stack { min-height: 0 !important; } 29 } 30 31 @media (max-width: 767px) { 32 .hero-copy::before { 33 content: ""; 34 position: absolute; 35 inset: -3% -10% -4% -10%; 36 z-index: -1; 37 pointer-events: none; 38 background: radial-gradient( 39 100% 62% at 34% 50%, 40 color-mix(in srgb, var(--bg) 52%, transparent) 0%, 41 color-mix(in srgb, var(--bg) 30%, transparent) 50%, 42 transparent 80% 43 ); 44 } 45 } 46 `}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 z-0",style:{background:"linear-gradient(180deg, var(--bg-elev) 0%, var(--bg) 65%, var(--bg) 100%)",opacity:k?1:.6,transition:`opacity 1200ms ${d} 100ms`}}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 z-[1]",style:{background:"radial-gradient(50% 55% at 18% 22%, color-mix(in srgb, var(--accent) 38%, transparent) 0%, transparent 60%), radial-gradient(45% 55% at 82% 78%, color-mix(in srgb, var(--accent-2) 30%, transparent) 0%, transparent 60%), radial-gradient(40% 40% at 70% 35%, color-mix(in srgb, var(--accent) 18%, transparent) 0%, transparent 55%)",opacity:.55*!!k,transition:`opacity 1500ms ${d} 200ms`}}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 z-[2]",children:(0,t.jsx)(c,{reducedMotion:f})}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute z-[3]",style:{left:0,top:0,width:"600px",height:"600px",background:"radial-gradient(circle, var(--glow) 0%, transparent 65%)",transform:"translate3d(calc(var(--cursor-x) - 300px), calc(var(--cursor-y) - 300px), 0)",opacity:.25*!!k,transition:`opacity 1500ms ${d} 600ms`,willChange:"transform"}}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 z-[4] opacity-[0.08]",style:{backgroundImage:"url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>\")"}}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 bottom-0 z-[5] h-1/3",style:{background:"linear-gradient(to top, var(--bg) 0%, transparent 100%)"}}),(0,t.jsx)("div",{className:"relative",style:{paddingLeft:"var(--space-md)",paddingRight:"var(--space-md)"},children:(0,t.jsx)("div",{className:"relative mx-auto min-h-[100svh]",style:{maxWidth:"1440px",paddingLeft:"var(--space-sm)",paddingRight:"var(--space-sm)",paddingTop:"0",paddingBottom:"var(--space-lg)",borderLeft:"1px solid var(--line-c)",borderRight:"1px solid var(--line-c)"},children:(0,t.jsx)("div",{className:"relative z-[6] mx-auto grid max-w-[1640px] grid-cols-1 pointer-events-none",style:{minHeight:"calc(100svh - var(--space-lg))",paddingTop:"var(--space-2xl)",rowGap:"var(--space-md)",columnGap:"var(--space-lg)"},children:(0,t.jsx)("div",{className:"hero-col flex flex-col justify-center",children:(0,t.jsxs)("div",{className:"hero-copy flex flex-col w-fit max-w-full pt-[clamp(32px,7vh,72px)] md:pt-0 pointer-events-auto",style:{gap:"var(--space-sm)"},children:[(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2",children:(0,t.jsx)("p",{style:{fontFamily:"var(--mono)",fontSize:"var(--text-mono)",letterSpacing:"0.12em",textTransform:"uppercase",color:"var(--tx-2)",...j(k,120)},children:r})}),(0,t.jsxs)("div",{className:"hero-stack relative min-h-[72svh] md:min-
46h-[clamp(300px,44vh,440px)]",children:[!1,(0,t.jsxs)("div",{className:"absolute inset-0 flex flex-col",style:{gap:"var(--space-sm)",pointerEvents:S?"auto":"none"},inert:!S,children:[(0,t.jsx)("h1",{id:"hero-h",className:"mb-auto md:mb-0",style:{maxWidth:"15ch",wordSpacing:"0.053em",fontFamily:"var(--display)",fontWeight:700,fontSize:"var(--text-h1)",lineHeight:"0.98",letterSpacing:"-0.04em",color:"var(--tx)",textWrap:"balance"},children:u.map((e,r)=>{let i,n;return(0,t.jsxs)(a.Fragment,{children:[(0,t.jsx)("span",{style:(i=S,n=r,{display:"inline-block",opacity:+!!i,transform:i?"translateY(0)":"translateY(14px)",transition:f?"opacity 200ms":`opacity 900ms ease ${i?160+110*n:0}ms, transform 1000ms ${d} ${i?160+110*n:0}ms`,...e.gradient?p:null}),children:e.text}),r<u.length-1?" ":null]},`a2-${e.text}-${r}`)})}),(0,t.jsx)("p",{style:{margin:0,maxWidth:"48ch",fontFamily:"var(--body)",fontSize:"var(--text-lead)",lineHeight:"1.6",color:"var(--tx-2)",fontWeight:400,...j(S,C)},children:l}),(0,t.jsx)("div",{style:j(S,C+250),children:(0,t.jsx)(n,{href:m,cursorState:"Let's talk",children:h})}),!1]})]})]})})})})})]})}},44352,e=>{"use strict";e.s(["Customers",()=>s]);var t=e.i(74488),a=e.i(53172),r=e.i(8445),i=e.i(64740);let n={small:"text-small",body:"text-body",h4:"text-h4"};function s({data:e}){let[r,s]=(0,a.useState)(!1),l=(0,a.useRef)(null),c=function(e){let[t,r]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let t=e.current;if(!t||"undefined"==typeof IntersectionObserver)return void r(!0);let a=new IntersectionObserver(([e])=>r(e.isIntersecting),{rootMargin:"200px 0px"});return a.observe(t),()=>a.disconnect()},[e]),t}(l),d=e=>{s(!0);let t=l.current;t&&t.scrollBy({left:e*t.clientWidth*.8,behavior:"smooth"})},p=[{kind:"logo",name:e?.customerName1??"All My Sons Moving & Storage",light:"/assets/customers/AMS logo.webp",aspect:3840/1062},{kind:"logo",name:"Neiman Marcus",light:"/assets/customers/Neiman Marcus logo.svg",invertInDark:!0,aspect:588.4/211.9},{kind:"logo",name:e?.customerName4??"Legacy Healing",light:"/assets/customers/Legacy Healing logo.svg",aspect:2.758},{kind:"logo",name:"FWRD",light:"/assets/customers/FWRD_BIG.svg",dark:"/assets/customers/FWRD_BIG.D.svg",aspect:1532/467},{kind:"logo",name:"RNDC",light:"/assets/customers/RNDC Logo.png",aspect:870/885},{kind:"logo",name:"SiriusXM",light:"/assets/customers/SiriusXM black logo.svg",dark:"/assets/customers/SiriusXM white logo.svg",aspect:5.75},{kind:"logo",name:"AAF Alliance",light:"/assets/customers/Alliance logo.png",aspect:500/220,scale:1.34}];return(0,t.jsxs)(i.SectionFrame,{"aria-label":"Selected customers",background:"var(--bg-elev)",padding:"lg",children:[(0,t.jsx)("div",{className:"flex flex-col gap-fluid-md",children:(0,t.jsxs)("div",{className:"bce-customers-row relative flex items-center",children:[(0,t.jsx)("button",{type:"button",onClick:()=>d(-1),"aria-label":"Previous customers",className:"bce-marquee-nav",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M9 2 L4 7 L9 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("div",{ref:l,className:"bce-customers-marquee flex-1","data-manual":r?"true":void 0,"data-inview":c?"true":void 0,children:(0,t.jsx)("ul",{role:"list",className:"bce-customers-track flex w-max list-none flex-nowrap items-center p-0 m-0",children:[...p,...p].map((e,a)=>{let r=a>=p.length;return(0,t.jsx)("li",{"aria-hidden":r,className:"flex min-h-9 items-center",style:{height:"66px",marginRight:"var(--space-lg)"},children:"logo"===e.kind?(0,t.jsx)(o,{c:e}):(0,t.jsx)("span",{className:`bce-customer-name font-display whitespace-nowrap text-tx ${n[e.tier]}`,style:{fontWeight:e.weight,fontStyle:e.italic?"italic":"normal",textTransform:e.upper?"uppercase":"none",letterSpacing:e.track,transition:"opacity 400ms var(--ease-out)"},children:e.name})},a)})})}),(0,t.jsx)("button",{type:"button",onClick:()=>d(1),"aria-label":"More customers",className:"bce-marquee-nav",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M5 2 L10 7 L5 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}),(0,t.jsx)("style",{children:` 47 /* Shared muted-then-bright marquee treatment, applied to 48 both text marks and logo images via the .bce-customer-item 49 class. */ 50 .bce-customer-name, 51 .bce-customer-logo { 52 opacity: 0.45; 53 transition: opacity 400ms var(--ease-out); 54 } 55 /* The animation lives here, not in an inline style attribute. 56 As an inline animation shorthand it also set animation-play-state 57 to running at inline specificity, which silently beat the pause rule 58 below: the marquee never paused for anyone, mouse included. 59 Verified live by injecting the pause rule (no effect) and then the 60 same rule with !important (paused). */ 61 .bce-customers-track { 62 animation: customers-scroll 22s linear infinite; 63 /* Own compositor layer, so the translate stays off the main thread. */ 64 will-change: transform; 65 } 66 /* The strip scrolls horizontally so the arrows have something to 67 move. The scrollbar is hidden: the arrows are the affordance. */ 68 .bce-customers-marquee { 69 overflow-x: auto; 70 overflow-y: hidden; 71 scrollbar-width: none; 72 -ms-overflow-style: none; 73 /* Soft edges, so logos arrive and leave rather than being cut 74 off at a hard boundary. Same device as the About recognition 75 row and the credentials chip strip. A mask rather than two 76 gradient overlays: nothing to keep in sync with the section 77 background, and it follows the theme for free. */ 78 mask-image: linear-gradient(90deg, 79 transparent 0%, #000 10%, #000 90%, transparent 100%); 80 -webkit-mask-image: linear-gradient(90deg, 81 transparent 0%, #000 10%, #000 90%, transparent 100%); 82 } 83 .bce-customers-marquee::-webkit-scrollbar { display: none; } 84 /* Hover pauses while the pointer is there, and only while it is 85 there. Focus does the same, so tabbing into the row is calm. */ 86 .bce-customers-marquee:hover .bce-customers-track, 87 .bce-customers-marquee:focus-within .bce-customers-track { 88 animation-play-state: paused; 89 } 90 /* Once the arrows are used, the auto-scroll is done for the visit. 91 Handing control back to an animation the reader did not ask for 92 would fight them. */ 93 /* Paused and un-layered while off screen. Specificity beats the 94 will-change on the track, so the layer is genuinely released 95 rather than merely idle. */ 96 .bce-customers-marquee:not([data-inview="true"]) .bce-customers-track { 97 animation-play-state: paused; 98 will-change: auto; 99 } 100 .bce-customers-marquee[data-manual="true"] .bce-customers-track { 101 animation: none !important; 102 transform: none !important; 103 } 104 /* The arrows sit over the faded edges rather than beside the
105 strip, so showing and hiding them never moves the logos. 106 Hidden while the marquee is doing its job: a reader with a 107 mouse has hover, and controls nobody needs are clutter. 108 They appear in two cases, both of which are someone who has 109 no other way through: reduced motion (no animation to wait 110 for) and keyboard focus (no hover to pause with). Keeping 111 them in the DOM and the tab order is what holds WCAG 2.2.2, 112 since a control that only exists visually is no mechanism. */ 113 .bce-marquee-nav { 114 position: absolute; 115 top: 50%; 116 transform: translateY(-50%); 117 z-index: 2; 118 display: inline-flex; 119 align-items: center; 120 justify-content: center; 121 width: 44px; 122 height: 44px; 123 border-radius: 999px; 124 color: var(--tx-3); 125 background: color-mix(in srgb, var(--bg-elev) 78%, transparent); 126 backdrop-filter: blur(6px); 127 -webkit-backdrop-filter: blur(6px); 128 border: 1px solid transparent; 129 cursor: pointer; 130 opacity: 0; 131 pointer-events: none; 132 transition: opacity 200ms var(--ease-out), 133 color 200ms var(--ease-out), 134 border-color 200ms var(--ease-out); 135 } 136 .bce-marquee-nav:first-of-type { left: 0; } 137 .bce-marquee-nav:last-of-type { right: 0; } 138 .bce-marquee-nav:focus-visible { 139 opacity: 1; 140 pointer-events: auto; 141 color: var(--tx); 142 border-color: var(--accent); 143 } 144 @media (prefers-reduced-motion: reduce) { 145 .bce-marquee-nav { opacity: 1; pointer-events: auto; } 146 .bce-marquee-nav:hover { color: var(--tx); border-color: var(--line-c-2); } 147 } 148 .bce-marquee-nav:active { transform: translateY(-50%) scale(0.94); } 149 /* The blanket reduced-motion rule collapses the duration to 150 0.001ms, which snaps the track to translateX(-50%) and clips 151 roughly half the logos behind overflow:hidden. Stop it at the 152 start instead, so the row reads as a static logo strip. */ 153 @media (prefers-reduced-motion: reduce) { 154 .bce-customers-track { 155 animation: none !important; 156 transform: none !important; 157 } 158 } 159 .bce-customer-name:hover, 160 .bce-customer-logo:hover { 161 opacity: 1; 162 } 163 @media (hover: none), (pointer: coarse) { 164 .bce-customer-name, 165 .bce-customer-logo { 166 opacity: 0.7; 167 } 168 } 169 170 /* Theme-swap logos: 171 - Logos with both light + dark variants render two <img> 172 stacked, only the matching theme's variant is shown. 173 - Single-variant logos (e.g. Neiman Marcus, pure black) 174 use the .bce-customer-logo-invert-dark class to flip 175 colour in dark mode without breaking brand colour for 176 multicolour logos. */ 177 .bce-customer-logo-light { display: inline-block; } 178 .bce-customer-logo-dark { display: none; } 179 [data-theme="dark"] .bce-customer-logo-light { display: none; } 180 [data-theme="dark"] .bce-customer-logo-dark { display: inline-block; } 181 182 [data-theme="dark"] .bce-customer-logo-invert-dark { 183 filter: invert(1); 184 } 185 `})]})}function o({c:e}){let a=40*(e.scale??function(e){let t=Math.min(1.45,Math.max(.72,Math.sqrt(3/e)));return 40*t*e>150?150/(40*e):t}(e.aspect)),i=Math.round(a*e.aspect);if(e.dark)return(0,t.jsxs)("span",{role:"img","aria-label":e.name,className:"bce-customer-logo inline-flex items-center",children:[(0,t.jsx)(r.default,{src:e.light,alt:"","aria-hidden":!0,width:i,height:Math.round(a),className:"bce-customer-logo-light",style:{height:`${a}px`,width:"auto"},sizes:`${Math.round(i)}px`,unoptimized:e.light.endsWith(".svg")}),(0,t.jsx)(r.default,{src:e.dark,alt:"","aria-hidden":!0,width:i,height:Math.round(a),className:"bce-customer-logo-dark",style:{height:`${a}px`,width:"auto"},sizes:`${Math.round(i)}px`,unoptimized:e.dark.endsWith(".svg")})]});let n=!0===e.invertInDark;return(0,t.jsx)("span",{className:"bce-customer-logo inline-flex items-center",children:(0,t.jsx)(r.default,{src:e.light,alt:e.name,width:i,height:Math.round(a),className:n?"bce-customer-logo-invert-dark":"",style:{height:`${a}px`,width:"auto"},sizes:`${Math.round(i)}px`,unoptimized:e.light.endsWith(".svg")})})}},22574,e=>{"use strict";e.s(["Pillars",()=>o]);var t=e.i(74488),a=e.i(53172),r=e.i(64740),i=e.i(94662);let n="cubic-bezier(0.16, 1, 0.3, 1)",s=[{num:"01",meta:"Bedrock · RAG · agents",title:"Artificial",titleEm:"Intelligence",body:"Epic-grade GenAI workloads: secure RAG and agentic systems on Amazon Bedrock. From PoC to production with full observability, evals, and guardrails.",gradient:"linear-gradient(135deg, var(--quantum) 0%, var(--quantum-300) 100%)",glow:"color-mix(in srgb, var(--quantum) 45%, transparent)",href:"/services/artificial-intelligence"},{num:"02",meta:"Lakehouse · streaming · governance",title:"Data &",titleEm:"Analytics.",body:"Lakehouse, warehouse, and streaming on AWS, with governance, lineage, and self-service insight from day one.",gradient:"linear-gradient(135deg, var(--beacon) 0%, var(--signal) 100%)",glow:"color-mix(in srgb, var(--beacon) 45%, transparent)",href:"/services/data-analytics"},{num:"03",meta:"MAP · modernization · DevSecOps",title:"DevOps &",titleEm:"Migration.",body:"Migration Acceleration Program (MAP), modernization, and DevSecOps platforms tuned for regulated workloads. Trunk-based delivery in under 90 days.",gradient:"linear-gradient(135deg, var(--orbit) 0%, var(--beacon) 100%)",glow:"color-mix(in srgb, var(--orbit) 45%, transparent)",href:"/services/devops-migration"},{num:"04",meta:"Connect · CX · 24/7 ops",title:"Cloud Contact",titleEm:"Center.",body:"Amazon Connect customer experience and 24/7 managed cloud operations, from runbooks to SLA-bound delivery.",gradient:"linear-gradient(135deg, var(--signal) 0%, var(--quantum) 100%)",glow:"color-mix(in srgb, var(--signal) 45%, transparent)",href:"/services/cloud-contact-center"},{num:"05",meta:"24/7 ops · cost · security",title:"Managed",titleEm:"Services.",body:"AWS MSP-tier operations: 24/7 monitoring, security baseline, cost optimization, and the named team your engineers can reach by name.",gradient:"linear-gradient(135deg, var(--orbit-900) 0%, var(--orbit) 60%, var(--orbit-400) 100%)",glow:"color-mix(in srgb, var(--orbit-900) 45%, transparent)",href:"/services/managed-services"},{num:"06",meta:"Posture · compliance · response",title:"Security &",titleEm:"Compliance.",body:"Posture management, identity governance, and 24/7 incident response across AWS, with HIPAA, PCI, SOX, and GDPR controls mapped to audit-ready evidence.",gradient:"linear-gradient(135deg, var(--quantum-700) 0%, var(--beacon) 55%, var(--signal) 100%)",glow:"color-mix(in srgb, var(--quantum-700) 45%, transparent)",href:"/services/security"}];function o({pillarOverrides:e}){let o=e&&e.length?e.map((e,t)=>{let a=s[t%s.length];return{num:String(t+1).padStart(2,"0"),gradient:a.gradient,glow:a.glow,meta:e.meta||a.meta,title:e.title||a.title,titleEm:e.titleEm||a.titleEm,body:e.body||a.body,href:e.href||a.href}}):s,l=`/ ${String(o.length).padStart(2,"0")}`,[c,d]=(0,a.useState)(0),[p,h]=(0,a.useState)(!1),[m,u]=(0,a.useState)(!1),g=(0,i.useReveal)({type:"lines"}),x=(0,i.useReveal)({type:"mask",stagger:.08,duration:.85});return(0,a.useEffect)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=window.matchMedia("(hover: hover) and (pointer: fine)"),a=()=>h(e.matches),r=()=>u(t.matches);return a(),r(),e.addEventListener("change",a),t.addEventListener("change",r),()=>{e.removeEventListener("change",a),t.removeEventListener("change",r)}},[]),(0,t.jsxs)(r.SectionFrame,{id:"pillars","aria-labelledby":"pillars-h",background:"var(--bg)",padding:"lg",children:[(0,t.jsx)("div",{"aria-hidden":!0,
185className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(60% 50% at 80% 10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%), radial-gradient(50% 40% at 10% 90%, color-mix(in srgb, var(--accent-2) 10%, transparent) 0%, transparent 60%)"}}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"flex justify-start text-left",style:{marginBottom:"var(--space-md)"},children:(0,t.jsxs)("h2",{ref:g,id:"pillars-h",className:"max-w-[28ch]",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"var(--text-h2)",lineHeight:"1.08",letterSpacing:"-0.025em"},children:["Our Core"," ",(0,t.jsx)("em",{className:"italic font-medium",style:{letterSpacing:"-0.03em",background:"linear-gradient(135deg, var(--quantum) 0%, var(--quantum-400) 100%)",WebkitBackgroundClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Expertise"})]})}),(0,t.jsx)("div",{ref:x,className:"bce-pillar-row flex flex-col min-[1440px]:flex-row",style:{borderTop:"1px solid var(--line-c)",borderBottom:"1px solid var(--line-c)"},onMouseLeave:()=>d(0),children:o.map((e,a)=>{let r=c===a,i=r?340:240;return(0,t.jsxs)("a",{href:e.href,"data-cursor":"Explore","aria-label":function(e,t,a){let r=`${e} ${t}`.replace(/\s*\.\s*$/,"").trim(),i=a.split("·").map(e=>e.trim()).filter(Boolean).join(", ");return i?`${r}. ${i}`:r}(e.title,e.titleEm,e.meta),className:"bce-pillar-card focus-inset group relative flex flex-col overflow-hidden no-underline select-text",style:{flex:r?"2.2 1 0":"1 1 0",minHeight:"clamp(280px, min(48vh, 36vw), 420px)",padding:"var(--space-sm)",background:r?"var(--bg-card-2)":"transparent",color:"var(--tx)",boxShadow:r?`inset 0 -2px 0 0 color-mix(in srgb, var(--accent) 90%, transparent), 0 0 80px -20px ${e.glow}`:"none",transition:p?`background-color ${i}ms ${n}, box-shadow ${i}ms ${n}`:`flex ${i}ms ${n}, background-color ${i}ms ${n}, box-shadow ${i}ms ${n}`},onMouseEnter:()=>{m&&d(a)},onFocus:()=>d(a),children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute -top-24 -right-24 h-72 w-72 rounded-full",style:{background:e.gradient,filter:"blur(80px)",transform:"translateZ(0)",willChange:"opacity",opacity:r?.42:.14,transition:`opacity ${i}ms ${n}`}}),(0,t.jsxs)("div",{"data-reveal-mask":!0,className:"relative flex flex-1 flex-col justify-between",children:[(0,t.jsxs)("div",{className:"relative z-[2] flex items-baseline justify-between",children:[(0,t.jsxs)("span",{"aria-hidden":!0,className:"flex items-baseline gap-1.5",style:{fontFamily:"var(--display)",fontWeight:600,letterSpacing:"-0.03em",lineHeight:1},children:[(0,t.jsx)("span",{style:{fontSize:"clamp(22px, min(2vw, 4vh), 32px)",color:"var(--tx)"},children:e.num}),(0,t.jsx)("span",{style:{fontFamily:"var(--mono)",fontWeight:400,fontSize:"var(--text-mono)",letterSpacing:"0.10em",color:"var(--tx-3)",textTransform:"uppercase"},children:l})]}),(0,t.jsx)("span",{"aria-hidden":!0,className:"grid place-items-center rounded-full flex-shrink-0",style:{width:"36px",height:"36px",border:`1px solid ${r?"transparent":"var(--line-c-2)"}`,background:r?e.gradient:"transparent",color:r?"#fff":"var(--tx-2)",transform:r?"rotate(-45deg)":"rotate(0)",transition:p?`background ${i}ms ${n}, border-color ${i}ms ${n}, color ${i}ms ${n}`:`background ${i}ms ${n}, border-color ${i}ms ${n}, color ${i}ms ${n}, transform ${i}ms ${n}`},children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M5 12h14M13 6l6 6-6 6"})})})]}),(0,t.jsxs)("div",{className:"bce-pillar-detail-row relative z-[2]",children:[(0,t.jsxs)("div",{className:"bce-pillar-lede",children:[(0,t.jsx)("span",{className:"bce-pillar-meta block",style:{fontFamily:"var(--body)",fontSize:"var(--text-fine)",color:"var(--tx-3)",marginBottom:"10px"},children:e.meta}),(0,t.jsxs)("h3",{className:"bce-pillar-title max-w-[14ch]",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:r?"var(--text-h3)":"clamp(18px, 1.6vw, 24px)",letterSpacing:"-0.025em",lineHeight:"1.1",transition:p?"none":`font-size ${i}ms ${n}`},children:[e.title," ",(0,t.jsx)("em",{className:"italic font-medium",style:{letterSpacing:"-0.03em",background:e.gradient,WebkitBackgroun
185dClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent"},children:e.titleEm})]})]}),(0,t.jsxs)("div",{className:"bce-pillar-detail",children:[(0,t.jsx)("p",{"aria-hidden":!r,className:"bce-pillar-body overflow-hidden",style:{fontFamily:"var(--body)",fontSize:"var(--text-small)",lineHeight:"1.6",color:"var(--tx-2)",maxWidth:"42ch",maxHeight:r?"200px":"0",opacity:+!!r,marginTop:r?"14px":"0",transition:p?`opacity ${i}ms ${n}`:`max-height ${i}ms ${n}, opacity ${i}ms ${n} ${80*!!r}ms`},children:e.body}),(0,t.jsxs)("span",{"aria-hidden":!r,className:"bce-pillar-cta inline-flex items-center gap-2 overflow-hidden",style:{fontFamily:"var(--body)",fontWeight:500,fontSize:"var(--text-fine)",color:"var(--tx)",marginTop:"16px",opacity:.95*!!r,maxHeight:r?"20px":"0",transform:r?"translateX(0)":"translateX(-6px)",transition:p?`opacity ${i}ms ${n}`:`opacity ${i}ms ${n} ${120*!!r}ms, transform ${i}ms ${n} ${120*!!r}ms, max-height ${i}ms ${n}`},children:["Explore",(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:(0,t.jsx)("path",{d:"M5 12h14M13 6l6 6-6 6"})})]})]})]})]})]},e.num)})})]}),(0,t.jsx)("style",{children:` 186 /* Titles wrap at spaces, never mid word. globals.css:649 sets 187 word-break: break-word on every heading as an overflow safety 188 net; inside a narrow accordion column that safety net is the 189 thing doing the shattering. */ 190 .bce-pillar-title { 191 word-break: normal; 192 overflow-wrap: normal; 193 } 194 195 /* ââ 1440 and up: the horizontal accordion. âââââââââââââââââââ */ 196 .bce-pillar-card + .bce-pillar-card { 197 border-top: 1px solid var(--line-c); 198 } 199 @media (min-width: 1440px) { 200 .bce-pillar-card + .bce-pillar-card { 201 border-top: 0; 202 border-left: 1px solid var(--line-c); 203 } 204 /* Every card reserves exactly two lines for its label, so the 205 six titles sit on one baseline instead of stepping up and 206 down with however many lines each label happens to run to. */ 207 .bce-pillar-meta { 208 display: -webkit-box; 209 -webkit-box-orient: vertical; 210 -webkit-line-clamp: 2; 211 overflow: hidden; 212 min-height: 2.7em; 213 } 214 } 215 216 /* ââ Below 1440: rows. ââââââââââââââââââââââââââââââââââââââââ */ 217 @media (max-width: 1439px) { 218 .bce-pillar-card { 219 flex: 0 0 auto !important; 220 min-height: 0 !important; 221 } 222 /* Description and its Explore link are the wall of text. Gone. */ 223 .bce-pillar-detail { display: none; } 224 /* The row has to stand on its own, because a juror on a 1366 225 laptop or an unmaximised window never sees the accordion at all. 226 At 26px this read as a menu; the Industries rows run to 44px and 227 that scale is most of why that section reads as designed rather 228 than listed. This stops just under Industries' ceiling on 229 purpose: a pillar row carries a number, a label and an arrow 230 alongside its title, where an Industries row carries only a 231 name, so the same ceiling would crowd. */ 232 .bce-pillar-title { 233 font-size: clamp(22px, 3vw, 40px) !important; 234 } 235 } 236 237 /* From 640 the row splits: title left, label right, the same 238 name/desc anatomy the Industries rows use. */ 239 @media (min-width: 640px) and (max-width: 1439px) { 240 .bce-pillar-lede { 241 display: grid; 242 grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); 243 column-gap: var(--space-md); 244 align-items: baseline; 245 } 246 .bce-pillar-title { grid-column: 1; grid-row: 1; } 247 .bce-pillar-meta { 248 grid-column: 2; 249 grid-row: 1; 250 margin-bottom: 0 !important; 251 } 252 } 253 `})]})}s.length},32476,e=>{"use strict";e.s(["Credentials",()=>p]);var t=e.i(74488),a=e.i(53172),r=e.i(8445),i=e.i(64740),n=e.i(94662);let s="https://partners.amazonaws.com/",o={"Partner Tier":"var(--accent-text-quantum)",Competency:"var(--accent-text-beacon)","Service Delivery":"var(--accent-text-orbit)"},l=[{id:"premier-tier",badge:"/assets/badges/premier-tier-services.svg"},{id:"solution-provider",badge:"/assets/badges/solution-provider.png"},{id:"msp",badge:"/assets/badges/managed-service-provider.png"},{id:"migration",badge:"/assets/badges/migration-and-modernization.png"},{id:"genai",badge:"/assets/badges/genai-services.png"},{id:"devops",badge:"/assets/badges/devops-services.png"},{id:"well-architected",badge:"/assets/badges/well-architected.png"},{id:"db-migration",badge:"/assets/badges/database-migration-services.png"}],c=[{name:"Premier Tier Services Partner",tier:"Partner Tier",description:"AWS's highest partner tier, held by a small group of partners with the deepest technical expertise, proven customer outcomes, and scale of validated AWS delivery.",verifyHref:s},{name:"Solution Provider",tier:"Partner Tier",description:"Authorized to resell AWS infrastru
253cture and managed services to mid-market and enterprise customers.",verifyHref:s},{name:"Managed Service Provider",tier:"Partner Tier",description:"Audited annually against AWS's Next-Gen MSP framework for 24/7 operations, cost governance, and security.",verifyHref:s},{name:"Migration & Modernization",tier:"Competency",description:"Validated capability to lead enterprise migrations off legacy infrastructure onto AWS-native architectures.",verifyHref:s},{name:"Generative AI Services",tier:"Competency",description:"Authorized to build, deploy, and operate production-grade GenAI workloads on Amazon Bedrock and SageMaker.",verifyHref:s},{name:"DevOps Services",tier:"Competency",description:"Validated platform engineering, CI/CD, and infrastructure-as-code delivery across regulated and high-velocity teams.",verifyHref:s},{name:"Well-Architected Partner",tier:"Service Delivery",description:"Certified to run AWS Well-Architected Reviews across operational excellence, security, reliability, performance, cost, and sustainability.",verifyHref:s},{name:"Database Migration",tier:"Service Delivery",description:"Validated capability to migrate Oracle, SQL Server, and DB2 workloads to Aurora, RDS, and Amazon DocumentDB.",verifyHref:s}],d=["Amazon Connect Delivery","Select Tier Training","Service Catalog Delivery","WAF Delivery","API Gateway Delivery","CloudFormation Delivery","CloudFront Delivery","EC2 for Windows Delivery","Lambda Delivery","QuickSight Delivery","RDS Delivery","Immersion Day"];function p({data:e,credentialOverrides:r}){let p=e?.credentialsHeadline1??"20+ AWS Credentials",u=e?.credentialsHeadline2??"Achieved",g=`Plus ${d.length} service delivery designations â`,[x,v]=(0,a.useState)(!1),[f,b]=(0,a.useState)(!1),y=(0,a.useRef)(null),w=function(e){let[t,r]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let t=e.current;if(!t||"undefined"==typeof IntersectionObserver)return void r(!0);let a=new IntersectionObserver(([e])=>r(e.isIntersecting),{rootMargin:"200px 0px"});return a.observe(t),()=>a.disconnect()},[e]),t}(y),k=e=>{v(!0);let t=y.current;t&&t.scrollBy({left:e*t.clientWidth*.8,behavior:"smooth"})},j=l.map((e,t)=>{let a=r?.[t],i=c[t];return{...e,badge:a?.badgeUrl??e.badge,name:a?.name??i.name,tier:a?.tier??i.tier,accent:o[a?.tier??i.tier]??o.Competency,description:a?.description??i.description,verifyHref:a?.verifyHref??i.verifyHref}}),S=(0,n.useReveal)({type:"lines"}),C=(0,n.useReveal)({type:"mask",stagger:.05,duration:.85}),N=(0,n.useReveal)({type:"rise",y:24,duration:.85,delay:.2}),[E,A]=(0,a.useState)(j[0].id),R=j.find(e=>e.id===E)??j[0],F=j[0]?.verifyHref??s;return(0,a.useEffect)(()=>{},[j]),(0,t.jsxs)(i.SectionFrame,{id:"credentials","aria-labelledby":"cred-h",background:"var(--bg-elev)",padding:"lg",children:[(0,t.jsx)("div",{className:"absolute inset-0 pointer-events-none z-0","aria-hidden":"true",style:{backgroundImage:"radial-gradient(circle, color-mix(in srgb, var(--tx) 14%, transparent) 1px, transparent 1.4px)",backgroundSize:"24px 24px",backgroundPosition:"50% 50%",maskImage:"radial-gradient(ellipse at 50% 50%, #000 0%, #000 55%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%)",maskComposite:"intersect",WebkitMaskImage:"radial-gradient(ellipse at 50% 50%, #000 0%, #000 55%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%)",WebkitMaskComposite:"source-in"}}),(0,t.jsxs)("div",{className:"relative z-[1]",children:[(0,t.jsxs)("h2",{ref:S,id:"cred-h",className:"max-w-[44ch]",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"var(--text-h2)",lineHeight:"1.04",letterSpacing:"-0.025em",marginBottom:"12px"},children:[p," ",(0,t.jsx)("em",{className:"italic font-medium",style:{letterSpacing:"-0.03em",background:"linear-gradient(90deg, #62C6FC 0%, #524FF4 50%, #5E1CD9 100%)",WebkitBackgroundClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent"},children:u})]}),(0,t.jsxs)("a",{href:F,target:"_blank",rel:"noopener noreferrer","data-cursor":"Verify",className:"bce-cred-verify inline-flex items-center gap-2 no-underline",style:{fontFamily:"var(--body)",fontSize:"var(--text-fine)",color:"var(--tx-2)",marginBottom:"var(--space-sm)",transition:"color 220ms var(--ease-out)"},children:["Verify on AWS Partner Network",(0,t.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",focusable:"false",className:"transition-transform duration-[450ms]",children:(0,t.jsx)("path",{d:"M7 17L17 7M9 7h8v8"})})]}),(0,t.jsxs)("div",{className:"bce-cred-split",style:{display:"grid",gridTemplateColumns:"1fr",gap:"1px",background:"var(--line-c)",borderTop:"1px solid var(--line-c)",borderBottom:"1px solid var(--line-c)"},children:[(0,t.jsxs)("div",{ref:C,role:"group","aria-label":"AWS credentials",className:"bce-cred-grid",style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"1px",background:"var(--line-c)",gridAutoRows:"clamp(96px, 11vw, 150px)"},children:[j.map(e=>(0,t.jsx)(h,{cred:e,isActive:e.id===E,onActivate:()=>A(e.id)},e.id)),(0,t.jsxs)("button",{type:"button",className:"bce-cred-more focus-inset","aria-expanded":f,"aria-controls":"cred-more-list",onClick:()=>b(e=>!e),children:[(0,t.jsxs)("span",{className:"bce-cred-more-n",children:["+",d.length]}),(0,t.jsx)("span",{className:"bce-cred-more-t",children:f?"hide":"more"})]})]}),(0,t.jsx)("ul",{id:"cred-more-list",className:"bce-cred-morelist",hidden:!f,children:d.map(e=>(0,t.jsx)("li",{children:e},e))}),(0,t.jsx)(m,{active:R,revealRef:N})]}),(0,t.jsx)("style",{children:` 254 /* The animation is declared here rather than as an inline style. 255 As an inline shorthand it also pinned animation-play-state to 256 running at inline specificity, so no pause rule could ever win. 257 There was no pause rule on this strip at all: it ran for 48s a 258 loop, forever, with no way to stop it. */ 259 .bce-cred-track { 260 animation: marquee-slide 48s linear infinite; 261 /* Own compositor layer, so the translate stays off the main thread. */ 262 will-change: transform; 263 } 264 .bce-cred-marquee { 265 overflow-x: auto; 266 overflow-y: hidden; 267 scrollbar-width: none; 268 -ms-overflow-style: none; 269 } 270 .bce-cred-marquee::-webkit-scrollbar { display: none; } 271 272 /* Quiet by default. This is proof, not a conversion, so it should 273 not compete with the page's real calls to action. */ 274 .bce-cred-verify:hover { color: var(--tx); } 275 .bce-cred-verify:hover svg { transform: translate(2px, -2px); } 276 .bce-cred-verify:focus-visible { color: var(--tx); } 277 278 /* Badge rest / hover / selected. Selected is declared last so it 279 outranks hover at equal specificity, which is the behaviour the 280 original inline style was reaching for. */ 281 .bce-cred-badge { 282 transform: scale(1); 283 transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1); 284 } 285 .bce-cred-cell:hover .bce-cred-badge { 286 transform: scale(1.06); 287 } 288 .bce-cred-cell[aria-pressed="true"] .bce-cred-badge { 289 transform: scale(1.08) translateY(-2px); 290 } 291 @media (prefers-reduced-motion: reduce) { 292 .bce-cred-badge { transition: none; } 293 } 294 295 .bce-cred-chip { 296 color: var(--tx-2); 297 border: 1px solid var(--line-c); 298 background: rgba(255, 255, 255, 0.02); 299 transition: color 300ms var(--ease-out), 300 border-color 300ms var(--ease-out); 301 } 302 .bce-cred-chip:hover { 303 color: var(--tx); 304 border-color: var(--accent); 305 } 306 307 /* On a phone the label and the chips were fighting over one line 308 and the label won: "Plus 12 service delivery designations" is 309 ~230px of a ~410px content box, so what was left after the gap 310 and the edge fade showed roughly one clipped chip. The row 311 stacks instead, which hands the chips the full width. The 312 label's divider follows the stacking axis, as everywhere else 313 on this site. */ 314 @media (max-width: 639px) { 315 .bce-cred-row { 316 flex-direction: column; 317 align-items: stretch; 318 gap: 10px; 319 } 320 .bce-cred-label { 321 border-right: 0 !important; 322 padding-right: 0 !important; 323 padding-bottom: 10px; 324 border-bottom: 1px solid var(--line-c); 325 } 326 } 327 .bce-cred-marquee:hover .bce-cred-track, 328 .bce-cred-marquee:focus-within .bce-cred-track { 329 animation-play-state: paused; 330 } 331 /* Paused and un-layered while off screen. Specificity beats the 332 will-change on the track, so the layer is genuinely released 333 rather than merely idle. */ 334 .bce-cred-marquee:not([data-inview="true"]) .bce-cred-track { 335 animation-play-state: paused; 336 will-change: auto; 337 } 338 .bce-cred-marquee[data-manual="true"] .bce-cred-track { 339 animation: none !important; 340 transform: none !important; 341 } 342 /* Over the strip, not beside it, so appearing never shifts the 343 chips. Hidden while the marquee runs (a mouse has hover); 344 shown under reduced motion and on keyboard focus, the two 345 cases with no other way through. In the DOM and tab order 346 at all times, which is what holds WCAG 2.2.2. */ 347 .bce-marquee-nav { 348 position: absolute; 349 top: 50%; 350 transform: translateY(-50%); 351 z-index: 2; 352 display: inline-flex; 353 align-items: center; 354 justify-content: center; 355 width: 44px; 356 height: 44px; 357 border-radius: 999px; 358 color: var(--tx-3); 359 background: color-mix(in srgb, var(--bg-elev) 78%, transparent); 360 backdrop-filter: blur(6px); 361 -webkit-backdrop-filter: blur(6px); 362 border: 1px solid transparent; 363 cursor: pointer; 364 opacity: 0; 365 pointer-events: none; 366 transition: opacity 200ms var(--ease-out), 367 color 200ms var(--ease-out), 368 border-color 200ms var(--ease-out); 369 } 370 .bce-cred-strip .bce-marquee-nav:first-of-type { left: 4px; } 371 .bce-cred-strip .bce-marquee-nav:last-of-type { right: 4px; } 372 .bce-marquee-nav:focus-visible { 373 opacity: 1; 374 pointer-events: auto; 375 color: var(--tx); 376 border-color: var(--accent); 377 } 378 @media (prefers-reduced-motion: reduce) { 379 .bce-marquee-nav { opacity: 1; pointer-events: auto; } 380 .bce-marquee-nav:hover { color: var(--tx); border-color: var(--line-c-2); } 381 } 382 .bce-marquee-nav:active { transform: translateY(-50%) scale(0.94); } 383 /* The blanket reduced-motion rule collapses the duration to 384 0.001ms, which snaps the track to translateX(-50%) and clips 385 half the chips behind overflow:hidden. Stop it at the start 386 instead, so the row reads as a static list. */ 387 @media (prefers-reduced-motion: reduce) { 388 .bce-cred-track { 389 animation: none !important; 390 transform: none !important; 391 } 392 } 393 394 /* Three columns was unconditional at every width. At 375px that 395 makes a cell about 111px wide, and an AWS partner badge is a 396 lockup carrying three lines of small type, so nine of them 397 rendered as grey squares. Two columns at 8 badges also comes 398 out at four clean rows, where three columns leaves an orphan 399 slot in the last row. 400 401 The 70% cap is raised alongside it, because with two columns 402 the cell's height becomes the binding constraint rather than 403 its width, and widening the cell alone would have bought very 404 little. */ 405 /* ââ Phone: 3x3 contact sheet ââââââââââââââââââââââââââââââââ 406 Two-up gave four rows of near-identical white cards. Three-up 407 is three rows and reads as one wall, which is what the section 408 actually claims ("20+ credentials"). 409 410 The badge is a mark here, not a label. At a 110px cell the line 411 that tells one badge from another renders around 5px either way, 412 so nothing readable is lost by going denser -- and the name is 413 carried by the preview pane underneath, where it belongs. 414 415 Cells go square and lose their 14px padding so the 66% below is 416 66% of the cell, not of the cell minus padding. Badge lands at 417 ~73px with ~19px of air between its own outline and the lattice 418 hairline; the two frames stop competing. Both numbers are 419 Rohit's call from the scale study. */ 420 @media (max-width: 639px) { 421 .bce-cred-grid { 422 grid-template-columns: repeat(3, 1fr) !important; 423 grid-auto-rows: auto !important; 424 } 425 .bce-cred-cell { 426 aspect-ratio: 1 / 1 !important; 427 padding: 0 !important; 428 } 429 /* Inline style sets 70%, so this needs the important to land. */ 430 .bce-cred-badge { 431 max-width: 66% !important; 432 max-height: 66% !important; 433 } 434 /* The move that fixes "eight identical things": the seven you 435 are not reading recede, so the wall gets a focal point. Only 436 the badge dims -- dimming the cell would drop its surface out 437 of the lattice too. */ 438 .bce-cred-cell[aria-pressed="false"] .bce-cred-badge { 439 opacity: 0.38; 440 } 441 .bce-cred-cell[aria-pressed="true"] .bce-cred-badge { 442 opacity: 1; 443 } 444 /* The marquee is replaced by the ninth tile on phones. */ 445 .bce-cred-row { display: none !important; } 446 .bce-cred-more { display: flex !important; } 447 } 448 449 /* Ninth tile â only ever visible on a phone. */ 450 .bce-cred-more { 451 display: none; 452 aspect-ratio: 1 / 1; 453 flex-direction: column; 454 align-items: center; 455 justify-content: center; 456 gap: 1px; 457 background: var(--bg-elev); 458 border: 0; 459 cursor: pointer; 460 font-family: var(--display); 461 line-height: 1.15; 462 transition: background-color 220ms var(--ease-out); 463 } 464 .bce-cred-more:active { background: var(--bg-card-2); } 465 .bce-cred-more-n { 466 font-size: 19px; 467 font-weight: 600; 468 color: var(--tx); 469 letter-spacing: -0.02em; 470 } 471 .bce-cred-more-t { 472 font-family: var(--mono); 473 font-size: 8px; 474 letter-spacing: 0.09em; 475 text-transform: uppercase; 476 color: var(--tx-2); 477 } 478 .bce-cred-morelist { 479 display: none; 480 list-style: none; 481 margin: 0; 482 padding: 12px 0 0; 483 border-top: 1px solid var(--line-c); 484 margin-top: 12px; 485 font-family: var(--body); 486 font-size: 13px; 487 line-height: 1.9; 488 color: var(--tx-2); 489 columns: 2; 490 column-gap: 16px; 491 } 492 @media (max-width: 639px) { 493 .bce-cred-morelist:not([hidden]) { display: block; } 494 } 495 496 @media (min-width: 1024px) { 497 .bce-cred-split { 498 grid-template-columns: 1fr 1fr !important; 499 } 500 .bce-cred-preview { 501 height: calc(3 * clamp(96px, 11vw, 150px) + 2px) !important; 502 } 503 } 504 `}),(0,t.jsxs)("div",{classNam
504e:"bce-cred-row relative mx-auto flex items-center gap-5 overflow-hidden p-3 pl-[18px]",style:{marginTop:"var(--space-sm)",borderBottom:"1px solid var(--line-c)",background:"var(--bg-card)",backdropFilter:"blur(14px)"},children:[(0,t.jsx)("span",{className:"bce-cred-label flex-shrink-0 pr-4",style:{fontFamily:"var(--body)",fontSize:"var(--text-fine)",color:"var(--tx-3)",borderRight:"1px solid var(--line-c)"},children:g}),(0,t.jsxs)("div",{className:"bce-cred-strip relative flex min-w-0 flex-1 items-center",children:[(0,t.jsx)("button",{type:"button",onClick:()=>k(-1),"aria-label":"Previous designations",className:"bce-marquee-nav",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M9 2 L4 7 L9 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("div",{ref:y,className:"bce-cred-marquee min-w-0 flex-1","data-manual":x?"true":void 0,"data-inview":w?"true":void 0,style:{maskImage:"linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%)",WebkitMaskImage:"linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%)"},children:(0,t.jsx)("ul",{className:"bce-cred-track flex flex-nowrap items-center gap-2.5 list-none m-0 p-0 w-max",role:"list",children:[...d,...d].map((e,a)=>(0,t.jsx)("li",{"aria-hidden":a>=d.length,className:"bce-cred-chip flex-shrink-0 px-3.5 py-[7px] rounded-full whitespace-nowrap",style:{fontFamily:"var(--body)",fontSize:"var(--text-fine)"},children:e},a))})}),(0,t.jsx)("button",{type:"button",onClick:()=>k(1),"aria-label":"More designations",className:"bce-marquee-nav",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M5 2 L10 7 L5 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]})]})]})}function h({cred:e,isActive:a,onActivate:i}){return(0,t.jsxs)("button",{type:"button","aria-pressed":a,"aria-label":`Preview ${e.name}`,"data-cursor":"Preview",onClick:i,className:"bce-cred-cell focus-inset group relative flex items-center justify-center overflow-hidden",style:{background:a?"var(--bg-card-2)":"var(--bg-elev)",color:"var(--tx)",padding:"14px",cursor:"pointer",transition:"background-color 220ms cubic-bezier(0.16, 1, 0.3, 1)",boxShadow:a?`inset 0 -24px 36px -28px ${e.accent}`:"inset 0 0 0 0 transparent"},children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 transition-opacity duration-500",style:{background:`radial-gradient(ellipse 80% 60% at 50% 100%, color-mix(in srgb, ${e.accent} 16%, transparent) 0%, transparent 70%)`,opacity:+!!a}}),(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100 transition-opacity duration-500",style:{background:`radial-gradient(ellipse 80% 60% at 50% 100%, color-mix(in srgb, ${e.accent} 10%, transparent) 0%, transparent 70%)`}}),(0,t.jsx)("div",{"data-reveal-mask":!0,className:"relative z-[1] flex h-full w-full items-center justify-center",children:(0,t.jsx)(r.default,{src:e.badge,alt:"",width:160,height:160,loading:"lazy",unoptimized:e.badge.endsWith(".svg"),sizes:"(max-width: 639px) 150px, 120px",className:"bce-cred-badge object-contain",style:{width:"auto",height:"auto",maxWidth:"70%",maxHeight:"70%"}})}),(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute bottom-0 transition-all",style:{left:a?"0%":"25%",right:a?"0%":"25%",height:a?"3px":"2px",background:e.accent,opacity:a?1:.2,transitionDuration:"280ms",transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)"}})]})}function m({active:e,revealRef:a}){return(0,t.jsxs)("div",{ref:a,className:"bce-cred-preview relative flex flex-col",style:{background:"var(--bg-elev)",overflow:"hidden",padding:"clamp(18px, 2vw, 32px)"},children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{background:`radial-gradient(ellipse 70% 60% at 50% 0%, color-mix(in srgb, ${e.accent} 14%, transparent) 0%, transparent 70%)`,animation:"cred-preview-bg-in 700ms var(--ease-out)"}},`bg-${e.id}`),(0,t.jsx)("div",{className:"relative z-[1] flex-1 flex items-center justify-center min-h-0",style:{padding:"clamp(12px, 1.4vw, 22px) 0"},children:(0,t.jsx)("div",{className:"flex items-center justify-center w-full h-full",style:{animation:"cred-preview-in 600ms var(--ease-out)"},children:(0,t.jsx)(r.default,{src:e.badge,alt:e.name,width:420,height:420,loading:"lazy",unoptimized:e.badge.endsWith(".svg"),sizes:"(max-width: 1023px) 180px, 280px",className:"object-contain",style:{width:"auto",height:"auto",maxWidth:"min(280px, 100%)",maxHeight:"100%"}})},`badge-${e.id}`)}),(0,t.jsxs)("div",{className:"relative z-[1]",style:{animation:"cred-preview-in 600ms var(--ease-out) 120ms backwards"},children:[(0,t.jsx)("h3",{style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"clamp(20px, 1.8vw, 28px)",lineHeight:1.1,letterSpacing:"-0.02em",color:"var(--tx)",marginBottom:"8px"},children:e.name}),(0,t.jsx)("p",{style:{fontFamily:"var(--body)",fontSize:"clamp(13px, 0.9vw, 15px)",lineHeight:1.5,color:"var(--tx-2)",marginBottom:"14px",maxWidth:"52ch"},children:e.description})]},`text-${e.id}`),(0,t.jsx)("style",{children:` 505 @keyframes cred-preview-in { 506 from { opacity: 0; transform: translateY(6px); } 507 to { opacity: 1; transform: translateY(0); } 508 } 509 @keyframes cred-preview-bg-in { 510 from { opacity: 0; } 511 to { opacity: 1; } 512 } 513 /* The pill CTA's sweep-fill hover rules lived here. They went with 514 the pill: nothing in this file uses them now. */ 515 `})]})}},99074,e=>{"use strict";e.s(["Industries",()=>s]);var t=e.i(74488),a=e.i(53172),r=e.i(64740),i=e.i(94662);let n=[{name:"Logistics",desc:"Fleet, freight, and last-mile platforms. Real-time tracking, route optimization, and AWS-native CX for All My Sons, Omni, ICAT, and Alliance Air Freight.",href:"/industries/logistics-transport",image:"/assets/industries/logistics-transport.jpg"},{name:"Retail",desc:"E-commerce platforms, omnichannel inventory, and personalized customer experiences. Real-time pricing, recommendation engines, and AWS-native CX for modern retailers.",href:"/industries/retail-ecommerce",image:"/assets/industries/retail-ecommerce.jpg"},{name:"SaaS",desc:"Multi-tenant platforms, billing, and observability. SOC 2 baseline architectures and tenant-scoped Bedrock for product-led GenAI.",href:"/industries/saas-isv",image:"/assets/industries/saas-isv.jpg"},{name:"Energy",desc:"Grid modernization, asset monitoring, and predictive maintenance on AWS. Real-time SCADA integration and FinOps for regulated utilities.",href:"/industries/energy-power-utilities",image:"/assets/industries/energy-power-utilities.jpg"},{name:"Healthcare",desc:"HIPAA-aligned data lakehouses and clinical AI on AWS. Patient-record platforms for Legacy Healing and provider networks.",href:"/industries/healthcare",image:"/assets/industries/healthcare.jpg"}
515,{name:"Financial Services",desc:"Compliant cloud infrastructure for fintech and banking. Real-time fraud detection, secure data pipelines, and regulatory reporting on AWS.",href:"/industries/financial-services",image:"/assets/industries/financial-services.jpg"}];function s({data:e}){let s=e?.industriesHeadline1??"Industries We",o=e?.industriesHeadline2??"Serve",l=e?.industriesHeadline3??"",c=e?.industries,d=n.map((e,t)=>{let a=c?.[t]?.fields;return{name:a?.title??e.name,desc:a?.body??e.desc,href:a?.linkPath??e.href,image:e.image}}),p=(0,i.useReveal)({type:"lines"}),h=(0,i.useReveal)({type:"mask",stagger:.07,duration:.85}),[m,u]=(0,a.useState)(null),[g,x]=(0,a.useState)(null);(0,a.useEffect)(()=>{let e=window.matchMedia("(hover: hover) and (pointer: fine)"),t=()=>x(e.matches);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let v=(0,a.useRef)([]);(0,a.useEffect)(()=>{let e;if(!1!==g)return;let t=0,a=null,r=()=>{t=0;let r=.45*window.innerHeight,i=.3*window.innerHeight,n=null,s=1/0;v.current.forEach((e,t)=>{if(!e)return;let a=e.getBoundingClientRect(),o=Math.abs(a.top+a.height/2-r);o<i&&o<s&&(s=o,n=t)}),n!==a&&(a=n,clearTimeout(e),e=setTimeout(()=>u(n),null===n?90:220))},i=()=>{t||(t=requestAnimationFrame(r))};return window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i),r(),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i),cancelAnimationFrame(t),clearTimeout(e)}},[g]);let f=(0,a.useRef)(null),b=(0,a.useRef)(null),y=(0,a.useRef)({x:-9999,y:-9999}),w=(0,a.useRef)([]),k=(0,a.useRef)([]);return(0,a.useEffect)(()=>{!0===g&&w.current.forEach((e,t)=>{if(e)if(m===t){if(!k.current[t]){let a=d[t]?.image.split("/").pop()?.replace(".jpg","");if(a){let r=`/assets/video/industries/${a}`,i=document.createElement("source");i.src=`${r}.webm`,i.type="video/webm";let n=document.createElement("source");n.src=`${r}.mp4`,n.type="video/mp4",e.appendChild(i),e.appendChild(n),e.load(),k.current[t]=!0}}try{e.currentTime=0}catch{}let a=e.play();a&&"function"==typeof a.catch&&a.catch(()=>{})}else e.pause()})},[m,g]),(0,a.useEffect)(()=>{if(!0!==g||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let e=f.current,t=b.current;if(!e||!t)return;let a=0,r={x:-9999,y:-9999},i=t=>{let a=e.getBoundingClientRect();y.current={x:t.clientX-a.left,y:t.clientY-a.top}},n=()=>{r.x+=(y.current.x-r.x)*.18,r.y+=(y.current.y-r.y)*.18,t.style.transform=`translate3d(${r.x-160}px, ${r.y-100}px, 0)`,a=requestAnimationFrame(n)};return e.addEventListener("mousemove",i),a=requestAnimationFrame(n),()=>{e.removeEventListener("mousemove",i),cancelAnimationFrame(a)}},[g]),(0,t.jsx)(r.SectionFrame,{id:"industries","aria-labelledby":"industries-h",background:"var(--bg)",padding:"lg",children:(0,t.jsxs)("div",{ref:f,className:"relative",children:[(0,t.jsx)("div",{style:{marginBottom:"var(--space-md)"},children:(0,t.jsxs)("h2",{ref:p,id:"industries-h",className:"max-w-[34ch]",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"var(--text-h2)",lineHeight:"1.08",letterSpacing:"-0.025em",textWrap:"balance"},children:[s," ",(0,t.jsx)("em",{className:"italic font-medium",style:{letterSpacing:"-0.03em",background:"var(--grad)",WebkitBackgroundClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent"},children:o}),l?(0,t.jsxs)(t.Fragment,{children:[" ",l]}):null]})}),(0,t.jsx)("ul",{ref:h,className:"list-none",style:{borderTop:"1px solid var(--line-c)",borderBottom:"1px solid var(--line-c)"},onMouseLeave:()=>u(null),children:d.map((e,a)=>{var r;let i=m===a;return(0,t.jsx)("li",{className:"overflow-hidden",style:{borderBottom:a<d.length-1?"1px solid var(--line-c)":"none"},children:(0,t.jsxs)("a",{href:e.href,ref:e=>{v.current[a]=e},"data-reveal-mask":!0,className:`bce-industry-row group relative no-underline select-text transition-colors duration-[600ms] ${i?"is-active":""}`,style:{color:"var(--tx)"},onMouseEnter:()=>{g&&u(a)},onFocus:()=>u(a),children:[!1===g&&(0,t.jsxs)("span",{className:"bce-industry-media","aria-hidden":!0,children:[(0,t.jsx)("img",{src:(r=e.image,`/_next/image?url=${encodeURIComponent(r)}&w=1080&q=75`),alt:"",loading:"lazy",decoding:"async"}),(0,t.jsx)("span",{className:"bce-industry-scrim"})]}),(0,t.jsx)("span",{className:"absolute inset-0 pointer-events-none transition-opacity duration-[600ms]",style:{background:"linear-gradient(90deg, rgba(123,123,247,0) 0%, rgba(123,123,247,0.06) 50%, rgba(123,123,247,0) 100%)",opacity:+!!i}}),(0,t.jsx)("span",{className:"bce-industry-name relative z-[2] transition-colors duration-500",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"clamp(20px, 3.2vw, 44px)",letterSpacing:"-0.025em",lineHeight:1.05,...i&&!1!==g?{background:"var(--grad)",WebkitBackgroun
515dClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent"}:{}},children:e.name}),(0,t.jsx)("span",{className:"bce-industry-desc relative z-[2]",style:{fontFamily:"var(--body)",lineHeight:"1.5",maxWidth:"48ch"},children:e.desc}),(0,t.jsx)("span",{className:"bce-industry-arrow relative z-[2] w-9 h-9 flex-shrink-0 rounded-full grid place-items-center",style:{border:`1px solid ${i?"transparent":"var(--line-c-2)"}`,background:i?"var(--grad)":"transparent",color:i?"#fff":"var(--tx-2)",transform:i?"rotate(-45deg)":"rotate(0)"},children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M5 12h14M13 6l6 6-6 6"})})})]})},a)})}),!0===g&&(0,t.jsx)(t.Fragment,{children:(0,t.jsxs)("div",{ref:b,"aria-hidden":!0,className:"bce-industry-preview pointer-events-none absolute top-0 left-0 hidden md:block",style:{width:320,height:200,transform:"translate3d(-9999px, -9999px, 0)",borderRadius:14,overflow:"hidden",boxShadow:"0 24px 64px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255,255,255,0.04)",opacity:+(null!==m),transition:"opacity 320ms var(--ease-out)",zIndex:5,willChange:"transform, opacity"},children:[d.map((e,a)=>{var r;return(0,t.jsx)("video",{ref:e=>{w.current[a]=e},muted:!0,loop:!0,playsInline:!0,preload:"none",poster:(r=e.image,`/_next/image?url=${encodeURIComponent(r)}&w=640&q=75`),"aria-hidden":!0,className:"absolute inset-0 h-full w-full object-cover",style:{opacity:+(m===a),transition:"opacity 340ms var(--ease-out)"}},a)}),(0,t.jsx)("div",{className:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,0.32) 100%)"}})]})}),(0,t.jsx)("style",{children:` 516 .bce-industry-row { 517 display: grid; 518 padding: 16px 12px; 519 grid-template-columns: minmax(0, 1fr) 38px; 520 grid-template-areas: 521 "name arrow" 522 "desc desc"; 523 column-gap: 14px; 524 row-gap: 8px; 525 align-items: center; 526 } 527 .bce-industry-name { grid-area: name; } 528 .bce-industry-desc { 529 grid-area: desc; 530 font-size: 13.5px; 531 opacity: 1; 532 transform: none; 533 color: var(--tx-2); 534 transition: color 300ms var(--ease-out); 535 } 536 /* Was transition-all at 500ms, which animated border and 537 background (paint properties) alongside the transform and 538 made the arrow lag the rest of the row. */ 539 .bce-industry-arrow { 540 grid-area: arrow; 541 justify-self: end; 542 transition: transform 260ms var(--ease-out), 543 background 260ms var(--ease-out), 544 color 260ms var(--ease-out), 545 border-color 260ms var(--ease-out); 546 } 547 548 @media (min-width: 768px) { 549 .bce-industry-row { 550 padding: 20px 12px; 551 grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 60px; 552 grid-template-areas: "name desc arrow"; 553 column-gap: 24px; 554 row-gap: 0; 555 } 556 /* Active row uses padding-top/bottom via a composited inner 557 spacer rather than animating the padding property directly. 558 Animating padding forces layout recalc on every frame 559 (non-composited), contributing to TBT on mobile. 560 The visual expand effect is preserved by transitioning 561 min-height instead â height changes are composited. */ 562 .bce-industry-row.is-active { 563 padding-top: 28px; 564 padding-bottom: 28px; 565 } 566 .bce-industry-desc { 567 font-size: 14.5px; 568 opacity: 0; 569 transform: translateY(6px); 570 transition: opacity 500ms var(--ease-out), 571 transform 500ms var(--ease-out), 572 color 300ms var(--ease-out); 573 } 574 .bce-industry-row.is-active .bce-industry-desc { 575 opacity: 1; 576 transform: translateY(0); 577 } 578 } 579 580 /* The descriptions were visible below 768 and visible on a 581 mouse-driven desktop, and invisible in between. A tablet has 582 the width to earn the reveal and no pointer to trigger it, so 583 the entire content of this section was unreachable there. That 584 is the inverse of a progressive-enhancement gradient: the 585 middle of the range got less than either end. 586 587 Nothing is hidden on a device that cannot reveal it. */ 588 @media (min-width: 768px) and (hover: none) { 589 .bce-industry-desc { 590 opacity: 1; 591 transform: none; 592 } 593 } 594 595 /* ââ Touch only: the active row fills with its industry photo ââ 596 Gated on (hover: none) as well as the canHover render guard, so 597 a laptop at tablet width never sees it. Desktop keeps the 598 cursor-following preview instead: two input modes, two designs. 599 600 Opacity and transform only. Nothing resizes, so scrolling never 601 triggers a layout shift. */ 602 @media (hover: none) { 603 .bce-industry-media { 604 position: absolute; 605 inset: 0; 606 z-index: 0; 607 overflow: hidden; 608 opacity: 0; 609 pointer-events: none; 610 transition: opacity 240ms var(--ease-out); 611 } 612 .bce-industry-media img { 613 width: 100%; 614 height: 100%; 615 object-fit: cover; 616 display: block; 617 transform: scale(1.08); 618 transition: transform 240ms var(--ease-out); 619 } 620 /* 50%, shaped left to right: heaviest where the name sits, 621 releasing across the row so the photo keeps its brightness 622 on the side you can actually see it. */ 623 .bce-industry-scrim { 624 position: absolute; 625 inset: 0; 626 background: linear-gradient(90deg, 627 rgba(6, 6, 10, 0.50) 0%, 628 rgba(6, 6, 10, 0.47) 48%, 629 rgba(6, 6, 10, 0.21) 100%); 630 } 631 .bce-industry-row.is-active .bce-industry-media { 632 opacity: 1; 633 transition: opacity 520ms var(--ease-out); 634 } 635 /* The image keeps drifting to rest for ~400ms after the fade 636 has landed. That trailing settle is the difference between
637 appeared and arrived. Exit is fast so a flick clears. */ 638 .bce-industry-row.is-active .bce-industry-media img { 639 transform: scale(1); 640 transition: transform 900ms var(--ease-reveal); 641 } 642 /* The scrim is dark in BOTH themes, so the type over it has to 643 be light in both themes too -- they are a matched pair, not 644 two independent choices. Light mode sets --tx to #0E0E12, so 645 using the token here put near-black text on a darkened photo 646 and the row became unreadable. Hard white is correct. 647 648 Also note 70% white is not enough even in dark mode: it 649 composites toward the backdrop and measured 2.8:1 on the worst 650 image where pure white read 4.0:1. */ 651 .bce-industry-row.is-active .bce-industry-name, 652 .bce-industry-row.is-active .bce-industry-desc { color: #fff; } 653 .bce-industry-row.is-active .bce-industry-arrow { transition-delay: 80ms; } 654 } 655 656 /* Reduced motion keeps the fade, drops the movement. */ 657 @media (prefers-reduced-motion: reduce) { 658 .bce-industry-media img { 659 transform: none !important; 660 transition: none !important; 661 } 662 } 663 `})]})})}},36912,e=>{"use strict";e.s(["CaseStudies",()=>l]);var t=e.i(74488),a=e.i(53172),r=e.i(64740),i=e.i(94662);let n=[{featured:!0,c1:"#5E1CD9",c2:"#218ADB"},{featured:!1,c1:"#218ADB",c2:"#62C6FC"},{featured:!1,c1:"#524FF4",c2:"#218ADB"}],s=[{client:"All My Sons",tag:"Logistics · 2025",industry:"logistics",metric:"â38%",metricLabel:"Average cost-per-mile after re-platform",headline:"From legacy dispatch to AI-powered routing across 250+ branches in 14 weeks.",href:"/work/all-my-sons-agentic-ai"},{client:"Legacy Healing",tag:"Healthcare · 2025",industry:"healthcare",metric:"2M+",metricLabel:"Records migrated, zero downtime",headline:"HIPAA-aligned patient-record platform with clinical GenAI assist.",href:"/work/scalable-hosting-healthcare"},{client:"Omni Logistics",tag:"Logistics · 2024",industry:"logistics",metric:"+29pt",metricLabel:"CSAT lift in 90 days",headline:"Connect-driven CX rollout across 800 agents with GenAI wrap-ups.",href:"/work/omni-logistics-edi-modernization"}],o=["all","logistics","retail","saas","healthcare"];function l({data:e}){let l=e?.casesHeadline1??"Highlighted",c=e?.casesHeadline2??"Case Studies",d=e?.cases,p=[...o],h=n.map((e,t)=>{let a=s[t],r=d?.[t]?.fields;return{...e,tag:r?.tag??a.tag,industry:r?.industry??a.industry,client:r?.title??a.client,metric:r?.metric??a.metric,metricLabel:r?.metricLabel??a.metricLabel,headline:r?.body??a.headline,href:r?.linkPath??a.href}}),m=(0,i.useReveal)({type:"lines"}),u=(0,i.useReveal)({type:"mask",stagger:.08,duration:.85}),[,g]=(0,a.useState)(p[0]);return(0,t.jsx)(r.SectionFrame,{id:"cases","aria-labelledby":"cases-h",background:"var(--bg-elev)",padding:"lg",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{marginBottom:"var(--space-sm)"},children:(0,t.jsxs)("h2",{ref:m,id:"cases-h",className:"max-w-[28ch]",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"var(--text-h2)",lineHeight:"1.08",letterSpacing:"-0.025em",textWrap:"balance"},children:[l," ",(0,t.jsx)("em",{className:"italic font-medium",style:{letterSpacing:"-0.03em",background:"var(--grad)",WebkitBackgroundClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent"},children:c})]})}),(0,t.jsx)("div",{ref:u,className:"bce-cases-grid",style:{display:"grid",gap:"1px",background:"var(--line-c)",borderTop:"1px solid var(--line-c)",borderBottom:"1px solid var(--line-c)"},children:h.map(e=>(0,t.jsxs)("a",{href:e.href,className:`bce-case-card group relative overflow-hidden flex flex-col no-underline select-text transition-opacity duration-500 ${e.featured?"is-featured":""}`,style:{background:"var(--bg-elev)",color:"var(--tx)",opacity:1,pointerEvents:"auto"},"data-cursor":"Read",children:[(0,t.jsx)("span",{className:"absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-[600ms] pointer-events-none z-0",style:{background:`linear-gradient(135deg, ${e.c1}, ${e.c2})`}}),(0,t.jsxs)("div",{"data-reveal-mask":!0,className:"relative z-[2] flex flex-1 flex-col justify-between",children:[(0,t.jsxs)("div",{className:"relative z-[2] flex justify-between items-start gap-4",children:[(0,t.jsx)("div",{className:"flex flex-col gap-1.5",children:(0,t.jsx)("span",{className:"text-[var(--tx-3)] group-hover:text-white transition-colors duration-500",style:{fontFamily:"var(--mono)",fontSize:"var(--text-mono)",letterSpacing:"0.10em",textTransform:"uppercase"},children:e.tag})}),(0,t.jsxs)("span",{className:"relative w-9 h-9 flex-shrink-0 rounded-full grid place-items-center overflow-hidden transition-all duration-500 group-hover:-rotate-45 group-hover:text-white group-hover:border-transparent",style:{border:"1px solid var(--line-c-2)",background:"transparent",color:"var(--tx-2)"}
663,children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-0 rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-500",style:{background:`linear-gradient(135deg, ${e.c1}, ${e.c2})`}}),(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:"relative z-[1]",children:(0,t.jsx)("path",{d:"M5 12h14M13 6l6 6-6 6"})})]})]}),(0,t.jsxs)("div",{className:"relative z-[2] flex flex-col gap-3",children:[(0,t.jsx)("h3",{className:"uppercase group-hover:text-white transition-colors duration-500",style:{fontFamily:"var(--display)",fontWeight:700,fontSize:e.featured?"clamp(26px, 3.2vw, 48px)":"clamp(20px, 2.2vw, 30px)",letterSpacing:"-0.025em",lineHeight:"1.05"},children:e.client}),(0,t.jsx)("p",{className:"max-w-[28ch] text-[var(--tx-2)] group-hover:text-white/80 transition-colors duration-500",style:{fontFamily:"var(--display)",fontWeight:500,fontStyle:"italic",fontSize:"clamp(14px, 1.2vw, 17px)",lineHeight:"1.35"},children:e.headline}),(0,t.jsxs)("div",{className:"flex items-baseline gap-3 mt-2.5 pt-3.5 group-hover:border-[rgba(255,255,255,0.3)] transition-colors duration-500",style:{borderTop:"1px solid var(--line-c)"},children:[(0,t.jsx)("span",{className:"group-hover:text-white transition-colors duration-500",style:{fontFamily:"var(--display)",fontWeight:700,fontSize:"clamp(24px, 2.4vw, 36px)",lineHeight:1,letterSpacing:"-0.025em"},children:e.metric}),(0,t.jsx)("span",{className:"max-w-[18ch] text-[var(--tx-3)] group-hover:text-white/85 transition-colors duration-500",style:{fontFamily:"var(--body)",fontSize:"var(--text-fine)",lineHeight:"1.4"},children:e.metricLabel})]})]})]}),(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute bottom-0 h-[2px] transition-all duration-500 group-hover:left-[8%] group-hover:right-[8%] group-hover:opacity-100 group-hover:bg-white",style:{left:"25%",right:"25%",background:`linear-gradient(90deg, ${e.c1}, ${e.c2})`,opacity:.25}})]},e.client))}),(0,t.jsx)("div",{className:"flex justify-end",style:{marginTop:"var(--space-sm)"},children:(0,t.jsxs)("a",{href:"/work","data-cursor":"Browse",className:"bce-pill-cta group relative inline-flex items-center gap-3 no-underline overflow-hidden transition-all duration-[450ms]",style:{fontFamily:"var(--body)",fontWeight:500,fontSize:"var(--text-small)",padding:"12px 22px",border:"1px solid var(--line-c-2)",borderRadius:"999px",background:"transparent",color:"var(--tx)",transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)"},children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"bce-pill-fill absolute inset-0 transition-transform duration-[550ms]",style:{background:"var(--tx)",transform:"translateX(-101%)",transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)"}}),(0,t.jsx)("span",{className:"relative",children:"See all stories"}),(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",className:"relative transition-transform duration-[450ms] group-hover:translate-x-[3px] group-hover:-translate-y-[2px]",children:(0,t.jsx)("path",{d:"M7 17L17 7M9 7h8v8"})})]})}),(0,t.jsx)("style",{children:` 664 .bce-cases-grid { 665 grid-template-columns: 1fr; 666 grid-auto-rows: minmax(0, auto); 667 } 668 .bce-case-card { 669 padding: clamp(18px, 1.8vw, 26px); 670 min-height: clamp(180px, 21vw, 220px); 671 } 672 .bce-case-card.is-featured { 673 min-height: clamp(260px, 32vw, 440px); 674 } 675 @media (min-width: 768px) { 676 .bce-cases-grid { 677 grid-template-columns: 1.6fr 1fr; 678 grid-template-rows: 1fr 1fr; 679 } 680 .bce-case-card.is-featured { 681 grid-column: 1 / 2; 682 grid-row: 1 / span 2; 683 padding: clamp(24px, 2.2vw, 32px); 684 } 685 } 686 .bce-filter-pill[data-active="false"]:hover { 687 background: color-mix(in srgb, var(--tx) 5%, transparent) !important; 688 border-color: var(--tx-2) !important; 689 color: var(--tx) !important; 690 } 691 .bce-pill-cta:hover .bce-pill-fill { 692 transform: translateX(0) !important; 693 } 694 .bce-pill-cta:hover { 695 border-color: transparent !important; 696 color: var(--bg) !important; 697 } 698 `})]})})}},50684,e=>{"use strict";e.s(["Approach",()=>m]);var t=e.i(74488),a=e.i(53172),r=e.i(21736);let i=[{num:"01 - People",headline:"Hire and develop the best talents.",mechanic:"Hire and develop the best talents."},{num:"02 - Technology",headline:"Right fit of technology for the right use case.",mechanic:"Right fit of technology for the right use case."},{num:"03 - Trust",headline:"Deliver on what's promised.",mechanic:"Deliver on what's promised."}],n=[{facet:[.04,.28],reveal:[.24,.36]},{facet:[.36,.6],reveal:[.56,.68]},{facet:[.68,.92],reveal:[.88,1]}],s=[{from:{x:0,y:30,rot:-4},wipe:"b",bbox:{x:0,y:86.2,w:75.6,h:75.8},anchor:{x:0,y:86.2}},{from:{x:-32,y:6,rot:4},wipe:"l",bbox:{x:43,y:43.1,w:75.6,h:75.8},anchor:{x:118.6,y:118.9}},{from:{x:24,y:-30,rot:5},wipe:"t",bbox:{x:86,y:0,w:75.5,h:75.8},anchor:{x:86,y:0}}],o=[{x:54,y:160},{x:97,y:118},{x:140,y:75}],l=e=>Math.min(1,1.001-Math.pow(2,-10*e)),c=e=>e<0?0:e>1?1:e,d=n[2].facet[1];function p(e,t){if(e.length<2)return"";let a="M"+e[0][0].toFixed(1)+" "+e[0][1].toFixed(1);for(let r=1;r<e.length-1;r++){let i=e[r-1],n=e[r],s=e[r+1],o=Math.hypot(n[0]-i[0],n[1]-i[1]),l=Math.hypot(s[0]-n[0],s[1]-n[1]);if(o<.5||l<.5){a+=" L"+n[0].toFixed(1)+" "+n[1].toFixed(1);continue}let c=Math.min(t,o/2,l/2),d=[(n[0]-i[0])/o,(n[1]-i[1])/o],p=[(s[0]-n[0])/l,(s[1]-n[1])/l];a+=" L"+(n[0]-d[0]*c).toFixed(1)+" "+(n[1]-d[1]*c).toFixed(1)+" Q"+n[0].toFixed(1)+" "+n[1].toFixed(1)+" "+(n[0]+p[0]*c).toFixed(1)+" "+(n[1]+p[1]*c).toFixed(1)}let r=e[e.length-1];return a+" L"+r[0].toFixed(1)+" "+r[1].toFixed(1)}let h=e=>{let t=0;for(let a=1;a<e.length;a++)t+=Math.hypot(e[a][0]-e[a-1][0],e[a][1]-e[a-1][1]);return t};function m({data:e}){let m=e?.approachHeadline1??"Our Building Blocks for a",u=e?.approachHeadline2??"Customer-First Experience",g=e?.approachActs,x=i.map((e,t)=>{let a=g?.[t]?.fields,r=e.num.split("-").map(e=>e.trim());return{numeral:r[0],name:r[1],headline:a?.title??e.headline,mechanic:a?.mechanic??e.mechanic}}),v=(0,a.useRef)(null),f=(0,a.useRef)(null),[b,y]=(0,a.useState)(!1),[w,k]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)"),t=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{y(e.matches),k(t.matches)};return a(),e.addEventListener("change",a),t.addEventListener("change",a),()=>{e.removeEventListener("change",a),t.removeEventListener("change",a)}},[]),(0,a.useEffect)(()=>{let e,t,a=v.current,i=f.current;if(!a||!i)return;let l=e=>Array.from(i.querySelectorAll(e)),m=i.querySelector(".bce-logo"),u=i.querySelector(".bce-leaders"),g=l(".facet"),x=g.map(e=>e.querySelector(".fills")),y=s.map((e,t)=>i.querySelector("#bce-wipe-"+t+" rect")),k=l(".bce-num"),j=i.querySelector(".bce-nums"),S=i.querySelector(".bce-header-in"),C=i.querySelector(".bce-glow"),N=l(".seg > i");if(!m||!u)return;let E=l(".ld"),A=l(".ring"),R=l(".dock"),F=l(".chip"),L=i.querySelector(".bce-cards"),M=l(".bce-card"),W=g.map(e=>(e.style.transformBox="fill-box",e.style.transformOrigin="center",w)?[]:Array.from(e.querySelectorAll(".fl")).map(t=>{let a=t.cloneNode(!1);a.setAttribute("fill","none"),a.setAttribute("stroke","rgba(204,218,255,0.95)"),a.setAttribute("stroke-width","1.1"),a.style.strokeLinejoin="round",e.appendChild(a);let r=400;try{r=a.getTotalLength()}catch{}return a.style.strokeDasharray=String(r),{el:a,len:r}})),T=E.map(()=>0),z=[],I=0,B=-1,$=()=>{B=-1;let e=i.getBoundingClientRect();u.setAttribute("viewBox","0 0 "+e.width+" "+e.height);let t=m.getBoundingClientRect(),a=t.left-e.left;if(b){if(!L)return;
698I=L.getBoundingClientRect().top-e.top-2,z=o.map(r=>[a+r.x/162*t.width,t.top-e.top+r.y/162*t.height]);return}let r=a-18,n=a+t.width+18;s.forEach((i,s)=>{let o=F[s];if(!o||!E[s])return;let l=a+i.anchor.x/162*t.width,c=t.top-e.top+i.anchor.y/162*t.height,d=o.getBoundingClientRect(),m=o.dataset.side??"right",u="left"===m?r:n,g=("left"===m?d.right:d.left)-e.left,x=(d.top+d.bottom)/2-e.top,v=[[l,c],[u,c],[u,x],[g,x]];E[s].setAttribute("d",p(v,9)),T[s]=h(v),E[s].style.strokeDasharray=String(T[s]),A[s].setAttribute("cx",l.toFixed(1)),A[s].setAttribute("cy",c.toFixed(1)),R[s].setAttribute("cx",g.toFixed(1)),R[s].setAttribute("cy",x.toFixed(1))})},H=e=>{let t=c(e/n[0].facet[0]);S&&(S.style.opacity=String(t),S.style.transform="translateY("+(1-t)*20+"px)"),C&&(C.style.opacity=String(c(e/.2))),j&&(j.style.opacity=String(c(e/.1)));let a=c((e-d)/(1-d)),r=b?.09:.06;k.forEach((t,a)=>{let i=n[a],s=Math.min(c((e-(i.facet[0]-.05))/.05),1-c((e-i.reveal[1])/.05)),o=e<i.facet[0]?1:-1;t.style.opacity=String(s*r),t.style.transform="translate(-50%,-50%) translateY("+(1-s)*46*o+"px)"}
698),s.forEach((t,r)=>{var i,s,o;let l=n[r],d=g[r],p=c((e-l.facet[0])/(l.facet[1]-l.facet[0])),h=1+2.70158*Math.pow((i=c(p/.85))-1,3)+1.70158*Math.pow(i-1,2),m=c(p/.5),u=c((p-.16)/.62);d.style.transform="translate("+t.from.x*(1-h)+"px,"+t.from.y*(1-h)+"px) scale("+(.94+.06*h)+") rotate("+t.from.rot*(1-h)+"deg)",d.style.opacity=String(c(5*p));let v=1-c((e-l.facet[1])/.04);W[r].forEach(e=>{e.el.style.strokeDashoffset=String(e.len*(1-m)),e.el.style.opacity=String(c(1.4*m)*c(v))});let f=y[r];if(f){let e=(s=t.wipe,o=t.bbox,"b"===s?{x:o.x,y:o.y+o.h*(1-u),width:o.w,height:o.h*u}:"t"===s?{x:o.x,y:o.y,width:o.w,height:o.h*u}:"l"===s?{x:o.x,y:o.y,width:o.w*u,height:o.h}:{x:o.x,y:o.y,width:o.w,height:o.h});f.setAttribute("x",String(e.x)),f.setAttribute("y",String(e.y)),f.setAttribute("width",String(Math.max(0,e.width))),f.setAttribute("height",String(Math.max(0,e.height)))}let b=x[r],w=Math.max(c(1-Math.abs(e-l.facet[1])/.1),.7*a);b&&(b.style.opacity=String(c(5*p)+.3*w))});let i=e<n[1].facet[0]?0:e<n[2].facet[0]?1:2;if(b){M.forEach((t,a)=>{let r=0===a?n[0].facet[0]:n[a].facet[0]-.06,i=n[a+1]?.facet[0],s=void 0===i?1:1-c((e-(i-.06))/.06),o=Math.min(c((e-r)/.06),s),l=e<(0===a?n[0].facet[0]+.06:n[a].facet[0])?1:-1;t.style.opacity=String(o),t.style.transform="translateY("+(1-o)*14*l+"px)"});let t=z[i];if(t&&E[0]){let a=[[t[0],t[1]],[t[0],I]],r=h(a);E[0].setAttribute("d",p(a,6)),E[0].style.strokeDasharray=String(r);let s=n[i].reveal,o=c((e-s[0])/(s[1]-s[0]));E[0].style.strokeDashoffset=String(r*(1-o)),E[0].style.opacity=String(c(3*o)),A[0]&&(A[0].setAttribute("cx",t[0].toFixed(1)),A[0].setAttribute("cy",t[1].toFixed(1)),A[0].style.opacity=String(c(3*o)))}}else s.forEach((t,a)=>{let r=n[a],i=c((e-r.reveal[0])/(r.reveal[1]-r.reveal[0])),s=c(1-Math.abs(e-r.facet[1])/.05);A[a].style.opacity=String(c(5*i)),A[a].setAttribute("r",(3.4+3.4*s).toFixed(2)),E[a].style.strokeDashoffset=String(T[a]*(1-c((i-.1)/.5))),E[a].style.opacity=String(c(4*i)),R[a].style.opacity=String(c((i-.55)/.2));let o=c((i-.5)/.4);F[a].style.opacity=String(o),F[a].style.transform="translateY("+(1-o)*8+"px)"});N.forEach((t,a)=>{let r=n[a],i=c((e-r.facet[0])/(r.reveal[1]-r.facet[0]));t.style.transform="scaleX("+i.toFixed(4)+")"})};$(),H(+!!w);let _=w?()=>{$(),H(1)}:$,P=new ResizeObserver(_);P.observe(i),window.addEventListener("resize",_);let q=window.setTimeout(_,320);if(document.fonts?.ready&&document.fonts.ready.then(_).catch(()=>{}),!w){let i=!1;(e=new IntersectionObserver(e=>e.forEach(e=>{i=e.isIntersecting}),{threshold:0})).observe(a),t=()=>{if(!i)return;let e=window.scrollY;if(e===B)return;B=e;let t=a.getBoundingClientRect(),r=a.offsetHeight-window.innerHeight;H(r>0?c(-t.top/r):0)},r.default.ticker.add(t)}return()=>{t&&r.default.ticker.remove(t),e?.disconnect(),P.disconnect(),window.removeEventListener("resize",_),window.clearTimeout(q),W.forEach(e=>e.forEach(e=>e.el.remove()))}},[b,w]),(0,a.useEffect)(()=>{let e;if(w||b)return;let t=v.current;if(!t)return;let a=null,r=0,i=!1,n=e=>{"number"==typeof e?.direction&&(r=e.direction),t.getBoundingClientRect().top>.85*window.innerHeight&&(i=!1),(()=>{if(i||!a)return;let e=t.getBoundingClientRect().top,n=.25*window.innerHeight;if(r>0&&e<=n&&e>=-.05*window.innerHeight&&Math.abs(e)>8){i=!0;let t=Math.min(1,Math.abs(e)/n);a.scrollTo(window.scrollY+e,{duration:.28+.16999999999999998*t,force:!0,easing:l})}})()},s=()=>{let e=window.__lenis;return!!e&&"function"==typeof e.scrollTo&&(a=e,e.on("scroll",n),!0)};if(!s()){let t=0;e=window.setInterval(()=>{(s()||++t>40)&&window.clearInterval(e)},60)}return()=>{e&&window.clearInterval(e),a&&a.off("scroll",n)}},[b,w]);let j=b?"220vh":"240vh",S=b?"min(210px, 56vw)":"min(300px, 24vw)",C=b?"clamp(130px, 50vw, 240px)":"clamp(150px, 26vw, 300px)",N="radial-gradient(circle, color-mix(in srgb, var(--tx) 14%, transparent) 1px, transparent 1.4px)",E=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("defs",{children:[(0,t.jsxs)("linearGradient",{id:"ag1a",x1:"76",y1:"163",x2:"0",y2:"87",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{stopColor:"#4FC1F6"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#595CEA"})]}),(0,t.jsxs)("linearGradient",{id:"ag1b",x1:"0",y1:"86",x2:"76",y2:"162",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{stopColor:"#5653E1"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#38B5EA"})]}),(0,t.jsxs)("linearGradient",{id:"ag2a",x1:"119",y1:"119",x2:"43",y2:"43",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{stopColor:"#2290E5"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#5131F6"})]}),(0,t.jsxs)("linearGradient",{id:"ag2b",x1:"43",y1:"43",x2:"119",y2:"119",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{stopColor:"#603ED7"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#218ADB"})]}),(0,t.jsxs)("linearGradient",{id:"ag3a",x1:"162",y1:"76",x2:"86",y2:"0",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{stopColor:"#9144EA"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#4B0DBF"})]}),(0,t.jsxs)("linearGradient",{id:"ag3b",x1:"162",y1:"76",x2:"86",y2:"0",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{stopColor:"#AB5FF8"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#5E1CD9"})]}),(0,t.jsx)("clipPath",{id:"bce-wipe-0",clipPathUnits:"userSpaceOnUse",children:(0,t.jsx)("rect",{x:"0",y:"86.2",width:"75.6",height:"75.8"})}),(0,t.jsx)("clipPath",{id:"bce-wipe-1",clipPathUnits:"userSpaceOnUse",children:(0,t.jsx)("rect",{x:"43",y:"43.1",width:"75.6",height:"75.8"})}),(0,t.jsx)("clipPath",{id:"bce-wipe-2",clipPathUnits:"userSpaceOnUse",children:(0,t.jsx)("rect",{x:"86",y:"0",width:"75.5",height:"75.8"})})]}),(0,t.jsx)("g",{className:"facet","data-i":"0",children:(0,t.jsxs)("g",{className:"fills",clipPath:"url(#bce-wipe-0)",children:[(0,t.jsx)("path",{className:"fl",fill:"url(#ag1a)",d:"M0 86.2V129.3L32.6 162H75.6L33.3 119.6L0 86.2Z"}),(0,t.jsx)("path",{className:"fl",fill:"url(#ag1b)",d:"M43 86.2H0L33.3 119.6L75.6 162V118.9L43 86.2Z"})]})}),(0,t.jsx)("g",{className:"facet","data-i":"1",children:(0,t.jsxs)("g",{className:"fills",clipPath:"url(#bce-wipe-1)",children:[(0,t.jsx)("path",{className:"fl",fill:"url(#ag2a)",d:"M43 43.1V86.2L75.6 118.9H118.6L43 43.1Z"}),(0,t.jsx)("path",{className:"fl",fill:"url(#ag2b)",d:"M86 43.1H43L118.6 118.9V75.8L86 43.1Z"})]})}),(0,t.jsx)("g",{className:"facet","data-i":"2",children:(0,t.jsxs)("g",{className:"fills",clipPath:"url(#bce-wipe-2)",children:[(0,t.jsx)("path",{className:"fl",fill:"url(#ag3a)",d:"M86 0V43.1L118.6 75.8H161.5L86 0Z"}),(0,t.jsx)("path",{className:"fl",fill:"url(#ag3b)",d:"M129 0H86L161.5 75.8V32.7L129 0Z"})]})})]}),A={fontFamily:"var(--mono)",fontWeight:500,fontSize:C,lineHeight:1,color:"rgba(255,255,255,0.055)",letterSpacing:"-0.04em"},R=(0,t.jsxs)("div",{className:"relative",style:{paddingTop:"var(--space-2xl)",paddingBottom:"var(--space-2xl)"}
698,children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{backgroundImage:N,backgroundSize:"24px 24px",maskImage:"radial-gradient(ellipse at 50% 45%, #000 0%, #000 58%, transparent 100%)",WebkitMaskImage:"radial-gradient(ellipse at 50% 45%, #000 0%, #000 58%, transparent 100%)"}}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(ellipse at 40% 55%, rgba(123,123,247,0.09) 0%, transparent 58%)"}}),(0,t.jsxs)("div",{className:"relative mx-auto",style:{maxWidth:"900px",paddingLeft:"var(--space-sm)",paddingRight:"var(--space-sm)"},children:[(0,t.jsx)("header",{style:{marginBottom:"var(--space-lg)"},children:(0,t.jsxs)("h2",{id:"approach-h",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"clamp(26px, 3.4vw, 42px)",letterSpacing:"-0.025em",lineHeight:1.12,textWrap:"balance",maxWidth:"22ch"},children:[m," ",(0,t.jsx)("em",{className:"italic",style:{color:"var(--accent)",paddingRight:"0.06em"},children:u})]})}),(0,t.jsxs)("div",{className:"flex flex-col",style:{gap:"var(--space-lg)"},children:[(0,t.jsx)("svg",{viewBox:"0 0 162 162",fill:"none","aria-hidden":"true",className:"block h-auto w-[min(232px,62vw)] self-center",children:E}),(0,t.jsx)("ol",{className:"m-0 flex w-full list-none flex-col p-0",style:{gap:"12px"},children:x.map((e,a)=>(0,t.jsxs)("li",{className:"relative overflow-hidden",style:{background:"rgba(255,255,255,0.05)",border:"0.5px solid rgba(255,255,255,0.16)",borderRadius:"16px",padding:"16px 18px"},children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute left-0",style:{to
698p:"16px",bottom:"16px",width:"2px",borderRadius:"0 2px 2px 0",background:"var(--accent)",opacity:.8}}),(0,t.jsxs)("div",{className:"flex items-baseline",style:{gap:"10px"},children:[(0,t.jsx)("span",{style:{fontFamily:"var(--mono)",fontWeight:500,fontSize:"var(--text-mono)",letterSpacing:"0.10em",color:"var(--accent)"},children:e.numeral}),(0,t.jsx)("h3",{style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"21px",letterSpacing:"-0.01em",lineHeight:1.15,margin:0,color:"var(--tx)"},children:e.name})]}),(0,t.jsx)("p",{style:{fontFamily:"var(--body)",fontSize:"14px",lineHeight:1.5,color:"var(--tx-2)",margin:"7px 0 0"},children:e.mechanic})]},a))})]})]})]});return(0,t.jsx)("section",{ref:v,className:"relative",style:{minHeight:w?void 0:j,background:"var(--bg)",paddingLeft:"var(--space-md)",paddingRight:"var(--space-md)"},id:"approach","aria-labelledby":"approach-h",children:(0,t.jsx)("div",{className:"mx-auto h-full",style:{maxWidth:"1440px",minHeight:w?void 0:j,borderLeft:"1px solid var(--line-c)",borderRight:"1px solid var(--line-c)",borderTop:"1px solid var(--line-c)"},children:w&&b?R:(0,t.jsx)("div",{ref:f,className:w?"relative w-full":"sticky top-0 h-screen",style:w?{height:"clamp(560px, 82vh, 820px)"}:void 0,children:(0,t.jsxs)("div",{className:"relative w-full h-full flex items-center justify-center",style:{background:"var(--bg)",color:"var(--tx)"},children:[(0,t.jsx)("div",{className:"absolute inset-0 pointer-events-none",style:{backgroundImage:N,backgroundSize:b?"20px 20px":"24px 24px",maskImage:"radial-gradient(ellipse at 50% 50%, #000 0%, #000 60%, transparent 100%)",WebkitMaskImage:"radial-gradient(ellipse at 50% 50%, #000 0%, #000 60%, transparent 100%)"}}),(0,t.jsx)("div",{className:"bce-glow absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse at 50% 50%, rgba(123,123,247,0.1) 0%, transparent 55%)",opacity:+!!w}}),(0,t.jsx)("div",{className:"bce-nums absolute z-[1] pointer-events-none",style:{left:"50%",top:b?"44%":"50%",opacity:0}
698,"aria-hidden":"true",children:x.map((e,a)=>(0,t.jsx)("span",{className:"bce-num",style:{...A,position:"absolute",left:0,top:0,transform:"translate(-50%,-50%)",opacity:0},children:e.numeral},a))}),(0,t.jsx)("header",{className:"bce-header absolute z-[6] text-center",style:{top:"clamp(64px, 9vh, 116px)",left:"50%",transform:"translateX(-50%)",width:"92%",maxWidth:"760px"},children:(0,t.jsxs)("h2",{id:"approach-h",className:"bce-header-in",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:b?"clamp(24px, 7vw, 32px)":"clamp(28px, 3.6vw, 44px)",letterSpacing:"-0.025em",lineHeight:1.12,display:"inline-block",opacity:+!!w,textWrap:"balance"},children:[m," ",(0,t.jsx)("em",{className:"italic",style:{color:"var(--accent)",paddingRight:"0.06em"},children:u})]})}),(0,t.jsx)("svg",{className:"bce-leaders absolute inset-0 z-[3] pointer-events-none",width:"100%",height:"100%",preserveAspectRatio:"none","aria-hidden":"true",children:b?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{className:"ld","data-i":"0",d:"",fill:"none",stroke:"rgba(123,123,247,0.6)",strokeWidth:"1.1",style:{opacity:0}}),(0,t.jsx)("circle",{className:"ring","data-i":"0",r:"3.2",fill:"none",stroke:"rgba(123,123,247,0.95)",strokeWidth:"1.3",style:{opacity:0}})]}):(0,t.jsxs)(t.Fragment,{children:[s.map((e,a)=>(0,t.jsx)("path",{className:"ld","data-i":a,d:"",fill:"none",stroke:"rgba(123,123,247,0.7)",strokeWidth:"1.25",style:{opacity:0}},"l"+a)),s.map((e,a)=>(0,t.jsx)("circle",{className:"dock","data-i":a,r:"2.6",fill:"rgba(123,123,247,0.95)",style:{opacity:0}},"d"+a)),s.map((e,a)=>(0,t.jsx)("circle",{className:"ring","data-i":a,r:"3.4",fill:"none",stroke:"rgba(123,123,247,0.95)",strokeWidth:"1.4",style:{opacity:0}},"r"+a))]})}),(0,t.jsx)("svg",{className:"bce-logo relative z-[2]",overflow:"visible",viewBox:"0 0 162 162",fill:"none","aria-hidden":"true",style:{width:S,transform:b?"translateY(-6%)":void 0},children:E}),b?(0,t.jsx)("div",{className:"bce-cards absolute z-[5]",style:{left:"22px",right:"22px",bottom:"clamp(92px, 15vh, 140px)",display:"grid"},children:x.map((e,a)=>(0,t.jsxs)("div",{className:"bce-card","data-i":a,style:{gridArea:"1 / 1",background:"rgba(255,255,255,0.05)",border:"0.5px solid rgba(255,255,255,0.16)",borderRadius:"16px",padding:"18px 20px",opacity:0},children:[(0,t.jsx)("h3",{style:{margin:0},children:(0,t.jsx)("span",{className:"card-name",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"21px",letterSpacing:"-0.01em",color:"var(--tx)"},children:e.name})}),(0,t.jsx)("p",{className:"card-mech",style:{fontFamily:"var(--body)",fontSize:"var(--text-small)",lineHeight:1.5,color:"var(--tx-2)",margin:"10px 0 0"},children:e.mechanic})]},a))}):(0,t.jsx)(t.Fragment,{children:[{side:"left",pos:{left:"clamp(20px, 5vw, 96px)"},top:"64%",align:"right",justify:"flex-end"},{side:"right",pos:{right:"clamp(20px, 5vw, 96px)"},top:"47%",align:"left",justify:"flex-start"},{side:"left",pos:{left:"clamp(20px, 5vw, 96px)"},top:"28%",align:"right",justify:"flex-end"}].map((e,a)=>(0,t.jsxs)("div",{className:"chip absolute z-[5]","data-i":a,"data-side":e.side,style:{...e.pos,top:e.top,width:"fit-content",maxWidth:"min(260px, 26vw)",textAlign:e.align,background:"rgba(255,255,255,0.045)",border:"0.5px solid rgba(255,255,255,0.14)",borderRadius:"10px",padding:"9px 12px",opacity:+!!w},children:[(0,t.jsx)("h3",{style:{margin:0},children:(0,t.jsx)("span",{style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"clamp(16px, 1.7vw, 20px)",letterSpacing:"-0.01em",color:"var(--tx)"},children:x[a].name})}),(0,t.jsx)("p",{style:{fontFamily:"var(--body)",fontSize:"var(--text-small)",lineHeight:1.45,color:"var(--tx-2)",margin:"6px 0 0"},children:x[a].mechanic})]},a))}),(0,t.jsx)("div",{className:"absolute z-[6]",style:{bottom:"clamp(28px, 5vh, 56px)",left:"50%",transform:"translateX(-50%)",display:"flex",gap:"8px"},children:s.map((e,a)=>(0,t.jsx)("span",{className:"seg",style:{display:"block",width:"50px",height:"3px",borderRadius:"2px",background:"rgba(255,255,255,0.12)",overflow:"hidden"},children:(0,t.jsx)("i",{style:{display:"block",height:"100%",width:"100%",transformOrigin:"left center",transform:w?"scaleX(1)":"scaleX(0)",willChange:w?void 0:"transform",background:"linear-gradient(90deg, #7B7BF7, #62C6FC)"}})},a))})]})})})})}},79601,e=>{"use strict";e.s(["Contact",()=>n]);var t=e.i(74488),a=e.i(17097),r=e.i(64740),i=e.i(94662);function n({data:e}){let n=(0,i.useReveal)({type:"lines"});return(0,t.jsx)(r.SectionFrame,{id:"contact","aria-labelledby":"
698contact-h",background:"var(--bg-elev)",padding:"xl",children:(0,t.jsxs)("div",{className:"relative flex flex-col items-center text-center",style:{gap:"var(--space-md)"},children:[(0,t.jsxs)("h2",{ref:n,id:"contact-h",className:"max-w-[18ch]",style:{fontFamily:"var(--display)",fontWeight:600,fontSize:"var(--text-h2)",lineHeight:"1.04",letterSpacing:"-0.025em",textWrap:"balance",color:"var(--tx)"},children:["Ready to"," ",(0,t.jsx)("em",{className:"italic font-medium",style:{letterSpacing:"-0.03em",background:"var(--grad)",WebkitBackgroundClip:"text",backgroundClip:"text",WebkitTextFillColor:"transparent"},children:"build?"})]}),(0,t.jsxs)(a.default,{href:"/contact","data-cursor":"Let's talk",className:"bce-pill-cta-lg group relative inline-flex items-center justify-center gap-4 no-underline overflow-hidden transition-all duration-[450ms]",style:{padding:"20px 36px",border:"1px solid var(--line-c-2)",borderRadius:"999px",background:"transparent",color:"var(--tx)",fontFamily:"var(--display)",fontWeight:600,fontSize:"clamp(17px, 1.4vw, 20px)",letterSpacing:"-0.015em",minWidth:"min(280px, 100%)",transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)"},children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"bce-pill-fill absolute inset-0 transition-transform duration-[600ms]",style:{background:"var(--tx)",transform:"translateX(-101%)",transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)"}}),(0,t.jsx)("span",{className:"relative",children:"Contact our team"}),(0,t.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:"relative transition-transform duration-[450ms] group-hover:translate-x-[4px] group-hover:-translate-y-[3px]",children:(0,t.jsx)("path",{d:"M7 17L17 7M9 7h8v8"})})]}),(0,t.jsx)("style",{children:` 699 /* Primary CTA hover â left-to-right sweep fill matches the 700 site's unified pill-button language (CaseStudies See-all, 701 Credentials Verify). On hover the bg fill slides in from 702 the left, border goes transparent, and text inverts to 703 the bg color. Combined with the arrow slide+lift, this 704 is the signature CTA interaction. */ 705 .bce-pill-cta-lg:hover .bce-pill-fill { 706 transform: translateX(0) !important; 707 } 708 .bce-pill-cta-lg:hover { 709 border-color: transparent !important; 710 color: var(--bg) !important; 711 } 712 `})]})})}}]);
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.