{"version":3,"file":"shared-lib.DZGCWI4V.mjs","names":["useState","useRef","HG","useState","startTransition","LIME","useRef","EASE","norm","useState","useRef","_Fragment","p"],"sources":["https:/framerusercontent.com/modules/2AIu4Dmx0PtrGcOagfOa/yFysvhFMF5oex0Wir7Bv/KCursor2.js","https:/framerusercontent.com/modules/hLxTH1JpUleGbOUabpjS/OovyiW4tMgWKJItVexhf/KNav.js","https:/framerusercontent.com/modules/MF2BK6iVvgXHV7yGjWZH/ezPUhadNziqtaYZkklEu/PageTransition.js","https:/framerusercontent.com/modules/SueOo3kUy1VUl605uEZk/gWYfY5zT0j35m70g1lUn/ResponsiveRules.js","https:/framerusercontent.com/modules/hL5uVg9cU9WZMXnmjGAi/zg3oNszzowb1CtmTrJ6h/siteMetadata.js"],"sourcesContent":["// Kaliber cursor v2. Five trail styles in one component, switched by Mode:\n//  comet     a lime dot with a tapering ribbon behind it (canvas)\n//  ink       gooey lime blobs deposited along the path that dissolve (canvas + SVG goo filter)\n//  brackets  four corner brackets lagging at different rates; over a link they frame the element\n//  beads     a chain of shrinking dots on springs; over a link they gather into a ring\n//  halo      a crisp dot plus a soft glow that lags and stretches along the direction of travel\n// Hover rules, shared by every mode:\n//  - elements with a data-cursor label (\"View\", \"Open\"): the head becomes a solid lime disc with the word inside\n//  - control-like elements (a background, a border, or 10px+ of horizontal padding: buttons, menu pills, badges):\n//    the head shrinks to a point and an outline glides around the element, matching its corner radius. The outline\n//    is a clean single stroke (no dark hairline around it): lime everywhere, switching to black when the surface\n//    behind the element is itself lime, so it never disappears.\n//  - bare text links and image-only links (footer links, the logo): plain dot, no outline; those get their own CSS hover\n//  - data-cursor=\"none\" opts an element out entirely\n// Native cursor hidden. Off on touch, coarse pointers, reduced motion and under 810px. Portalled into document.body.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const HG='\"Host Grotesk\", \"Inter\", sans-serif';const lerp=(a,b,t)=>a+(b-a)*t;// does this element look like a control (button, pill, badge) rather than a bare text or image link?\nfunction isControl(el){const cs=getComputedStyle(el);const bg=cs.backgroundColor;const hasBg=!!bg&&bg!==\"transparent\"&&!/rgba\\(\\s*\\d+,\\s*\\d+,\\s*\\d+,\\s*0\\)/.test(bg);const hasBorder=parseFloat(cs.borderTopWidth)>0&&cs.borderTopStyle!==\"none\";const pad=parseFloat(cs.paddingLeft)||0;if(hasBg||hasBorder||pad>=10)return true;// a button rendered as a code component: the anchor itself may be plain but its first child is the pill\nconst child=el.firstElementChild;if(child&&child.getBoundingClientRect().width>el.getBoundingClientRect().width*.9){const c2=getComputedStyle(child);const b2=c2.backgroundColor;if(b2&&b2!==\"transparent\"&&!/rgba\\(\\s*\\d+,\\s*\\d+,\\s*\\d+,\\s*0\\)/.test(b2))return true;if(parseFloat(c2.borderTopWidth)>0&&c2.borderTopStyle!==\"none\")return true;}return false;}// is the surface behind this element the brand lime? (first opaque background among its ancestors)\nconst limeCache=new WeakMap;function onLimeSurface(el){const hit=limeCache.get(el);if(hit!==undefined)return hit;let res=false;let n=el.parentElement;for(let i=0;i<14&&n;i++,n=n.parentElement){const m=getComputedStyle(n).backgroundColor.match(/[\\d.]+/g);if(!m||m.length<3)continue;if(m.length>=4&&parseFloat(m[3])<.5)continue;const r=+m[0],g=+m[1],b=+m[2];res=g>220&&r>100&&r<200&&b<120;break;}limeCache.set(el,res);return res;}/**\n * Kaliber Cursor 2\n *\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function KCursor2(props){const{mode=\"comet\",color=\"#8CFF2F\",size=12,follow=.22,trail=1,outlinePad=6,hideNative=true,style}=props;const isStatic=useIsStaticRenderer();const[enabled,setEnabled]=useState(false);const rootRef=useRef(null);const canvasRef=useRef(null);const labelRef=useRef(null);const discRef=useRef(null);const frameRef=useRef(null);const partRefs=useRef([]);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const check=()=>{const touch=window.matchMedia(\"(hover: none)\").matches||window.matchMedia(\"(pointer: coarse)\").matches||\"ontouchstart\"in window;const reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;startTransition(()=>setEnabled(!touch&&!reduce&&window.innerWidth>=810));};check();window.addEventListener(\"resize\",check);return()=>window.removeEventListener(\"resize\",check);},[isStatic]);useEffect(()=>{if(!enabled)return;const canvas=canvasRef.current,label=labelRef.current,disc=discRef.current,frame=frameRef.current;if(!canvas||!label||!disc||!frame)return;const parts=partRefs.current.filter(Boolean);let styleEl=null;if(hideNative){styleEl=document.createElement(\"style\");styleEl.id=\"kaliber-cursor2-hide\";styleEl.textContent=`*, *::before, *::after { cursor: none !important; }`;document.head.appendChild(styleEl);}const ctx=canvas.getContext(\"2d\");const dpr=Math.min(window.devicePixelRatio||1,2);const resize=()=>{canvas.width=window.innerWidth*dpr;canvas.height=window.innerHeight*dpr;canvas.style.width=window.innerWidth+\"px\";canvas.style.height=window.innerHeight+\"px\";};resize();window.addEventListener(\"resize\",resize);const target={x:-300,y:-300};const head={x:-300,y:-300};let hover=0,hoverTarget=0,text=\"\",down=false,raf=0;let hoverEl=null,control=false,ring=color;let lastT=performance.now(),speed=0,angle=0;const points=[];const blobs=[];const chain=Array.from({length:8},()=>({x:-300,y:-300}));const corners=Array.from({length:4},()=>({x:-300,y:-300}));const glow={x:-300,y:-300};const box={x:-300,y:-300,w:0,h:0,r:999,a:0};const onMove=e=>{target.x=e.clientX;target.y=e.clientY;let el=e.target?.closest?.(\"[data-cursor], a, button, [role=button]\");const l=(el?.getAttribute?.(\"data-cursor\")??\"\").trim();if(l===\"none\")el=null;if(el!==hoverEl){hoverEl=el;const next=el&&onLimeSurface(el)?\"#000000\":color;if(next!==ring){ring=next;frame.style.borderColor=ring;}}const hasLabel=!!el&&l.length>0&&l!==\" \";control=!!el&&!hasLabel&&isControl(el);// bare text or image links: no hover state from the cursor at all\nhoverTarget=el&&(hasLabel||control)?1:0;const shown=hasLabel?l:\"\";if(shown!==text){text=shown;label.textContent=shown;}};const onDown=()=>{down=true;};const onUp=()=>{down=false;};window.addEventListener(\"mousemove\",onMove,{passive:true});window.addEventListener(\"mousedown\",onDown);window.addEventListener(\"mouseup\",onUp);const rgb=(()=>{const s=color.trim();if(s.startsWith(\"rgb\")){const m=s.match(/[\\d.]+/g)||[\"140\",\"255\",\"47\"];return`${m[0]},${m[1]},${m[2]}`;}let h=s.replace(\"#\",\"\");if(h.length===3)h=h.split(\"\").map(c=>c+c).join(\"\");const n=parseInt(h.slice(0,6),16);return`${n>>16&255},${n>>8&255},${n&255}`;})();const setPart=(i,x,y,w,h,extra=\"\")=>{const p=parts[i];if(!p)return;p.style.transform=`translate3d(${(x-w/2).toFixed(1)}px, ${(y-h/2).toFixed(1)}px, 0) ${extra}`;p.style.width=w+\"px\";p.style.height=h+\"px\";};const updateFrame=hasText=>{const want=!!hoverEl&&!hasText&&control&&mode!==\"brackets\";if(want&&hoverEl){const r=hoverEl.getBoundingClientRect();const big=r.height>120||r.width>700;const rad=big?999:Math.min(999,parseFloat(getComputedStyle(hoverEl).borderRadius)||0)+outlinePad;const tx=big?head.x-20:r.left-outlinePad,ty=big?head.y-20:r.top-outlinePad;const tw=big?40:r.width+outlinePad*2,th=big?40:r.height+outlinePad*2;if(box.a<.05){box.x=head.x-10;box.y=head.y-10;box.w=20;box.h=20;}box.x=lerp(box.x,tx,.22);box.y=lerp(box.y,ty,.22);box.w=lerp(box.w,tw,.22);box.h=lerp(box.h,th,.22);box.r=lerp(box.r,rad,.3);box.a=lerp(box.a,1,.18);}else{box.a=lerp(box.a,0,.18);box.x=lerp(box.x,head.x-10,.22);box.y=lerp(box.y,head.y-10,.22);box.w=lerp(box.w,20,.22);box.h=lerp(box.h,20,.22);}frame.style.transform=`translate3d(${box.x.toFixed(1)}px, ${box.y.toFixed(1)}px, 0)`;frame.style.width=box.w.toFixed(1)+\"px\";frame.style.height=box.h.toFixed(1)+\"px\";frame.style.borderRadius=box.r.toFixed(1)+\"px\";frame.style.opacity=box.a.toFixed(3);return want?box.a:0;};const draw=now=>{raf=requestAnimationFrame(draw);const dt=Math.min(.05,(now-lastT)/1e3);lastT=now;const dx=target.x-head.x,dy=target.y-head.y;head.x+=dx*follow;head.y+=dy*follow;const v=Math.hypot(dx,dy)*follow/Math.max(dt,.008)/60;speed=lerp(speed,v,.2);if(Math.hypot(dx,dy)>1)angle=lerp(angle,Math.atan2(dy,dx),.2);hover+=(hoverTarget-hover)*.14;const hasText=text.length>0;const press=down?.9:1;const framed=updateFrame(hasText);const discHover=hasText?hover:mode===\"brackets\"?hover:0;const discSize=hasText?64:40;const ds=discSize*discHover*press;disc.style.transform=`translate3d(${(head.x-ds/2).toFixed(1)}px, ${(head.y-ds/2).toFixed(1)}px, 0)`;disc.style.width=disc.style.height=ds.toFixed(1)+\"px\";disc.style.opacity=discHover.toFixed(3);label.style.transform=`translate3d(${head.x.toFixed(1)}px, ${head.y.toFixed(1)}px, 0) translate(-50%, -50%) scale(${(hover*(hasText?1:0)).toFixed(3)})`;label.style.opacity=hasText?hover.toFixed(3):\"0\";const shrink=Math.max(discHover,framed*.75);if(ctx&&(mode===\"comet\"||mode===\"ink\")){ctx.setTransform(dpr,0,0,dpr,0,0);ctx.clearRect(0,0,window.innerWidth,window.innerHeight);}if(mode===\"comet\"&&ctx){points.push({x:head.x,y:head.y,t:now});const life=380*trail*(1-shrink*.8);while(points.length&&now-points[0].t>life)points.shift();if(points.length>2){ctx.lineCap=\"round\";ctx.lineJoin=\"round\";for(let i=1;i<points.length;i++){const k=i/points.length;ctx.strokeStyle=`rgba(${rgb},${(k*.9*(1-shrink)).toFixed(3)})`;ctx.lineWidth=Math.max(.5,size*k);ctx.beginPath();ctx.moveTo(points[i-1].x,points[i-1].y);ctx.lineTo(points[i].x,points[i].y);ctx.stroke();}}const r=size/2*(1-shrink*.7)*press;ctx.fillStyle=color;ctx.beginPath();ctx.arc(head.x,head.y,Math.max(0,r),0,Math.PI*2);ctx.fill();if(framed>.05){ctx.fillStyle=\"#000\";ctx.beginPath();ctx.arc(head.x,head.y,Math.max(0,r*.45*framed),0,Math.PI*2);ctx.fill();}}if(mode===\"ink\"&&ctx){if((speed>.15||blobs.length===0)&&shrink<.5)blobs.push({x:head.x,y:head.y,r:size*(.9+Math.min(speed,3)*.25),t:now});const life=900*trail;for(let i=blobs.length-1;i>=0;i--)if(now-blobs[i].t>life)blobs.splice(i,1);ctx.fillStyle=color;for(const b of blobs){const k=1-(now-b.t)/life;ctx.globalAlpha=Math.min(1,k*1.4)*(1-shrink*.8);ctx.beginPath();ctx.arc(b.x,b.y,b.r*(.35+.65*k),0,Math.PI*2);ctx.fill();}ctx.globalAlpha=1;ctx.beginPath();ctx.arc(head.x,head.y,size*(1-shrink*.7)*press,0,Math.PI*2);ctx.fill();ctx.fillStyle=\"#000\";ctx.beginPath();ctx.arc(head.x,head.y,size*.45*(1-shrink*.7)*press,0,Math.PI*2);ctx.fill();}if(mode===\"brackets\"){const rates=[.42,.3,.22,.15];const gap=size*1.4*press;let tx,ty;if(hoverEl&&hover>.5&&(control||hasText)){const r=hoverEl.getBoundingClientRect();const pad=8;tx=[r.left-pad,r.right+pad,r.left-pad,r.right+pad];ty=[r.top-pad,r.top-pad,r.bottom+pad,r.bottom+pad];}else{tx=[head.x-gap,head.x+gap,head.x-gap,head.x+gap];ty=[head.y-gap,head.y-gap,head.y+gap,head.y+gap];}corners.forEach((c,i)=>{c.x=lerp(c.x,tx[i],rates[i]*(hover>.5?.6:1));c.y=lerp(c.y,ty[i],rates[i]*(hover>.5?.6:1));setPart(i,c.x,c.y,12,12,`rotate(${[0,90,-90,180][i]}deg)`);});if(!hasText)disc.style.opacity=\"0\";}if(mode===\"beads\"){chain[0].x=head.x;chain[0].y=head.y;for(let i=1;i<chain.length;i++){let gx=chain[i-1].x,gy=chain[i-1].y;if(hover>.5){const a=i/(chain.length-1)*Math.PI*2;const rr=hasText?30:16;gx=head.x+Math.cos(a)*rr*hover;gy=head.y+Math.sin(a)*rr*hover;}const k=hover>.5?.25:.32/trail;chain[i].x=lerp(chain[i].x,gx,k);chain[i].y=lerp(chain[i].y,gy,k);}chain.forEach((c,i)=>{const d=i===0?size*(1-shrink*.6):hover>.5?size*(hasText?.5:.35):size*(1-i/chain.length)*.85;setPart(i,c.x,c.y,Math.max(2,d*press),Math.max(2,d*press));});}if(mode===\"halo\"){glow.x=lerp(glow.x,head.x,.1);glow.y=lerp(glow.y,head.y,.1);const base=size*7*(1-shrink*.6);const stretch=1+Math.min(speed,3)*.25*(1-shrink);setPart(0,glow.x,glow.y,base*trail,base*trail,`rotate(${angle.toFixed(3)}rad) scale(${stretch.toFixed(3)}, ${(1/stretch).toFixed(3)})`);const p0=parts[0];if(p0)p0.style.opacity=(.55+hover*.35).toFixed(2);const d=size*(1-shrink*.7)*press;setPart(1,head.x,head.y,Math.max(0,d),Math.max(0,d));}};raf=requestAnimationFrame(draw);return()=>{cancelAnimationFrame(raf);styleEl?.remove();window.removeEventListener(\"resize\",resize);window.removeEventListener(\"mousemove\",onMove);window.removeEventListener(\"mousedown\",onDown);window.removeEventListener(\"mouseup\",onUp);};},[enabled,mode,color,size,follow,trail,outlinePad,hideNative]);if(!enabled)return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:0,height:0}});const partCount=mode===\"brackets\"?4:mode===\"beads\"?8:mode===\"halo\"?2:0;const partStyle=i=>{const base={position:\"absolute\",left:0,top:0,willChange:\"transform\"};if(mode===\"brackets\")return{...base,borderTop:`2px solid ${color}`,borderLeft:`2px solid ${color}`,boxSizing:\"border-box\"};if(mode===\"beads\")return{...base,borderRadius:\"50%\",background:color};if(mode===\"halo\")return i===0?{...base,borderRadius:\"50%\",background:`radial-gradient(circle, ${color} 0%, rgba(140,255,47,0.35) 40%, transparent 70%)`,filter:\"blur(10px)\",mixBlendMode:\"screen\"}:{...base,borderRadius:\"50%\",background:\"#000\",border:`2px solid ${color}`,boxSizing:\"border-box\"};return base;};const overlay=/*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{position:\"fixed\",left:0,top:0,width:\"100vw\",height:\"100vh\",pointerEvents:\"none\",zIndex:2147483e3,overflow:\"hidden\"},\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"svg\",{width:\"0\",height:\"0\",style:{position:\"absolute\"},children:/*#__PURE__*/_jsxs(\"filter\",{id:\"kc2-goo\",children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:\"SourceGraphic\",stdDeviation:\"6\",result:\"b\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"b\",mode:\"matrix\",values:\"1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 22 -10\"})]})}),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",left:0,top:0,display:mode===\"comet\"||mode===\"ink\"?\"block\":\"none\",filter:mode===\"ink\"?\"url(#kc2-goo)\":\"none\"}}),Array.from({length:partCount},(_,i)=>/*#__PURE__*/_jsx(\"div\",{ref:n=>{if(n)partRefs.current[i]=n;},style:partStyle(i)},mode+i)),/*#__PURE__*/_jsx(\"div\",{ref:frameRef,style:{position:\"absolute\",left:0,top:0,border:`2px solid ${color}`,boxSizing:\"border-box\",transition:\"border-color 0.2s\",willChange:\"transform, width, height\",opacity:0}}),/*#__PURE__*/_jsx(\"div\",{ref:discRef,style:{position:\"absolute\",left:0,top:0,borderRadius:\"50%\",background:color,willChange:\"transform\",opacity:0}}),/*#__PURE__*/_jsx(\"div\",{ref:labelRef,style:{position:\"absolute\",left:0,top:0,fontFamily:HG,fontWeight:800,fontSize:12,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#000\",whiteSpace:\"nowrap\",willChange:\"transform\",opacity:0}})]});return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:1,height:1,pointerEvents:\"none\"},children:typeof document!==\"undefined\"?/*#__PURE__*/createPortal(overlay,document.body):null});}addPropertyControls(KCursor2,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"comet\",\"ink\",\"brackets\",\"beads\",\"halo\"],optionTitles:[\"Comet\",\"Ink trail\",\"Brackets\",\"Beads\",\"Halo drag\"],defaultValue:\"comet\"},color:{type:ControlType.Color,title:\"Colour\",defaultValue:\"#8CFF2F\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:12,min:4,max:40,unit:\"px\"},follow:{type:ControlType.Number,title:\"Follow\",defaultValue:.22,min:.05,max:1,step:.01},trail:{type:ControlType.Number,title:\"Trail\",defaultValue:1,min:.2,max:3,step:.1},outlinePad:{type:ControlType.Number,title:\"Outline gap\",defaultValue:6,min:0,max:20,unit:\"px\"},hideNative:{type:ControlType.Boolean,title:\"Hide native\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KCursor2\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"100\",\"framerIntrinsicWidth\":\"100\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./KCursor2.map","// Kaliber nav: real Kaliber logo (exported from the Figma file, lime mark + outlined wordmark), centred menu pill,\n// CTA. Pins itself to the top of the viewport (position fixed inside the component). Flies in from above\n// (Intro control, default 1s) and shrinks with a blur once the page scrolls (same slow easing). Collapses to a burger\n// under the Collapse width (default 1100px, so tablets get the burger too); the burger opens a full-screen black\n// menu with staggered links. The CTA hovers like the page buttons.\n// The menu is defined here, not per instance, so every page shows the same six links in the same order:\n//   Home (page) · Studio (page) · Work (page) · Why (Home section \"Why\") · Process (Home section \"Process\") · Contact (page)\n// Pages route through Framer's Link by page id, so they resolve the same in Preview and on the published site.\n// \"Which page am I on\" comes from the Page control. Left on Auto it is read from the old Active number using the old\n// link order (0 Home, 1 Work, 2 Studio, 4 Contact), so instances placed before this change keep working untouched.\n//  Logo / Home: on Home it returns to the top; anywhere else it goes Home.\n//  Why / Process: on Home the nav finds the section (the tallest visible layer with that name; if none, the block that\n//  holds the section's heading text) and travels to it. From another page it stores the section name for the session,\n//  routes Home, and the Home nav moves there on arrival, behind the page transition, retrying while the page settles.\n//  Travel: short hops ease through Smooth Scroll. Long hops (more than 1.5 screens, which on Home always means\n//  crossing the locked cube or the pinned Why section) happen behind a brief black veil: fade, move at once, fade\n//  back. Nothing is scrolled through, so the scroll locks never see it. The move itself is a plain window.scrollTo\n//  plus a sync event for Smooth Scroll, so it does not depend on any other component being up to date.\n// Entrance: only on a fresh load. Menu and CTA wait for \"kaliber:reveal\"; during a logo intro the nav logo stays\n// hidden in place until \"kaliber:logo\" fires, then fades in as the travelling logo lands on it.\n// Continuity: when the page was reached by a route change inside the site (the page transition's session flag is\n// set) or while a cover is being flown across (#kaliber-flight is in the document), the nav skips its entrance and\n// simply renders in place, so across a page change it reads as one bar that never left. After a flight it starts\n// compact and eases back to full height. All props are null-safe.\n// Theme hand-over: the page transition announces \"kaliber:navtheme\" (light / dark) as its sheet passes under the bar,\n// so the bar flips to the destination page's ink at that moment instead of going invisible against the sheet.\n// Links outside the nav: one capture-phase click listener covers the footers. A LINK whose text is exactly \"Process\"\n// or \"Why\" gets the same section travel as the menu. Footer text that reads exactly as a menu item but has no link on\n// the canvas is routed by clicking a hidden Link anchor this nav always renders (same router, same transition).\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{motion,AnimatePresence,useScroll,useMotionValueEvent}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer,Link}from\"framer\";const LIME=\"#8CFF2F\";const EASE=[.22,1,.36,1];const GOTO=\"kaliber-goto\";const ROUTE=\"kaliber-route\";const ITEMS=[{key:\"home\",label:\"Home\",path:\"/\"},{key:\"studio\",label:\"Studio\",path:\"/studio\"},{key:\"work\",label:\"Work\",path:\"/work\"},{key:\"why\",label:\"Why\",path:\"/\",section:\"Why\"},{key:\"process\",label:\"Process\",path:\"/\",section:\"Process\"},{key:\"contact\",label:\"Contact\",path:\"/contact\"}];// how far below the viewport top a section should land, and the heading text that identifies it if its layer name is missing\nconst SECTIONS={Why:{offset:0,text:\"why kaliber\"},Process:{offset:72,text:\"how a project runs\"}};const LEGACY_ORDER=[\"home\",\"work\",\"studio\",\"none\",\"contact\"];// Framer page ids, so page links route by id instead of by path string\nconst PAGES={\"/\":\"augiA20Il\",\"/work\":\"ClhrML8qj\",\"/studio\":\"ce1lDaP7T\",\"/contact\":\"N4eEf3MDG\"};const str=(v,d)=>typeof v===\"string\"?v:d;const num=(v,d)=>typeof v===\"number\"&&!Number.isNaN(v)?v:d;const norm=p=>(p||\"\").replace(/\\/$/,\"\")||\"/\";const pageHref=path=>{const id=PAGES[norm(path)];return id?{webPageId:id}:path;};function Go({to,skip,children}){return skip?children:/*#__PURE__*/_jsx(Link,{href:to,openInNewTab:false,smoothScroll:false,children:children});}function useReveal(isStatic,instant){const[ready,setReady]=useState(isStatic||instant);const[logoReady,setLogoReady]=useState(isStatic||instant);const[handoff,setHandoff]=useState(false);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const html=document.documentElement;const pending=html.hasAttribute(\"data-kaliber-pending\")&&!html.hasAttribute(\"data-kaliber-revealed\");const hand=html.getAttribute(\"data-kaliber-logo\")===\"handoff\";startTransition(()=>{setHandoff(hand);if(!pending)setReady(true);if(!hand)setLogoReady(true);});const onReveal=()=>startTransition(()=>{setReady(true);if(!hand)setLogoReady(true);});const onLogo=()=>startTransition(()=>setLogoReady(true));window.addEventListener(\"kaliber:reveal\",onReveal);window.addEventListener(\"kaliber:logo\",onLogo);const safety=window.setTimeout(()=>startTransition(()=>{setReady(true);setLogoReady(true);}),8e3);return()=>{window.removeEventListener(\"kaliber:reveal\",onReveal);window.removeEventListener(\"kaliber:logo\",onLogo);window.clearTimeout(safety);};},[isStatic]);return{ready,logoReady,handoff};}function KaliberLogo({height,color}){return /*#__PURE__*/_jsxs(\"svg\",{width:207/40*height,height:height,viewBox:\"0 0 207 40\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",\"aria-label\":\"Kaliber Studio\",role:\"img\",children:[/*#__PURE__*/_jsxs(\"g\",{fill:color,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M64.127 13.332H60.8459L56.0769 18.5329V13.332H53.4062V26.6675H56.0769V22.0001L57.3168 20.6665L61.0176 26.6675H64.2796L59.2244 18.6091L64.127 13.332Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M70.1896 13.332L65.3252 26.6643H68.1294L69.1658 23.6734H74.2464L75.2829 26.6643H78.1061L73.2227 13.332H70.1896ZM69.8875 21.6L71.7061 16.3484L73.5247 21.6H69.8844H69.8875Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M82.4753 13.332H79.8047V26.6675H88.3094V24.591H82.4753V13.332Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M93.1736 13.332H90.5029V26.6643H93.1736V13.332Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M104.339 20.2093C104.009 19.9966 103.64 19.8601 103.243 19.7902C103.497 19.7172 103.745 19.6219 103.977 19.5044C104.454 19.2631 104.839 18.9139 105.131 18.4567C105.424 17.9994 105.57 17.4343 105.57 16.7611C105.57 16.088 105.404 15.4752 105.074 14.9609C104.743 14.4465 104.26 14.0464 103.624 13.7607C102.988 13.4749 102.206 13.332 101.278 13.332H95.7266V26.6643H101.468C102.41 26.6643 103.208 26.5119 103.862 26.2071C104.517 25.9023 105.017 25.4736 105.36 24.9212C105.703 24.3687 105.875 23.7369 105.875 23.0256C105.875 22.4414 105.738 21.9016 105.465 21.4063C105.191 20.911 104.816 20.5109 104.339 20.2061V20.2093ZM98.4004 15.4657H100.823C101.497 15.4657 102.003 15.6149 102.34 15.9134C102.677 16.2119 102.845 16.6278 102.845 17.1612C102.845 17.6946 102.673 18.1296 102.33 18.4281C101.987 18.7265 101.491 18.8758 100.842 18.8758H98.4004V15.4657ZM102.616 24.0385C102.247 24.3433 101.726 24.4957 101.052 24.4957H98.4004V20.857H101.014C101.688 20.857 102.216 21.0221 102.597 21.3524C102.979 21.6826 103.169 22.1334 103.169 22.7049C103.169 23.2765 102.985 23.7337 102.616 24.0385Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M107.878 26.6675H116.71V24.5148H110.549V20.9332H116.138V18.8567H110.549V15.4848H116.71V13.332H107.878V26.6675Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M129.021 21.7715C128.76 21.2507 128.388 20.8253 127.905 20.4951C128.35 20.1268 128.706 19.6854 128.973 19.1711C129.24 18.6567 129.374 18.0947 129.374 17.4851C129.374 16.6976 129.199 15.9896 128.849 15.3609C128.499 14.7323 127.971 14.2369 127.266 13.875C126.56 13.513 125.666 13.332 124.585 13.332H118.92V26.6643H121.591V21.6159H124.605C125.126 21.6159 125.539 21.6857 125.845 21.8254C126.15 21.9651 126.375 22.1779 126.522 22.4636C126.668 22.7494 126.754 23.1145 126.779 23.5591L126.989 26.6643H129.602L129.45 23.5591C129.424 22.8859 129.281 22.289 129.021 21.7683V21.7715ZM126.131 18.9329C125.775 19.2885 125.202 19.4663 124.414 19.4663H121.591V15.5038H124.414C125.202 15.5038 125.775 15.6784 126.131 16.0277C126.487 16.377 126.665 16.8627 126.665 17.4851C126.665 18.1074 126.487 18.5773 126.131 18.9329Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M144.783 18.9521L142.799 18.5901C142.163 18.4758 141.715 18.2789 141.454 17.9995C141.194 17.7201 141.063 17.4026 141.063 17.047C141.063 16.6152 141.187 16.2786 141.435 16.0373C141.683 15.796 141.988 15.6246 142.351 15.5229C142.713 15.4213 143.054 15.3705 143.371 15.3705C143.715 15.3705 144.058 15.4277 144.402 15.542C144.745 15.6563 145.044 15.8627 145.298 16.1611C145.553 16.4596 145.724 16.8946 145.813 17.4661H148.293C148.204 16.4501 147.934 15.6214 147.482 14.98C147.031 14.3386 146.446 13.8655 145.727 13.5607C145.009 13.2559 144.198 13.1035 143.295 13.1035C142.392 13.1035 141.642 13.2623 140.93 13.5798C140.218 13.8973 139.652 14.3513 139.232 14.9419C138.812 15.5325 138.602 16.2469 138.602 17.0851C138.602 18.0122 138.914 18.8155 139.537 19.495C140.16 20.1745 141.038 20.6222 142.17 20.8381L144.325 21.2381C145.025 21.3651 145.476 21.5747 145.68 21.8668C145.883 22.1589 145.985 22.4891 145.985 22.8574C145.985 23.1877 145.88 23.4861 145.67 23.7528C145.46 24.0195 145.174 24.2291 144.812 24.3815C144.449 24.5339 144.033 24.6101 143.562 24.6101C143.155 24.6101 142.736 24.5402 142.303 24.4005C141.871 24.2608 141.493 24.0164 141.168 23.6671C140.844 23.3178 140.625 22.8193 140.51 22.1716H138.068C138.145 23.0226 138.355 23.7496 138.698 24.3529C139.041 24.9562 139.47 25.4452 139.985 25.8198C140.501 26.1945 141.063 26.4675 141.674 26.639C142.284 26.8105 142.895 26.8962 143.505 26.8962C144.115 26.8962 144.713 26.8041 145.298 26.6199C145.883 26.4358 146.414 26.1691 146.891 25.8198C147.368 25.4706 147.749 25.0419 148.036 24.5339C148.322 24.0259 148.465 23.4417 148.465 22.7812C148.465 21.6128 148.134 20.7333 147.473 20.1427C146.812 19.5522 145.915 19.1553 144.783 18.9521Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M149.553 15.4848H153.444V26.6675H156.112V15.4848H159.984V13.332H149.553V15.4848Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M169.884 21.5238C169.884 22.489 169.646 23.2161 169.169 23.7051C168.692 24.1941 168.027 24.4386 167.175 24.4386C166.323 24.4386 165.659 24.1941 165.182 23.7051C164.705 23.2161 164.467 22.489 164.467 21.5238V13.332H161.796V21.5048C161.796 22.7113 162.034 23.7146 162.511 24.5148C162.988 25.3149 163.627 25.9118 164.428 26.3055C165.23 26.6992 166.126 26.8961 167.118 26.8961C168.11 26.8961 169.019 26.6992 169.846 26.3055C170.673 25.9118 171.331 25.3149 171.82 24.5148C172.31 23.7146 172.555 22.7113 172.555 21.5048V13.332H169.884V21.5238Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M183.435 14.1607C182.423 13.6083 181.136 13.332 179.572 13.332H174.879V26.6643H179.572C181.136 26.6643 182.423 26.3881 183.435 25.8356C184.446 25.2831 185.196 24.5052 185.685 23.5019C186.175 22.4986 186.42 21.3301 186.42 19.9966C186.42 18.663 186.175 17.4787 185.685 16.4817C185.196 15.4848 184.446 14.71 183.435 14.1576V14.1607ZM183.291 22.3525C183.024 23.0066 182.582 23.5082 181.966 23.8575C181.349 24.2068 180.5 24.3814 179.419 24.3814H177.55V15.6022H179.419C180.5 15.6022 181.349 15.7769 181.966 16.1261C182.582 16.4754 183.024 16.9802 183.291 17.6407C183.558 18.3011 183.692 19.0885 183.692 20.0029C183.692 20.9174 183.558 21.7016 183.291 22.3557V22.3525Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M191.38 13.332H188.709V26.6643H191.38V13.332Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M206.151 16.4088C205.585 15.3737 204.8 14.5641 203.795 13.9798C202.79 13.3956 201.62 13.1035 200.285 13.1035C198.95 13.1035 197.796 13.3956 196.785 13.9798C195.774 14.5641 194.985 15.3737 194.419 16.4088C193.853 17.4439 193.57 18.6409 193.57 19.9998C193.57 21.3588 193.853 22.5558 194.419 23.5909C194.985 24.626 195.774 25.4356 196.785 26.0198C197.796 26.6041 198.962 26.8962 200.285 26.8962C201.608 26.8962 202.79 26.6041 203.795 26.0198C204.8 25.4356 205.585 24.626 206.151 23.5909C206.717 22.5558 207 21.3588 207 19.9998C207 18.6409 206.717 17.4439 206.151 16.4088ZM203.795 22.4002C203.464 23.0734 203.003 23.5909 202.412 23.9529C201.821 24.3148 201.118 24.4958 200.304 24.4958C199.49 24.4958 198.784 24.3148 198.187 23.9529C197.589 23.5909 197.125 23.0734 196.794 22.4002C196.463 21.7271 196.298 20.927 196.298 19.9998C196.298 19.0727 196.463 18.2726 196.794 17.5995C197.125 16.9263 197.589 16.4088 198.187 16.0468C198.784 15.6849 199.49 15.5039 200.304 15.5039C201.118 15.5039 201.821 15.6849 202.412 16.0468C203.003 16.4088 203.464 16.9263 203.795 17.5995C204.126 18.2726 204.291 19.0727 204.291 19.9998C204.291 20.927 204.126 21.7271 203.795 22.4002Z\"})]}),/*#__PURE__*/_jsxs(\"g\",{fill:LIME,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M20.0234 20.0068L8.80993 39.4067C8.59692 39.7751 8.20586 40.0005 7.77983 40.0005H0.791654C0.352906 40.0005 0 39.6449 0 39.2099V32.2373C0 31.8119 0.225733 31.4213 0.594535 31.2086L20.0234 20.0068Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M20.0298 19.9968H20.0234L0.594535 8.79505C0.225733 8.58231 0 8.19178 0 7.76631V0.790602C0 0.355612 0.356085 0 0.791654 0H7.77983C8.20586 0 8.59692 0.225433 8.80993 0.593745L20.0234 19.9936H20.0266L20.0298 19.9968Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M40.0566 0.790602V7.76631C40.0566 8.19178 39.8309 8.58231 39.4621 8.79505L20.0332 19.9968L31.2467 0.593745C31.4597 0.225433 31.8508 0 32.2768 0H39.265C39.7037 0 40.0566 0.355612 40.0566 0.790602Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M40.0566 32.2373V39.2099C40.0566 39.648 39.7006 40.0005 39.265 40.0005H32.2768C31.8508 40.0005 31.4597 39.7751 31.2467 39.4067L20.0332 20.0068H20.0364L39.4621 31.2086C39.8309 31.4213 40.0566 31.8119 40.0566 32.2373Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M20.0234 20.0029L0.99831 25.0926C0.495976 25.226 0 24.8481 0 24.3274V15.6721C0 15.1513 0.492797 14.7735 0.99831 14.9069L20.0203 19.9966H20.0234V20.0029Z\"})]})]});}function NavCTA({label,link,intro,isStatic,ready}){const ref=useRef(null);const[on,setOn]=useState(false);const[origin,setOrigin]=useState({x:50,y:50});const font={fontFamily:'\"Host Grotesk\", \"Inter\", sans-serif',fontWeight:800,fontSize:16,letterSpacing:\"-0.01em\"};const at=e=>{const r=ref.current?.getBoundingClientRect();if(!r)return;setOrigin({x:(e.clientX-r.left)/r.width*100,y:(e.clientY-r.top)/r.height*100});};return /*#__PURE__*/_jsx(Link,{href:pageHref(link),openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsxs(motion.a,{ref:ref,href:link,\"data-cursor\":\" \",onMouseEnter:e=>{at(e);startTransition(()=>setOn(true));},onMouseLeave:e=>{at(e);startTransition(()=>setOn(false));},initial:isStatic?false:{y:-16,opacity:0},animate:ready?{y:0,opacity:1}:{y:-16,opacity:0},transition:{duration:intro,ease:EASE,delay:ready?intro*.45:0},style:{...font,position:\"relative\",overflow:\"hidden\",color:\"#000\",background:LIME,textDecoration:\"none\",height:52,padding:\"0 24px\",borderRadius:999,display:\"flex\",alignItems:\"center\",gap:12,whiteSpace:\"nowrap\",flex:\"0 0 auto\",isolation:\"isolate\"},children:[/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":true,animate:{clipPath:on?`circle(150% at ${origin.x}% ${origin.y}%)`:`circle(0% at ${origin.x}% ${origin.y}%)`},transition:{duration:on?.55:.4,ease:EASE},style:{position:\"absolute\",inset:0,background:\"#000\",borderRadius:999,zIndex:0}}),/*#__PURE__*/_jsx(motion.span,{animate:{color:on?LIME:\"#000\",y:on?-1:0},transition:{duration:.3},style:{position:\"relative\",zIndex:1},children:label}),/*#__PURE__*/_jsx(motion.svg,{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":true,animate:{rotate:on?-45:0,stroke:on?LIME:\"#000000\"},transition:{duration:.35,ease:EASE},style:{position:\"relative\",zIndex:1},children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 5l7 7-7 7\",strokeWidth:\"2.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]})});}// The section for a name. First choice: the tallest visible layer carrying that layer name (footer link text with the\n// same name and hidden breakpoint copies are too small to qualify). Fallback: the heading that contains the section's\n// known text, walked up to the first block that is at least 320px tall and nearly full width.\nfunction findSection(name){if(typeof document===\"undefined\"||!name)return null;let best=null,bestH=0;try{document.querySelectorAll(`[data-framer-name=\"${name.replace(/\"/g,\"\")}\"]`).forEach(el=>{const r=el.getBoundingClientRect();if(r.width>0&&r.height>=160&&r.height>bestH){best=el;bestH=r.height;}});}catch{}if(best)return best;const want=SECTIONS[name]?.text;if(!want)return null;const heads=Array.from(document.querySelectorAll(\"h1, h2, h3\"));for(const h of heads){const text=(h.textContent||\"\").replace(/\\s+/g,\" \").trim().toLowerCase();if(!text.includes(want)||h.getBoundingClientRect().width===0)continue;let el=h;while(el&&el!==document.body){const r=el.getBoundingClientRect();if(r.height>=320&&r.width>=window.innerWidth*.9)return el;el=el.parentElement;}}return null;}function sectionY(name){const el=findSection(name);if(!el)return null;return Math.max(0,el.getBoundingClientRect().top+window.scrollY-(SECTIONS[name]?.offset??60));}// move now: the scroll itself never depends on another component; the event only keeps Smooth Scroll in step\nfunction jumpTo(y){const top=Math.max(0,y);window.dispatchEvent(new CustomEvent(\"kaliber:jumpto\",{detail:top}));window.scrollTo(0,top);}function easeTo(y){const top=Math.max(0,y);if(window.__kaliberSmooth)window.dispatchEvent(new CustomEvent(\"kaliber:scrollto\",{detail:top}));else window.scrollTo({top,behavior:\"smooth\"});}// short hops ease; long hops happen behind a veil so pinned and locked sections are never scrolled through\nfunction travelTo(getY){const y=getY();if(y===null)return;if(Math.abs(y-window.scrollY)<window.innerHeight*1.5){easeTo(y);return;}document.getElementById(\"kaliber-veil\")?.remove();const veil=document.createElement(\"div\");veil.id=\"kaliber-veil\";veil.style.cssText=\"position:fixed;inset:0;background:#000;opacity:0;z-index:49;pointer-events:none;transition:opacity 0.24s ease\";document.body.appendChild(veil);requestAnimationFrame(()=>{veil.style.opacity=\"1\";});window.setTimeout(()=>{const at=getY();jumpTo(at===null?y:at);// once more after layout has caught up with the move\nwindow.setTimeout(()=>{const again=getY();if(again!==null&&Math.abs(again-window.scrollY)>2)jumpTo(again);},60);window.setTimeout(()=>{veil.style.transition=\"opacity 0.45s ease\";veil.style.opacity=\"0\";window.setTimeout(()=>veil.remove(),480);},120);},260);}/**\n * Kaliber Nav\n *\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 96\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function KNav(props){const ctaLabel=str(props.ctaLabel,\"Start a Conversation\"),ctaLink=str(props.ctaLink,\"/contact\");const logoHeight=num(props.logoHeight,36),intro=num(props.intro,1),collapse=num(props.collapse,1100);const[themeOver,setThemeOver]=useState(\"\");const theme=themeOver||(props.theme===\"light\"?\"light\":\"dark\");const style=props.style;const routes=useRef(null);const chosen=str(props.page,\"auto\");const pageKey=chosen!==\"auto\"?chosen:LEGACY_ORDER[num(props.activeIndex,0)]||\"none\";const onHome=pageKey===\"home\";const isStatic=useIsStaticRenderer();// a cover is being flown in from the previous page: no entrance, the nav is simply there\nconst[arriving]=useState(()=>typeof document!==\"undefined\"&&!!document.getElementById(\"kaliber-flight\"));// reached by a route change inside the site (the page transition reads and clears this flag after we render)\nconst[routed]=useState(()=>{try{return typeof window!==\"undefined\"&&!!sessionStorage.getItem(ROUTE);}catch{return false;}});const instant=arriving||routed;const still=isStatic||instant;const{ready,logoReady,handoff}=useReveal(isStatic,instant);const[scrolled,setScrolled]=useState(arriving);const[open,setOpen]=useState(false);const[narrow,setNarrow]=useState(()=>instant?window.innerWidth<collapse:false);const[phone,setPhone]=useState(()=>instant?window.innerWidth<810:false);const{scrollY}=useScroll();useMotionValueEvent(scrollY,\"change\",v=>{const s=v>40;if(s!==scrolled)startTransition(()=>setScrolled(s));});useEffect(()=>{if(!arriving||typeof window===\"undefined\")return;const r=requestAnimationFrame(()=>startTransition(()=>setScrolled(window.scrollY>40)));return()=>cancelAnimationFrame(r);},[arriving]);useEffect(()=>{if(typeof window===\"undefined\")return;const check=()=>startTransition(()=>{setNarrow(window.innerWidth<collapse);setPhone(window.innerWidth<810);});check();window.addEventListener(\"resize\",check);return()=>window.removeEventListener(\"resize\",check);},[collapse]);// arriving on Home with a section to show (stored by the nav on the page we came from, or a #hash on a direct\n// visit): move there at once, behind the page transition, and keep correcting while the page settles\nuseEffect(()=>{if(isStatic||!onHome||typeof window===\"undefined\")return;let name=\"\";try{name=sessionStorage.getItem(GOTO)||\"\";sessionStorage.removeItem(GOTO);}catch{}if(!name){try{name=decodeURIComponent(window.location.hash.replace(\"#\",\"\"));}catch{name=\"\";}}if(!name||!SECTIONS[name])return;let tries=0,stopped=false,timer=0;const stop=()=>{stopped=true;};const attempt=()=>{if(stopped)return;const y=sectionY(name);if(y!==null&&Math.abs(window.scrollY-y)>2)jumpTo(y);if(++tries<20)timer=window.setTimeout(attempt,120);};attempt();window.addEventListener(\"wheel\",stop,{passive:true});window.addEventListener(\"touchstart\",stop,{passive:true});return()=>{stopped=true;window.clearTimeout(timer);window.removeEventListener(\"wheel\",stop);window.removeEventListener(\"touchstart\",stop);};},[isStatic,onHome]);// the page transition's sheet is passing under the bar: take the destination page's ink now\nuseEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const onTheme=e=>{const d=e.detail;startTransition(()=>setThemeOver(d===\"light\"||d===\"dark\"?d:\"\"));};window.addEventListener(\"kaliber:navtheme\",onTheme);return()=>window.removeEventListener(\"kaliber:navtheme\",onTheme);},[isStatic]);// links and link-like footer text outside the nav\nuseEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const route=key=>{const a=routes.current?.querySelector(`a[data-kaliber-route=\"${key}\"]`);if(a)a.click();};const onDocClick=e=>{if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const t=e.target;if(!t||!t.closest)return;if(t.closest('nav[aria-label=\"Main\"], [data-kaliber-menu], [data-kaliber-routes], button, input, textarea, select, label, form'))return;const a=t.closest(\"a\");const holder=a||t.closest(\"p, h1, h2, h3, h4, h5, h6, span, div\");if(!holder)return;const label=(holder.textContent||\"\").trim().toLowerCase();if(!label||label.length>12)return;const it=ITEMS.find(i=>i.label.toLowerCase()===label);if(!it)return;if(a){// a real link: only the two section items need help\nif(!it.section)return;const section=it.section;if(onHome){e.preventDefault();e.stopPropagation();travelTo(()=>sectionY(section));}else{try{sessionStorage.setItem(GOTO,section);}catch{}}return;}// unlinked text: only treated as a link inside a footer\nconst r=holder.getBoundingClientRect();const fromBottom=document.documentElement.scrollHeight-(r.bottom+window.scrollY);if(!holder.closest('[data-framer-name*=\"Footer\"], footer')&&fromBottom>700)return;e.preventDefault();if(it.section){const section=it.section;if(onHome)travelTo(()=>sectionY(section));else{try{sessionStorage.setItem(GOTO,section);}catch{}route(\"home\");}}else if(it.key===\"home\"&&onHome)travelTo(()=>0);else if(it.key!==pageKey)route(it.key);};window.addEventListener(\"click\",onDocClick,true);return()=>window.removeEventListener(\"click\",onDocClick,true);},[isStatic,onHome,pageKey]);// skip = handled in-page (no router). Off Home a section link is a normal link Home that leaves a note behind.\nconst resolve=it=>{if(it.section)return onHome?{to:\"\",path:`#${it.section}`,skip:true}:{to:pageHref(\"/\"),path:\"/\",skip:false};if(it.key===\"home\"&&onHome)return{to:\"\",path:\"#top\",skip:true};return{to:pageHref(it.path),path:it.path,skip:false};};const onNav=(e,it)=>{if(isStatic||typeof window===\"undefined\")return;const r=resolve(it);if(!r.skip){try{if(it.section)sessionStorage.setItem(GOTO,it.section);else sessionStorage.removeItem(GOTO);}catch{}return;}e.preventDefault();e.stopPropagation();startTransition(()=>setOpen(false));const section=it.section;// when the burger menu was open, let it start closing before the veil comes in\nwindow.setTimeout(()=>travelTo(()=>section?sectionY(section):0),open?200:0);};const HOME=ITEMS[0];const dark=theme===\"dark\"||open;const fg=dark?\"#FFFFFF\":\"#000000\";const pillBg=dark?\"rgba(255,255,255,0.08)\":\"rgba(0,0,0,0.05)\";const pillBorder=dark?\"rgba(255,255,255,0.12)\":\"rgba(0,0,0,0.08)\";const onBg=dark?\"rgba(255,255,255,0.14)\":\"rgba(0,0,0,0.08)\";const font={fontFamily:'\"Host Grotesk\", \"Inter\", sans-serif',fontWeight:700,fontSize:16,letterSpacing:\"-0.01em\"};const compact=scrolled&&!isStatic;const pad=compact?36:60;const sidePad=phone?24:narrow?40:pad;const slow={duration:intro,ease:EASE};const hidden={y:-16,opacity:0};const shown={y:0,opacity:1};const barHidden=handoff?{y:0,opacity:0}:{y:-40,opacity:0};const logo=resolve(HOME);return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",width:\"100%\",height:isStatic?96:0,zIndex:50},children:[/*#__PURE__*/_jsx(\"div\",{ref:routes,\"data-kaliber-routes\":true,\"aria-hidden\":true,style:{display:\"none\"},children:ITEMS.filter(it=>!it.section).map(it=>/*#__PURE__*/_jsx(Link,{href:pageHref(it.path),openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(\"a\",{href:it.path,\"data-kaliber-route\":it.key,tabIndex:-1,children:it.label})},it.key))}),/*#__PURE__*/_jsxs(motion.nav,{\"aria-label\":\"Main\",initial:still?false:barHidden,animate:{y:ready||handoff?0:-40,opacity:ready||logoReady?1:0,paddingLeft:sidePad,paddingRight:sidePad,height:compact?72:96},transition:{...slow,delay:0,opacity:{duration:.01}},style:{position:isStatic?\"relative\":\"fixed\",top:0,left:0,right:0,width:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",boxSizing:\"border-box\",background:compact?dark?\"rgba(0,0,0,0.55)\":\"rgba(247,253,242,0.7)\":\"transparent\",backdropFilter:compact?\"blur(18px)\":\"none\",WebkitBackdropFilter:compact?\"blur(18px)\":\"none\",transition:`background ${intro}s ease, backdrop-filter ${intro}s ease`,zIndex:60},children:[/*#__PURE__*/_jsx(Go,{to:logo.to,skip:logo.skip,children:/*#__PURE__*/_jsx(motion.a,{href:logo.path,\"data-transition\":logo.skip?\"skip\":undefined,onClick:e=>onNav(e,HOME),\"aria-label\":\"Kaliber Studios home\",initial:still?false:handoff?{y:0,opacity:0}:hidden,animate:logoReady?shown:handoff?{y:0,opacity:0}:hidden,transition:handoff?{duration:.35,ease:\"easeOut\"}:{...slow,delay:logoReady&&!instant?intro*.15:0},style:{display:\"flex\",alignItems:\"center\",textDecoration:\"none\"},children:/*#__PURE__*/_jsx(KaliberLogo,{height:phone?30:logoHeight,color:fg})})}),!narrow&&/*#__PURE__*/_jsx(motion.div,{initial:still?false:hidden,animate:ready?shown:hidden,transition:{...slow,delay:ready&&!instant?intro*.3:0},style:{display:\"flex\",gap:4,padding:\"8px 10px\",borderRadius:999,background:pillBg,border:`1px solid ${pillBorder}`,backdropFilter:\"blur(20px)\"},children:ITEMS.map(it=>{const r=resolve(it);return /*#__PURE__*/_jsx(Go,{to:r.to,skip:r.skip,children:/*#__PURE__*/_jsx(\"a\",{href:r.path,\"data-transition\":r.skip?\"skip\":undefined,onClick:e=>onNav(e,it),\"data-cursor\":\" \",style:{...font,color:fg,textDecoration:\"none\",padding:\"0 16px\",height:40,display:\"flex\",alignItems:\"center\",borderRadius:999,background:it.key===pageKey?onBg:\"transparent\",transition:\"background 0.3s\",whiteSpace:\"nowrap\"},children:it.label})},it.key);})}),!narrow&&/*#__PURE__*/_jsx(NavCTA,{label:ctaLabel,link:ctaLink,intro:intro,isStatic:still,ready:ready}),narrow&&/*#__PURE__*/_jsxs(motion.button,{\"aria-label\":open?\"Close menu\":\"Open menu\",\"aria-expanded\":open,onClick:()=>startTransition(()=>setOpen(!open)),initial:still?false:hidden,animate:ready?shown:hidden,transition:{...slow,delay:ready&&!instant?intro*.3:0},style:{width:44,height:44,borderRadius:22,border:`1.5px solid ${dark?\"rgba(255,255,255,0.35)\":\"rgba(0,0,0,0.3)\"}`,background:\"transparent\",position:\"relative\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(motion.span,{animate:{rotate:open?45:0,y:open?4:0},style:{position:\"absolute\",left:12,top:16,width:18,height:2,background:fg,display:\"block\"}}),/*#__PURE__*/_jsx(motion.span,{animate:{rotate:open?-45:0,y:open?-4:0},style:{position:\"absolute\",left:12,top:24,width:18,height:2,background:fg,display:\"block\"}})]})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open&&narrow&&/*#__PURE__*/_jsxs(motion.div,{\"data-kaliber-menu\":true,initial:{clipPath:\"inset(0 0 100% 0)\"},animate:{clipPath:\"inset(0 0 0% 0)\"},exit:{clipPath:\"inset(0 0 100% 0)\"},transition:{duration:.6,ease:EASE},style:{position:\"fixed\",inset:0,background:\"#000\",zIndex:55,display:\"flex\",flexDirection:\"column\",justifyContent:\"flex-end\",padding:phone?\"0 24px 48px\":\"0 40px 64px\"},children:[ITEMS.map((it,i)=>{const r=resolve(it);return /*#__PURE__*/_jsx(Go,{to:r.to,skip:r.skip,children:/*#__PURE__*/_jsx(motion.a,{href:r.path,\"data-transition\":r.skip?\"skip\":undefined,onClick:e=>onNav(e,it),initial:{y:40,opacity:0},animate:{y:0,opacity:1},transition:{delay:.15+i*.06,duration:.5,ease:EASE},style:{...font,fontWeight:800,fontSize:phone?48:72,letterSpacing:\"-0.04em\",lineHeight:1.05,color:it.key===pageKey?LIME:\"#fff\",textDecoration:\"none\"},children:it.label})},it.key);}),/*#__PURE__*/_jsx(Link,{href:pageHref(ctaLink),openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{href:ctaLink,initial:{y:40,opacity:0},animate:{y:0,opacity:1},transition:{delay:.55,duration:.5},style:{...font,fontWeight:800,color:\"#000\",background:LIME,textDecoration:\"none\",height:60,borderRadius:999,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",marginTop:32,maxWidth:phone?\"100%\":360},children:ctaLabel})})]})})]});}addPropertyControls(KNav,{page:{type:ControlType.Enum,title:\"Page\",options:[\"auto\",\"home\",\"studio\",\"work\",\"contact\",\"none\"],optionTitles:[\"Auto (from Active)\",\"Home\",\"Studio\",\"Work\",\"Contact\",\"Other\"],defaultValue:\"auto\",description:\"Which page this nav sits on. Case studies count as Work. Home also switches the logo, Why and Process to in-page travel.\"},activeIndex:{type:ControlType.Number,title:\"Active (old)\",defaultValue:0,min:0,max:8,displayStepper:true,hidden:p=>p.page&&p.page!==\"auto\",description:\"Only read while Page is Auto: 0 Home, 1 Work, 2 Studio, 4 Contact.\"},ctaLabel:{type:ControlType.String,title:\"CTA\",defaultValue:\"Start a Conversation\"},ctaLink:{type:ControlType.Link,title:\"CTA Link\",defaultValue:\"/contact\"},logoHeight:{type:ControlType.Number,title:\"Logo height\",defaultValue:36,min:20,max:60,unit:\"px\"},intro:{type:ControlType.Number,title:\"Intro\",defaultValue:1,min:.2,max:3,step:.1,unit:\"s\"},collapse:{type:ControlType.Number,title:\"Collapse\",defaultValue:1100,min:600,max:1400,step:10,unit:\"px\"},theme:{type:ControlType.Enum,title:\"Theme\",options:[\"dark\",\"light\"],optionTitles:[\"On dark\",\"On light\"],defaultValue:\"dark\",displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KNav\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"96\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1440\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./KNav.map","// Kaliber page transition (\"Lift\"). One fixed overlay that handles three moments:\n//  1. First visit (no token, or token older than Expiry days): the logo intro on a black field. The five pieces of the\n//     K mark assemble from the centre, the wordmark wipes in, a counter runs 00 to 100 while the page's assets load.\n//     Then the logo travels to the nav's logo position and crossfades into the nav's own logo (the nav holds its logo\n//     hidden until the \"kaliber:logo\" event). Sets the token, so it plays once per Expiry period per browser: to see\n//     it again use \"Always (test)\" or a private window.\n//  2. Return visits: the page is uncovered by the same rising window as a route arrival, no logo.\n//  3. Route changes, one lift.\n//     Leaving: the click is caught in the capture phase. The current page falls back: dimmed and out of focus (a\n//     haze, 0.45s). Then the same click is re-dispatched with a bypass flag so Framer's router navigates. Links\n//     marked data-transition=\"skip\" and same-page anchors are left alone. There is no sheet on the way out.\n//     Arriving: the new page rises up through that haze. A window with tall rounded leading corners and a lime edge\n//     travels across the screen (up from the bottom going forward; down from the top going back, to Home or to a\n//     shallower path such as a case study back to Work) and the new page is what is inside it; everything the\n//     window has not reached yet stays dim and out of focus. The named hero layers come up 72px from blurred to\n//     sharp as the window reaches them (BLUR_CSS below adds this to the entrance stagger Responsive Rules owns).\n//     Until the window reaches the nav, the nav is told to use its dark ink (\"kaliber:navtheme\"), so a light page's\n//     black nav text does not sit on the dark haze.\n//     Hand-over: the new page's overlay is rendered in its very first commit, already hazed, in the direction carried\n//     by the session flag; and a plain DOM haze (#kaliber-hold) is left on the body across the route change and\n//     removed two frames after the new overlay exists, so nothing can flash between the two pages. If the\n//     re-dispatched click leads nowhere the haze clears again after a moment.\n//  4. Image flight: when a page mounts with a #kaliber-flight element in the document there is no cover at all.\n// Scrolling is held during a transition by swallowing wheel / touch / key events. The page's overflow is never\n// touched: hiding the scrollbar changes the page width and makes everything twitch sideways when it comes back.\n// Sits under the nav (z-index 49) except during the logo intro. Nothing may block the page for more than 5s.\n// Reveal contract: <html data-kaliber-pending> on mount; \"kaliber:reveal\" + <html data-kaliber-revealed> part-way\n// through the reveal; <html data-kaliber-logo=\"handoff\"> during a logo intro and \"kaliber:logo\" when it lands.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{createPortal}from\"react-dom\";import{motion,AnimatePresence}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const LIME=\"#8CFF2F\";const HG='\"Host Grotesk\", \"Inter\", sans-serif';const EASE=[.22,1,.36,1];const HEAVY=[.76,0,.24,1];const TOKEN=\"kaliber-visited\";const FLAG=\"kaliber-route\";const KNOWN=/^\\/(work(\\/[\\w-]+)?|studio|contact|404)?$/;const IN_MS=450;const OUT_MS=1150;const SCRIM=\"rgba(0,0,0,0.62)\";const BLUR=\"blur(12px)\";// blur-to-sharp and a longer rise for the small hero layers (names as in RISE in ResponsiveRules.tsx). Big containers\n// (grids, forms, whole case bodies) are left out on purpose: blurring them costs too much.\nconst RISERS=[\"Hero Chip\",\"Hero Word\",\"Hero Copy\",\"Hero Lede\",\"Contact Chip\",\"Contact Headline\",\"Contact Lede\",\"Contact Email\",\"Contact Meta\",\"Work Chip\",\"Work Head\",\"Case Back\"];const RISER_SEL=RISERS.map(n=>`[data-framer-name=\"${n}\"]`).join(\", \");const BLUR_CSS=`\nhtml:root[data-kaliber-pending]:not([data-kaliber-revealed]) :is(${RISER_SEL}) { filter: blur(18px); transform: translateY(72px) scale(0.985) !important; transform-origin: 0% 100%; }\nhtml:root[data-kaliber-pending][data-kaliber-revealed] :is(${RISER_SEL}) { filter: none; transition: opacity 0.9s ease-out, transform 1.25s cubic-bezier(0.22, 1, 0.36, 1), filter 1.1s cubic-bezier(0.22, 1, 0.36, 1); }\n@media (prefers-reduced-motion: reduce) { html:root[data-kaliber-pending] :is(${RISER_SEL}) { filter: none !important; transform: none !important; } }\n`;const MARK=[\"M20.0234 20.0068L8.80993 39.4067C8.59692 39.7751 8.20586 40.0005 7.77983 40.0005H0.791654C0.352906 40.0005 0 39.6449 0 39.2099V32.2373C0 31.8119 0.225733 31.4213 0.594535 31.2086L20.0234 20.0068Z\",\"M20.0298 19.9968H20.0234L0.594535 8.79505C0.225733 8.58231 0 8.19178 0 7.76631V0.790602C0 0.355612 0.356085 0 0.791654 0H7.77983C8.20586 0 8.59692 0.225433 8.80993 0.593745L20.0234 19.9936H20.0266L20.0298 19.9968Z\",\"M40.0566 0.790602V7.76631C40.0566 8.19178 39.8309 8.58231 39.4621 8.79505L20.0332 19.9968L31.2467 0.593745C31.4597 0.225433 31.8508 0 32.2768 0H39.265C39.7037 0 40.0566 0.355612 40.0566 0.790602Z\",\"M40.0566 32.2373V39.2099C40.0566 39.648 39.7006 40.0005 39.265 40.0005H32.2768C31.8508 40.0005 31.4597 39.7751 31.2467 39.4067L20.0332 20.0068H20.0364L39.4621 31.2086C39.8309 31.4213 40.0566 31.8119 40.0566 32.2373Z\",\"M20.0234 20.0029L0.99831 25.0926C0.495976 25.226 0 24.8481 0 24.3274V15.6721C0 15.1513 0.492797 14.7735 0.99831 14.9069L20.0203 19.9966H20.0234V20.0029Z\"];const WORD=[\"M64.127 13.332H60.8459L56.0769 18.5329V13.332H53.4062V26.6675H56.0769V22.0001L57.3168 20.6665L61.0176 26.6675H64.2796L59.2244 18.6091L64.127 13.332Z\",\"M70.1896 13.332L65.3252 26.6643H68.1294L69.1658 23.6734H74.2464L75.2829 26.6643H78.1061L73.2227 13.332H70.1896ZM69.8875 21.6L71.7061 16.3484L73.5247 21.6H69.8844H69.8875Z\",\"M82.4753 13.332H79.8047V26.6675H88.3094V24.591H82.4753V13.332Z\",\"M93.1736 13.332H90.5029V26.6643H93.1736V13.332Z\",\"M104.339 20.2093C104.009 19.9966 103.64 19.8601 103.243 19.7902C103.497 19.7172 103.745 19.6219 103.977 19.5044C104.454 19.2631 104.839 18.9139 105.131 18.4567C105.424 17.9994 105.57 17.4343 105.57 16.7611C105.57 16.088 105.404 15.4752 105.074 14.9609C104.743 14.4465 104.26 14.0464 103.624 13.7607C102.988 13.4749 102.206 13.332 101.278 13.332H95.7266V26.6643H101.468C102.41 26.6643 103.208 26.5119 103.862 26.2071C104.517 25.9023 105.017 25.4736 105.36 24.9212C105.703 24.3687 105.875 23.7369 105.875 23.0256C105.875 22.4414 105.738 21.9016 105.465 21.4063C105.191 20.911 104.816 20.5109 104.339 20.2061V20.2093ZM98.4004 15.4657H100.823C101.497 15.4657 102.003 15.6149 102.34 15.9134C102.677 16.2119 102.845 16.6278 102.845 17.1612C102.845 17.6946 102.673 18.1296 102.33 18.4281C101.987 18.7265 101.491 18.8758 100.842 18.8758H98.4004V15.4657ZM102.616 24.0385C102.247 24.3433 101.726 24.4957 101.052 24.4957H98.4004V20.857H101.014C101.688 20.857 102.216 21.0221 102.597 21.3524C102.979 21.6826 103.169 22.1334 103.169 22.7049C103.169 23.2765 102.985 23.7337 102.616 24.0385Z\",\"M107.878 26.6675H116.71V24.5148H110.549V20.9332H116.138V18.8567H110.549V15.4848H116.71V13.332H107.878V26.6675Z\",\"M129.021 21.7715C128.76 21.2507 128.388 20.8253 127.905 20.4951C128.35 20.1268 128.706 19.6854 128.973 19.1711C129.24 18.6567 129.374 18.0947 129.374 17.4851C129.374 16.6976 129.199 15.9896 128.849 15.3609C128.499 14.7323 127.971 14.2369 127.266 13.875C126.56 13.513 125.666 13.332 124.585 13.332H118.92V26.6643H121.591V21.6159H124.605C125.126 21.6159 125.539 21.6857 125.845 21.8254C126.15 21.9651 126.375 22.1779 126.522 22.4636C126.668 22.7494 126.754 23.1145 126.779 23.5591L126.989 26.6643H129.602L129.45 23.5591C129.424 22.8859 129.281 22.289 129.021 21.7683V21.7715ZM126.131 18.9329C125.775 19.2885 125.202 19.4663 124.414 19.4663H121.591V15.5038H124.414C125.202 15.5038 125.775 15.6784 126.131 16.0277C126.487 16.377 126.665 16.8627 126.665 17.4851C126.665 18.1074 126.487 18.5773 126.131 18.9329Z\",\"M144.783 18.9521L142.799 18.5901C142.163 18.4758 141.715 18.2789 141.454 17.9995C141.194 17.7201 141.063 17.4026 141.063 17.047C141.063 16.6152 141.187 16.2786 141.435 16.0373C141.683 15.796 141.988 15.6246 142.351 15.5229C142.713 15.4213 143.054 15.3705 143.371 15.3705C143.715 15.3705 144.058 15.4277 144.402 15.542C144.745 15.6563 145.044 15.8627 145.298 16.1611C145.553 16.4596 145.724 16.8946 145.813 17.4661H148.293C148.204 16.4501 147.934 15.6214 147.482 14.98C147.031 14.3386 146.446 13.8655 145.727 13.5607C145.009 13.2559 144.198 13.1035 143.295 13.1035C142.392 13.1035 141.642 13.2623 140.93 13.5798C140.218 13.8973 139.652 14.3513 139.232 14.9419C138.812 15.5325 138.602 16.2469 138.602 17.0851C138.602 18.0122 138.914 18.8155 139.537 19.495C140.16 20.1745 141.038 20.6222 142.17 20.8381L144.325 21.2381C145.025 21.3651 145.476 21.5747 145.68 21.8668C145.883 22.1589 145.985 22.4891 145.985 22.8574C145.985 23.1877 145.88 23.4861 145.67 23.7528C145.46 24.0195 145.174 24.2291 144.812 24.3815C144.449 24.5339 144.033 24.6101 143.562 24.6101C143.155 24.6101 142.736 24.5402 142.303 24.4005C141.871 24.2608 141.493 24.0164 141.168 23.6671C140.844 23.3178 140.625 22.8193 140.51 22.1716H138.068C138.145 23.0226 138.355 23.7496 138.698 24.3529C139.041 24.9562 139.47 25.4452 139.985 25.8198C140.501 26.1945 141.063 26.4675 141.674 26.639C142.284 26.8105 142.895 26.8962 143.505 26.8962C144.115 26.8962 144.713 26.8041 145.298 26.6199C145.883 26.4358 146.414 26.1691 146.891 25.8198C147.368 25.4706 147.749 25.0419 148.036 24.5339C148.322 24.0259 148.465 23.4417 148.465 22.7812C148.465 21.6128 148.134 20.7333 147.473 20.1427C146.812 19.5522 145.915 19.1553 144.783 18.9521Z\",\"M149.553 15.4848H153.444V26.6675H156.112V15.4848H159.984V13.332H149.553V15.4848Z\",\"M169.884 21.5238C169.884 22.489 169.646 23.2161 169.169 23.7051C168.692 24.1941 168.027 24.4386 167.175 24.4386C166.323 24.4386 165.659 24.1941 165.182 23.7051C164.705 23.2161 164.467 22.489 164.467 21.5238V13.332H161.796V21.5048C161.796 22.7113 162.034 23.7146 162.511 24.5148C162.988 25.3149 163.627 25.9118 164.428 26.3055C165.23 26.6992 166.126 26.8961 167.118 26.8961C168.11 26.8961 169.019 26.6992 169.846 26.3055C170.673 25.9118 171.331 25.3149 171.82 24.5148C172.31 23.7146 172.555 22.7113 172.555 21.5048V13.332H169.884V21.5238Z\",\"M183.435 14.1607C182.423 13.6083 181.136 13.332 179.572 13.332H174.879V26.6643H179.572C181.136 26.6643 182.423 26.3881 183.435 25.8356C184.446 25.2831 185.196 24.5052 185.685 23.5019C186.175 22.4986 186.42 21.3301 186.42 19.9966C186.42 18.663 186.175 17.4787 185.685 16.4817C185.196 15.4848 184.446 14.71 183.435 14.1576V14.1607ZM183.291 22.3525C183.024 23.0066 182.582 23.5082 181.966 23.8575C181.349 24.2068 180.5 24.3814 179.419 24.3814H177.55V15.6022H179.419C180.5 15.6022 181.349 15.7769 181.966 16.1261C182.582 16.4754 183.024 16.9802 183.291 17.6407C183.558 18.3011 183.692 19.0885 183.692 20.0029C183.692 20.9174 183.558 21.7016 183.291 22.3557V22.3525Z\",\"M191.38 13.332H188.709V26.6643H191.38V13.332Z\",\"M206.151 16.4088C205.585 15.3737 204.8 14.5641 203.795 13.9798C202.79 13.3956 201.62 13.1035 200.285 13.1035C198.95 13.1035 197.796 13.3956 196.785 13.9798C195.774 14.5641 194.985 15.3737 194.419 16.4088C193.853 17.4439 193.57 18.6409 193.57 19.9998C193.57 21.3588 193.853 22.5558 194.419 23.5909C194.985 24.626 195.774 25.4356 196.785 26.0198C197.796 26.6041 198.962 26.8962 200.285 26.8962C201.608 26.8962 202.79 26.6041 203.795 26.0198C204.8 25.4356 205.585 24.626 206.151 23.5909C206.717 22.5558 207 21.3588 207 19.9998C207 18.6409 206.717 17.4439 206.151 16.4088ZM203.795 22.4002C203.464 23.0734 203.003 23.5909 202.412 23.9529C201.821 24.3148 201.118 24.4958 200.304 24.4958C199.49 24.4958 198.784 24.3148 198.187 23.9529C197.589 23.5909 197.125 23.0734 196.794 22.4002C196.463 21.7271 196.298 20.927 196.298 19.9998C196.298 19.0727 196.463 18.2726 196.794 17.5995C197.125 16.9263 197.589 16.4088 198.187 16.0468C198.784 15.6849 199.49 15.5039 200.304 15.5039C201.118 15.5039 201.821 15.6849 202.412 16.0468C203.003 16.4088 203.464 16.9263 203.795 17.5995C204.126 18.2726 204.291 19.0727 204.291 19.9998C204.291 20.927 204.126 21.7271 203.795 22.4002Z\"];const norm=p=>(p||\"/\").replace(/\\/$/,\"\")||\"/\";// back = to Home, or to a shallower path than the one we are on (only trusted when the current URL is a real site path)\nfunction isBack(to){const dest=norm(to);if(dest===\"/\")return true;const here=norm(window.location.pathname);if(!KNOWN.test(here))return false;return dest.split(\"/\").filter(Boolean).length<here.split(\"/\").filter(Boolean).length;}// the session flag carries the direction from the page we left (and tells the nav it is a route change)\nfunction readFlag(){let f=\"\";try{f=typeof window===\"undefined\"?\"\":sessionStorage.getItem(FLAG)||\"\";}catch{}if(!f)return null;return{dir:f===\"down\"?\"down\":\"up\"};}function removeHold(){try{document.getElementById(\"kaliber-hold\")?.remove();}catch{}}function placeHold(){removeHold();const h=document.createElement(\"div\");h.id=\"kaliber-hold\";h.setAttribute(\"style\",`position:fixed;inset:0;z-index:48;pointer-events:none;background:${SCRIM};backdrop-filter:${BLUR};-webkit-backdrop-filter:${BLUR}`);document.body.appendChild(h);}function navTheme(detail){window.dispatchEvent(new CustomEvent(\"kaliber:navtheme\",{detail}));}function announceReveal(){document.documentElement.setAttribute(\"data-kaliber-revealed\",\"\");window.dispatchEvent(new CustomEvent(\"kaliber:reveal\"));}function announceLogo(){document.documentElement.removeAttribute(\"data-kaliber-logo\");window.dispatchEvent(new CustomEvent(\"kaliber:logo\"));}function navLogoRect(){const a=document.querySelector('a[aria-label=\"Kaliber Studios home\"] svg');if(!a)return null;const r=a.getBoundingClientRect();if(r.width===0)return null;return{left:r.left,top:r.top,height:r.height};}/**\n * Page Transition\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function PageTransition(props){const{logoIntro=true,expiryDays=30,travel=1.1,alwaysLogo=false,style}=props;const isStatic=useIsStaticRenderer();// on a route arrival (always a client render) the overlay exists from the first commit, already hazed\nconst[arrival]=useState(readFlag);const[phase,setPhase]=useState(\"cover\");const[progress,setProgress]=useState(0);const[mounted,setMounted]=useState(()=>!!arrival);const[dir,setDir]=useState(()=>arrival?.dir||\"up\");const[target,setTarget]=useState(null);const[landed,setLanded]=useState(false);const bypass=useRef(false);const phaseRef=useRef(\"cover\");const stuck=useRef(0);const introH=72;phaseRef.current=phase;useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const html=document.documentElement;html.setAttribute(\"data-kaliber-pending\",\"\");html.removeAttribute(\"data-kaliber-revealed\");html.style.overflow=\"\"// older versions of this file hid the scrollbar; never leave that behind\n;setMounted(true);let css=document.getElementById(\"kaliber-pt-blur\");if(!css){css=document.createElement(\"style\");css.id=\"kaliber-pt-blur\";document.head.appendChild(css);}css.textContent=BLUR_CSS;let first=alwaysLogo;try{const raw=localStorage.getItem(TOKEN);const ts=raw?parseInt(raw,10):0;if(!ts||Date.now()-ts>expiryDays*864e5)first=true;localStorage.setItem(TOKEN,String(Date.now()));}catch{}try{sessionStorage.removeItem(FLAG);}catch{}const fromRoute=!!arrival;// our own overlay is in the document now: the plain haze left by the last page can go once it has painted\nconst r1=requestAnimationFrame(()=>requestAnimationFrame(removeHold));// image flight arriving: no cover, reveal at once so the flying cover can land on the page\nconst flight=(()=>{try{return!!document.getElementById(\"kaliber-flight\");}catch{return false;}})();if(flight){removeHold();setPhase(\"idle\");const t=window.setTimeout(announceReveal,30);return()=>{window.clearTimeout(t);cancelAnimationFrame(r1);};}const timers=[];if(first&&logoIntro&&!fromRoute){html.setAttribute(\"data-kaliber-logo\",\"handoff\");setPhase(\"intro\");let p=0,raf=0;const start=performance.now();const loaded={v:document.readyState===\"complete\"};const onLoad=()=>{loaded.v=true;};window.addEventListener(\"load\",onLoad);const T=Math.max(.4,travel)*1e3;const tick=t=>{const el=(t-start)/1e3;const tgt=loaded.v?100:Math.min(90,el*45);p+=(tgt-p)*.08;startTransition(()=>setProgress(Math.round(p)));if(p>99.5&&el>1.8){startTransition(()=>setProgress(100));// the whole hand-over is scheduled here, so no later phase change can cancel it\ntimers.push(window.setTimeout(()=>{setTarget(navLogoRect());setPhase(\"travel\");timers.push(window.setTimeout(()=>setPhase(\"out\"),T*.45));timers.push(window.setTimeout(()=>{setLanded(true);announceLogo();},T));},380));return;}raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);// nothing may block the page: if the intro stalls, let it through with the logo\ntimers.push(window.setTimeout(()=>{if(phaseRef.current!==\"idle\"){announceLogo();announceReveal();setPhase(\"idle\");}},9e3));return()=>{cancelAnimationFrame(raf);cancelAnimationFrame(r1);timers.forEach(window.clearTimeout);window.removeEventListener(\"load\",onLoad);};}// hold a beat on a route arrival so the new page has painted under the haze before the window opens\ntimers.push(window.setTimeout(()=>setPhase(\"out\"),fromRoute?180:200));// watchdogs: a cover must never sit on the page\ntimers.push(window.setTimeout(()=>{if(phaseRef.current===\"cover\")setPhase(\"out\");},2500));timers.push(window.setTimeout(()=>{if(phaseRef.current!==\"idle\"){removeHold();navTheme(\"\");announceReveal();setPhase(\"idle\");}},5e3));return()=>{timers.forEach(window.clearTimeout);cancelAnimationFrame(r1);};},[isStatic]);useEffect(()=>{if(phase!==\"out\")return;// the hero sits at the top of the page: a window coming down meets it at once, one coming up meets it late\nconst atNav=OUT_MS*(dir===\"down\"?.12:.78);navTheme(\"dark\");const n=window.setTimeout(()=>navTheme(\"\"),atNav);const a=window.setTimeout(announceReveal,OUT_MS*(dir===\"down\"?.12:.5));const t=window.setTimeout(()=>{if(document.documentElement.getAttribute(\"data-kaliber-logo\"))announceLogo();setPhase(\"idle\");},OUT_MS+150+(target?travel*500:0));return()=>{window.clearTimeout(n);window.clearTimeout(a);window.clearTimeout(t);};},[phase,dir]);// hold the scroll while anything is covering, without touching overflow (no scrollbar jump)\nuseEffect(()=>{if(isStatic||typeof window===\"undefined\"||phase===\"idle\")return;const stop=e=>{e.preventDefault();e.stopPropagation();};const keys=e=>{if([\" \",\"PageDown\",\"PageUp\",\"ArrowDown\",\"ArrowUp\",\"Home\",\"End\"].includes(e.key))stop(e);};const opt={capture:true,passive:false};window.addEventListener(\"wheel\",stop,opt);window.addEventListener(\"touchmove\",stop,opt);window.addEventListener(\"keydown\",keys,true);return()=>{window.removeEventListener(\"wheel\",stop,opt);window.removeEventListener(\"touchmove\",stop,opt);window.removeEventListener(\"keydown\",keys,true);};},[phase,isStatic]);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const release=()=>{try{sessionStorage.removeItem(FLAG);}catch{}removeHold();navTheme(\"\");if(phaseRef.current===\"in\"){announceReveal();setPhase(\"idle\");}};const onClick=e=>{if(bypass.current){bypass.current=false;return;}if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const a=e.target?.closest?.(\"a[href]\");if(!a)return;if(a.dataset.transition===\"skip\")return;const href=a.getAttribute(\"href\")||\"\";if(a.target===\"_blank\"||href.startsWith(\"#\")||href.startsWith(\"mailto:\")||href.startsWith(\"tel:\"))return;let url;try{url=new URL(a.href,window.location.href);}catch{return;}if(url.origin!==window.location.origin)return;if(url.pathname===window.location.pathname&&url.hash)return;if(url.pathname===window.location.pathname&&!url.search)return;if(phaseRef.current!==\"idle\"){e.preventDefault();e.stopPropagation();return;}e.preventDefault();e.stopPropagation();const back=isBack(url.pathname);try{sessionStorage.setItem(FLAG,back?\"down\":\"up\");}catch{}setDir(back?\"down\":\"up\");setPhase(\"in\");window.setTimeout(()=>{if(!a.isConnected){release();return;}placeHold();bypass.current=true;a.click();bypass.current=false;// still here a moment later means the router had nowhere to go: let the page back out\nwindow.clearTimeout(stuck.current);stuck.current=window.setTimeout(release,2200);},IN_MS+40);};document.addEventListener(\"click\",onClick,true);return()=>{document.removeEventListener(\"click\",onClick,true);window.clearTimeout(stuck.current);};},[isStatic]);if(isStatic||!mounted||typeof document===\"undefined\")return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:1,height:1}});const covering=phase===\"intro\"||phase===\"travel\"||phase===\"cover\"||phase===\"in\";const visible=phase!==\"idle\";const introOn=phase===\"intro\"||phase===\"travel\";const rising=phase===\"in\";const R=48;const down=dir===\"down\";const Tout=OUT_MS/1e3;const lead=down?{borderBottomLeftRadius:R,borderBottomRightRadius:R}:{borderTopLeftRadius:R,borderTopRightRadius:R};const leadOut=down?{borderBottomLeftRadius:[R,R,0],borderBottomRightRadius:[R,R,0]}:{borderTopLeftRadius:[R,R,0],borderTopRightRadius:[R,R,0]};const cornerT={duration:Tout,times:[0,.86,1]};const corners={borderTopLeftRadius:cornerT,borderTopRightRadius:cornerT,borderBottomLeftRadius:cornerT,borderBottomRightRadius:cornerT};const haze={position:\"absolute\",inset:0,background:SCRIM,backdropFilter:BLUR,WebkitBackdropFilter:BLUR};const cover=/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\"},children:rising?/* the page we are leaving falls back: dimmed and out of focus *//*#__PURE__*/_jsx(motion.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:IN_MS/1e3,ease:\"easeOut\"},style:haze},\"scrim\"):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{initial:false,animate:{y:covering?\"0%\":down?\"100%\":\"-100%\"},transition:covering?{duration:0}:{duration:Tout,ease:HEAVY},style:haze},\"haze-\"+dir),/*#__PURE__*/_jsx(motion.div,{initial:false,animate:covering?{y:down?\"-100%\":\"100%\",...lead}:{y:\"0%\",...leadOut},transition:covering?{duration:0}:{duration:Tout,ease:HEAVY,...corners},style:{position:\"absolute\",inset:0,boxShadow:`${down?\"0 3px\":\"0 -3px\"} 0 0 ${LIME}, 0 0 0 ${R}px ${SCRIM}`}},\"window-\"+dir)]})});const pieces=[4,1,2,0,3];const logoW=207/40*introH;const vw=typeof window!==\"undefined\"?window.innerWidth:1440;const vh=typeof window!==\"undefined\"?window.innerHeight:900;const centre={left:vw/2-logoW/2,top:vh/2-introH/2-26,height:introH};const flyTo=target||{left:60,top:30,height:36};const travelling=phase!==\"intro\";// route changes and return visits sit under the nav; the logo intro covers everything\nconst z=!introOn&&!(phase===\"out\"&&target)?49:900;const overlay=/*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":true,style:{position:\"fixed\",inset:0,zIndex:z,pointerEvents:visible?\"auto\":\"none\",visibility:visible?\"visible\":\"hidden\"},children:[cover,/*#__PURE__*/_jsx(AnimatePresence,{children:introOn&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:1},exit:{opacity:0,transition:{duration:.35}},style:{position:\"absolute\",inset:0,background:\"#000\"}},\"field\")}),/*#__PURE__*/_jsx(AnimatePresence,{children:(introOn||phase===\"out\"&&target&&!landed)&&/*#__PURE__*/_jsx(motion.div,{initial:false,animate:{left:travelling?flyTo.left:centre.left,top:travelling?flyTo.top:centre.top,height:travelling?flyTo.height:centre.height,width:travelling?207/40*flyTo.height:logoW,opacity:landed?0:1},transition:{duration:travelling?travel:0,ease:EASE,opacity:{duration:.3}},exit:{opacity:0,transition:{duration:.25}},style:{position:\"absolute\",left:centre.left,top:centre.top,height:introH,width:logoW},children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 207 40\",width:\"100%\",height:\"100%\",style:{display:\"block\",overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"g\",{fill:LIME,children:pieces.map((p,i)=>/*#__PURE__*/_jsx(motion.path,{d:MARK[p],initial:{opacity:0,scale:.2},animate:{opacity:1,scale:1},transition:{duration:.6,ease:EASE,delay:.15+i*.12},style:{transformOrigin:\"20px 20px\"}},p))}),/*#__PURE__*/_jsx(motion.g,{fill:\"#ffffff\",initial:{clipPath:\"inset(0 100% 0 0)\",opacity:0},animate:{clipPath:\"inset(0 0% 0 0)\",opacity:1},transition:{duration:.8,ease:EASE,delay:.8},children:WORD.map((d,i)=>/*#__PURE__*/_jsx(\"path\",{d:d},i))})]})},\"logo\")}),/*#__PURE__*/_jsx(AnimatePresence,{children:phase===\"intro\"&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:.25}},transition:{delay:1,duration:.4},style:{position:\"absolute\",left:\"50%\",top:`calc(50% + ${introH/2+22}px)`,transform:\"translateX(-50%)\",display:\"flex\",alignItems:\"center\",gap:14,fontFamily:HG,fontWeight:700,fontSize:14,letterSpacing:\"0.1em\",color:\"#8d8d8d\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:160,height:1.5,background:\"rgba(255,255,255,0.15)\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",left:0,top:0,height:\"100%\",width:`${progress}%`,background:LIME}})}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"#fff\",fontVariantNumeric:\"tabular-nums\",minWidth:36,textAlign:\"right\"},children:String(progress).padStart(2,\"0\")})]},\"counter\")})]});return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:1,height:1,pointerEvents:\"none\"},children:/*#__PURE__*/createPortal(overlay,document.body)});}addPropertyControls(PageTransition,{logoIntro:{type:ControlType.Boolean,title:\"Logo intro\",defaultValue:true},expiryDays:{type:ControlType.Number,title:\"Expiry\",defaultValue:30,min:1,max:365,unit:\"d\",hidden:p=>!p.logoIntro},alwaysLogo:{type:ControlType.Boolean,title:\"Always (test)\",defaultValue:false,hidden:p=>!p.logoIntro},travel:{type:ControlType.Number,title:\"Logo travel\",defaultValue:1.1,min:.4,max:2.5,step:.05,unit:\"s\",hidden:p=>!p.logoIntro}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PageTransition\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"1\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PageTransition.map","// Kaliber responsive rules, global hover styles and the entrance stagger. Injects phone (<810px) and tablet (810 to\n// 1199px) CSS that targets Framer layers by their layer name (Framer renders it as data-framer-name), so breakpoint\n// overrides live in one place. Also carries the text-link hover for footer and email links, and the entrance stagger\n// that the Page Transition triggers (named hero layers rise in sequence as the cover drains). Place once on every page.\n// Full-width buttons on phone: a Kaliber Button sizes its pill with an inline \"width: max-content\", so stretching the\n// link around it is not enough. FILL below stretches every wrapper and the pill itself ([role=\"button\"]), which makes\n// stacked buttons the same length whatever their labels are.\n// Text selection is on brand: lime highlight with black text everywhere, flipped to black with lime text on lime\n// surfaces (the Built section, the ticker, and anything whose inline background is the brand lime). The selection\n// rules live in a permanent style element; the rest is per instance, so a route change never strips the new page.\n// (An earlier global SVG-filter rule for outlined headlines was removed: it produced doubled lines. Clean outlines\n// are now done inside the components that need them, see StudioPage.tsx.)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/*\n  Layer names the rules expect (set in the Desktop breakpoint, names propagate to Tablet and Phone):\n  Home:     Hero, Hero Chip, Hero Word, Hero Grid, Hero Copy, Hero Column, Hero Lede, Hero Buttons,\n            Mission, Mission Shape, Mission Body, Mission Block, Mission Copy,\n            Work, Work Head, Work Intro,\n            Built, Built Grid, Built Copy, Built Lede, Built Mock, Built Points,\n            Why, Process, Process Head,\n            CTA, CTA Row, CTA Left, CTA Right, CTA Badge,\n            Footer, Footer Grid, Footer Left, Footer Right, Footer Links, Footer Pages, Footer Legal, Footer Head\n  Contact:  Contact, Contact Grid, Contact Copy, Contact Chip, Contact Headline, Contact Lede, Contact Email, Contact Meta, Contact Form\n  Work:     Work Hero, Work Chip, Work Head, Work Intro, Work List, Work Grid, CTA Row, CTA Left, CTA Right\n  Case:     Case Study, Case Back, Case Study Body, More Work\n  404:      Not Found, Not Found Body\n  Shared:   Footer, Footer Links, Footer Pages, Footer Social, Footer Legal\n*/const N=name=>`[data-framer-name=\"${name}\"]`;const STACK=`display: flex !important; flex-direction: column !important; align-items: stretch !important;`;const CHILD=`min-width: 0 !important; max-width: 100% !important; width: 100% !important; height: auto !important; min-height: 0 !important; flex: 0 0 auto !important; grid-row: auto !important; grid-column: auto !important; align-self: auto !important;`;// every Kaliber Button inside the named layer fills the layer's width\nconst FILL=name=>`\n  ${N(name)} > *, ${N(name)} > * > div:not([role=\"button\"]) { width: 100% !important; max-width: 100% !important; }\n  ${N(name)} a:has([role=\"button\"]) { display: block !important; width: 100% !important; }\n  ${N(name)} [role=\"button\"] { display: flex !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }`;// brand text selection. -webkit-text-fill-color is set too, because outlined and gradient headlines paint their text\n// with it and would otherwise stay invisible inside the highlight.\nconst ON_LIME=[N(\"Built\"),N(\"Ticker\"),`[style*=\"background: rgb(140, 255, 47)\"]`,`[style*=\"background-color: rgb(140, 255, 47)\"]`];const SELECTION=`\nhtml ::selection, ::selection { background: #8CFF2F; color: #000; -webkit-text-fill-color: #000; text-shadow: none; }\n::-moz-selection { background: #8CFF2F; color: #000; text-shadow: none; }\n${ON_LIME.map(s=>`${s}::selection, ${s} ::selection`).join(\", \")} { background: #000; color: #8CFF2F; -webkit-text-fill-color: #8CFF2F; }\n${ON_LIME.map(s=>`${s}::-moz-selection, ${s} ::-moz-selection`).join(\", \")} { background: #000; color: #8CFF2F; }\n`;const LINKS=[N(\"Footer Right\"),N(\"Footer Links\"),N(\"CTA Right\"),N(\"Footer Legal\"),N(\"Contact Email\"),N(\"Case Back\")];const HOVER=`\n/* text link hover: colour to lime, label slides right, underline draws in from the left */\n${LINKS.map(s=>`${s} a p`).join(\", \")}, ${N(\"Contact Email\")} p, ${N(\"Case Back\")} p {\n  display: inline-block; position: relative; padding-bottom: 2px;\n  background-image: linear-gradient(#8CFF2F, #8CFF2F); background-repeat: no-repeat; background-size: 0% 2px; background-position: 0 100%;\n  transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.3s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);\n}\n${LINKS.map(s=>`${s} a:hover p`).join(\", \")}, ${N(\"Contact Email\")}:hover p, ${N(\"Case Back\")}:hover p { color: #8CFF2F !important; background-size: 100% 2px; transform: translateX(6px); }\n${LINKS.map(s=>`${s} a:hover p *`).join(\", \")}, ${N(\"Contact Email\")}:hover p *, ${N(\"Case Back\")}:hover p * { color: #8CFF2F !important; }\n`;// entrance stagger, driven by the Page Transition: layers stay hidden while <html data-kaliber-pending> has no\n// data-kaliber-revealed, then rise in sequence once it is set. Without a transition on the page nothing is hidden.\nconst RISE=[[\"Hero Chip\",0],[\"Hero Word\",.08],[\"Hero Copy\",.22],[\"Hero Lede\",.34],[\"Contact Chip\",0],[\"Contact Headline\",.08],[\"Contact Lede\",.2],[\"Contact Email\",.3],[\"Contact Meta\",.38],[\"Contact Form\",.28],[\"Work Chip\",0],[\"Work Head\",.1],[\"Work Grid\",.3],[\"Case Back\",0],[\"Case Study Body\",.1],[\"Not Found Body\",.05]];const ALL=RISE.map(([n])=>N(n)).join(\", \");const REVEAL=`\nhtml[data-kaliber-pending]:not([data-kaliber-revealed]) :is(${ALL}) { opacity: 0; transform: translateY(34px); }\nhtml[data-kaliber-pending][data-kaliber-revealed] :is(${ALL}) { opacity: 1; transform: none; transition: opacity 0.9s ease-out, transform 1.15s cubic-bezier(0.22, 1, 0.36, 1); }\n${RISE.map(([n,d])=>`html[data-kaliber-pending][data-kaliber-revealed] ${N(n)} { transition-delay: ${d}s; }`).join(\"\\n\")}\n@media (prefers-reduced-motion: reduce) { html[data-kaliber-pending] :is(${ALL}) { opacity: 1 !important; transform: none !important; transition: none !important; } }\n`;const PHONE=`\n@media (max-width: 809px) {\n  ${N(\"Hero\")} { padding: 24px 24px 56px 24px !important; gap: 24px !important; }\n  ${N(\"Hero Grid\")} { ${STACK} gap: 24px !important; }\n  ${N(\"Hero Grid\")} > * { ${CHILD} }\n  ${N(\"Hero Copy\")} p, ${N(\"Hero Copy\")} h3 { font-size: 30px !important; line-height: 1.02 !important; }\n  ${N(\"Hero Column\")} { gap: 24px !important; align-items: stretch !important; }\n  ${N(\"Hero Lede\")} { max-width: 100% !important; }\n  ${N(\"Hero Lede\")} p { font-size: 18px !important; }\n  ${N(\"Hero Buttons\")} { ${STACK} width: 100% !important; align-self: stretch !important; gap: 10px !important; }\n  ${FILL(\"Hero Buttons\")}\n\n  ${N(\"Mission\")} { padding: 40px 0 72px 0 !important; }\n  ${N(\"Mission Shape\")} { width: 220px !important; height: 240px !important; top: -50px !important; left: -30px !important; }\n  ${N(\"Mission Body\")} { padding: 96px 24px 0 24px !important; }\n  ${N(\"Mission Block\")} { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }\n  ${N(\"Mission Copy\")} { max-width: 100% !important; }\n  ${N(\"Mission Copy\")} p { font-size: 24px !important; line-height: 1.3 !important; }\n\n  ${N(\"Work\")} { padding: 80px 24px 72px 24px !important; gap: 36px !important; }\n  ${N(\"Work Head\")} { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }\n  ${N(\"Work Head\")} > * { min-width: 0 !important; max-width: 100% !important; width: 100% !important; }\n  ${N(\"Work Intro\")} { max-width: 100% !important; }\n  ${N(\"Work Intro\")} p { font-size: 18px !important; }\n  ${N(\"Work Hero\")} { padding: 24px 24px 24px 24px !important; gap: 20px !important; }\n  ${N(\"Work List\")} { padding: 8px 24px 80px 24px !important; }\n  ${N(\"Case Study\")} { padding: 16px 24px 64px 24px !important; }\n  ${N(\"More Work\")} { padding: 0 24px 80px 24px !important; }\n  ${N(\"Not Found\")} { padding: 24px 24px 64px 24px !important; }\n\n  ${N(\"Built\")} { padding: 72px 24px 64px 24px !important; gap: 44px !important; }\n  ${N(\"Built Grid\")} { ${STACK} gap: 36px !important; }\n  ${N(\"Built Grid\")} > * { ${CHILD} }\n  ${N(\"Built Copy\")} { gap: 24px !important; }\n  ${N(\"Built Lede\")} { max-width: 100% !important; }\n  ${N(\"Built Lede\")} p { font-size: 18px !important; }\n  ${N(\"Built Mock\")} { padding: 0 0 40px 0 !important; }\n  ${N(\"Built Mock\")} > * { height: 300px !important; }\n  ${N(\"Built Points\")} { ${STACK} gap: 20px !important; }\n  ${N(\"Built Points\")} > * { ${CHILD} }\n\n  ${N(\"Process\")} { padding: 64px 24px 64px 24px !important; gap: 36px !important; }\n  ${N(\"Process Head\")} { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }\n  ${N(\"Process Head\")} > * { min-width: 0 !important; max-width: 100% !important; width: 100% !important; }\n  ${N(\"Process Head\")} p { font-size: 18px !important; }\n\n  ${N(\"CTA\")} { padding: 64px 0 64px 0 !important; }\n  ${N(\"CTA Row\")} { flex-direction: column !important; align-items: flex-start !important; gap: 32px !important; padding: 48px 24px 0 24px !important; }\n  ${N(\"CTA Left\")} { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }\n  ${N(\"CTA Left\")} h3 { font-size: 38px !important; }\n  ${N(\"CTA Left\")} p { font-size: 18px !important; }\n  ${N(\"CTA Right\")} { align-items: flex-start !important; width: 100% !important; }\n  ${N(\"CTA Right\")} p { font-size: 22px !important; }\n  ${N(\"CTA Right\")} > *:has([role=\"button\"]), ${N(\"CTA Right\")} > *:has([role=\"button\"]) > div:not([role=\"button\"]) { width: 100% !important; }\n  ${N(\"CTA Right\")} a:has([role=\"button\"]) { display: block !important; width: 100% !important; }\n  ${N(\"CTA Right\")} [role=\"button\"] { display: flex !important; width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }\n  ${N(\"CTA Badge\")} { width: 150px !important; height: 150px !important; }\n\n  ${N(\"Contact\")} { padding: 24px 24px 72px 24px !important; }\n  ${N(\"Contact Grid\")} { ${STACK} gap: 48px !important; }\n  ${N(\"Contact Grid\")} > * { ${CHILD} }\n  ${N(\"Contact Copy\")} { gap: 24px !important; }\n  ${N(\"Contact Headline\")} { max-width: 100% !important; }\n  ${N(\"Contact Headline\")} h2, ${N(\"Contact Headline\")} h1 { font-size: 52px !important; line-height: 0.95 !important; }\n  ${N(\"Contact Lede\")} { max-width: 100% !important; }\n  ${N(\"Contact Lede\")} p { font-size: 18px !important; }\n  ${N(\"Contact Email\")} p { font-size: 24px !important; }\n\n  ${N(\"Footer\")} { padding: 0 24px !important; }\n  ${N(\"Footer Grid\")} { ${STACK} gap: 0 !important; }\n  ${N(\"Footer Grid\")} > * { ${CHILD} }\n  ${N(\"Footer Left\")} { padding: 56px 0 24px 0 !important; gap: 24px !important; }\n  ${N(\"Footer Right\")} { padding: 8px 0 48px 0 !important; align-items: flex-start !important; gap: 40px !important; }\n  ${N(\"Footer Head\")} h2, ${N(\"Footer Right\")} h2 { font-size: 40px !important; line-height: 1.05 !important; }\n  ${N(\"Footer Right\")} p { font-size: 22px !important; }\n  ${N(\"Footer Links\")} { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }\n  ${N(\"Footer Pages\")} { grid-template-columns: 1fr 1fr !important; flex-wrap: wrap !important; gap: 12px 24px !important; }\n  ${N(\"Footer Social\")} { gap: 24px !important; }\n  ${N(\"Footer Legal\")} { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; padding: 24px 0 32px 0 !important; }\n}`;const TABLET=`\n@media (min-width: 810px) and (max-width: 1199px) {\n  ${N(\"Hero\")} { padding: 40px 40px 72px 40px !important; gap: 28px !important; }\n  ${N(\"Hero Grid\")} { ${STACK} gap: 28px !important; }\n  ${N(\"Hero Grid\")} > * { ${CHILD} }\n  ${N(\"Hero Copy\")} p, ${N(\"Hero Copy\")} h3 { font-size: 40px !important; }\n  ${N(\"Hero Column\")} { gap: 28px !important; }\n  ${N(\"Hero Lede\")} { max-width: 600px !important; }\n\n  ${N(\"Mission\")} { padding: 50px 0 100px 0 !important; }\n  ${N(\"Mission Shape\")} { width: 340px !important; height: 300px !important; top: -80px !important; left: -40px !important; }\n  ${N(\"Mission Body\")} { padding: 90px 40px 0 40px !important; }\n  ${N(\"Mission Block\")} { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }\n  ${N(\"Mission Copy\")} p { font-size: 32px !important; }\n\n  ${N(\"Work\")} { padding: 110px 40px 90px 40px !important; gap: 44px !important; }\n  ${N(\"Work Head\")} { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }\n  ${N(\"Work Head\")} > * { min-width: 0 !important; max-width: 100% !important; width: 100% !important; }\n  ${N(\"Work Hero\")} { padding: 40px 40px 32px 40px !important; }\n  ${N(\"Work List\")} { padding: 16px 40px 96px 40px !important; }\n  ${N(\"Case Study\")} { padding: 32px 40px 80px 40px !important; }\n  ${N(\"More Work\")} { padding: 0 40px 96px 40px !important; }\n  ${N(\"Not Found\")} { padding: 32px 40px 72px 40px !important; }\n\n  ${N(\"Built\")} { padding: 96px 40px 80px 40px !important; gap: 56px !important; }\n  ${N(\"Built Grid\")} { ${STACK} gap: 48px !important; }\n  ${N(\"Built Grid\")} > * { ${CHILD} }\n  ${N(\"Built Copy\")} { gap: 28px !important; }\n  ${N(\"Built Lede\")} { max-width: 600px !important; }\n  ${N(\"Built Mock\")} { padding: 0 0 48px 0 !important; max-width: 620px !important; }\n  ${N(\"Built Mock\")} > * { height: 460px !important; }\n  ${N(\"Built Points\")} { grid-template-columns: 1fr 1fr !important; gap: 28px 32px !important; }\n\n  ${N(\"Process\")} { padding: 90px 40px 90px 40px !important; gap: 44px !important; }\n  ${N(\"Process Head\")} { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }\n  ${N(\"Process Head\")} > * { min-width: 0 !important; max-width: 100% !important; width: 100% !important; }\n\n  ${N(\"CTA Row\")} { flex-wrap: wrap !important; justify-content: space-between !important; align-items: center !important; padding: 72px 40px 0 40px !important; gap: 40px 32px !important; }\n  ${N(\"CTA Left\")} { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }\n  ${N(\"CTA Left\")} h3 { font-size: 48px !important; }\n  ${N(\"CTA Right\")} { align-items: flex-end !important; }\n\n  ${N(\"Contact\")} { padding: 48px 40px 96px 40px !important; }\n  ${N(\"Contact Grid\")} { ${STACK} gap: 56px !important; }\n  ${N(\"Contact Grid\")} > * { ${CHILD} }\n  ${N(\"Contact Headline\")} { max-width: 640px !important; }\n  ${N(\"Contact Headline\")} h2, ${N(\"Contact Headline\")} h1 { font-size: 96px !important; }\n  ${N(\"Contact Lede\")} { max-width: 560px !important; }\n  ${N(\"Contact Form\")} { max-width: 720px !important; }\n\n  ${N(\"Footer\")} { padding: 0 40px !important; }\n  ${N(\"Footer Grid\")} { ${STACK} }\n  ${N(\"Footer Grid\")} > * { ${CHILD} }\n  ${N(\"Footer Left\")} { padding: 60px 0 16px 0 !important; gap: 32px !important; }\n  ${N(\"Footer Right\")} { padding: 16px 0 60px 0 !important; align-items: flex-start !important; gap: 56px !important; }\n  ${N(\"Footer Head\")} h2, ${N(\"Footer Right\")} h2 { font-size: 56px !important; }\n}`;/**\n * Responsive Rules\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ResponsiveRules(props){const{extra=\"\",style}=props;useEffect(()=>{if(typeof document===\"undefined\")return;// the selection rules live in a permanent element that no page ever removes\nlet sel=document.getElementById(\"kaliber-selection\");if(!sel){sel=document.createElement(\"style\");sel.id=\"kaliber-selection\";document.head.appendChild(sel);}if(sel.textContent!==SELECTION)sel.textContent=SELECTION;// every instance owns its own element: on a route change the new page's element is created before the old\n// page's cleanup runs, so the rules are never removed from under the page that needs them\nconst el=document.createElement(\"style\");el.setAttribute(\"data-kaliber-rules\",\"\");el.textContent=HOVER+\"\\n\"+REVEAL+\"\\n\"+PHONE+\"\\n\"+TABLET+\"\\n\"+extra;document.head.appendChild(el);document.getElementById(\"kaliber-defs\")?.remove();document.getElementById(\"kaliber-responsive-rules\")?.remove();return()=>{el.remove();};},[extra]);return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:1,height:1,pointerEvents:\"none\"},\"aria-hidden\":true});}addPropertyControls(ResponsiveRules,{extra:{type:ControlType.String,title:\"Extra CSS\",defaultValue:\"\",displayTextArea:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ResponsiveRules\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"1\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ResponsiveRules.map","// Generated by Framer (95da0c7)\nexport default function metadata(params,activeLocale){return{description:\"Made with Framer\",robots:\"max-image-preview:large\",title:\"My Framer Site\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}