{"version":3,"file":"shared-lib.C0SqQVBJ.mjs","names":["React.useState","p","React.useRef","React.useState","c","p","React.useRef","p","React.useRef","React.useState","CSS","_Fragment","c","linkOf","Mark","p","React.useRef","React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/IfJSH2mvoveWg59Hmpiu/Nlmtww58L8XmTRfepaVP/NordlysKit.js","https:/framer.com/m/NordlysKit-9OaTZJ.js","https:/framerusercontent.com/modules/rEWO1j04p4DlGtxr4dv9/x94xzhOPsngCgdVzZbQB/Parts.js","https:/framerusercontent.com/modules/D1dCXIbPiWIw14qMZWfe/rV1KVXHFU0Dy4xrsJHBu/RibbedLight.js","https:/framer.com/m/RibbedLight-2bJ0rO.js","https:/framerusercontent.com/modules/112pVqA7oAWrYp2i8Shb/hzmxiLY4JgwwnrvwH4Cz/Footer.js","https:/framerusercontent.com/modules/jArNk2tfwpAZXIUvVzFa/PG0yXlC5YSrVKEa4C8mF/Nav.js"],"sourcesContent":["// NordlysKit — shared tokens, fonts and helpers for every Nordlys code component.\n// Change a colour here and every component follows. Nothing in this file renders on its own.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{RenderTarget}from\"framer\";/* ---------- tokens (same values as the colour styles) ---------- */export const C={black:\"#000000\",ink:\"#0A0A0A\",fg:\"#F3F3F3\",mute:\"#A6A6A6\",dim:\"#5E5E5E\",line:\"rgba(243,243,243,.12)\",accent:\"#D9D9D9\",violet:\"#6E4BFF\",lilac:\"#C9BDFF\",plum:\"#1A1033\",live:\"#7FD4A8\"};export const F={sans:'\"Inter Tight\", ui-sans-serif, system-ui, -apple-system, \"Helvetica Neue\", Arial, sans-serif',mono:'\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace'};export const EASE=\"cubic-bezier(.16,1,.3,1)\"// --ease (expo-out)\n;const FONT_HREF=\"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&family=Inter+Tight:wght@300;400;500;700&display=swap\";export const fontsLink=()=>/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:FONT_HREF});export const easeFn={expoOut:t=>t>=1?1:1-Math.pow(2,-10*t),sineInOut:t=>-(Math.cos(Math.PI*t)-1)/2};export const isCanvas=()=>RenderTarget.current()===RenderTarget.canvas;// On the canvas, vw means the editor window. Components write cqw instead: live, no ancestor is a\n// container so cqw falls back to the viewport; on the canvas usePageCq() makes the breakpoint frame\n// the container, so cqw follows the 1280 / 810 / 390 frame.\nexport function pageFrame(el){let top=null;for(let e=el?.parentElement||null;e;e=e.parentElement)if(e.dataset?.framerComponentType===\"Frame\")top=e;return top;}export function usePageCq(ref){React.useLayoutEffect(()=>{if(!isCanvas())return;const f=pageFrame(ref.current);if(f&&getComputedStyle(f).containerType===\"normal\")f.style.containerType=\"inline-size\";},[]);}export function useReducedMotion(){const[r,setR]=React.useState(false);React.useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const m=window.matchMedia(\"(prefers-reduced-motion: reduce)\");setR(m.matches);const on=()=>setR(m.matches);m.addEventListener?.(\"change\",on);return()=>m.removeEventListener?.(\"change\",on);},[]);return r;}export const fineHover=()=>typeof window!==\"undefined\"&&!!window.matchMedia&&window.matchMedia(\"(pointer:fine)\").matches;/* The hex \"perforated mesh\" every photo is cut with (5 × 8.66 px tile, gaps at 62 %). */export const MESH_URL=\"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='8.66' viewBox='0 0 5 8.66'%3E%3Crect width='5' height='8.66' fill='%23fff' fill-opacity='0.62'/%3E%3Cg fill='%23fff'%3E%3Ccircle cx='0' cy='0' r='2.1'/%3E%3Ccircle cx='5' cy='0' r='2.1'/%3E%3Ccircle cx='0' cy='8.66' r='2.1'/%3E%3Ccircle cx='5' cy='8.66' r='2.1'/%3E%3Ccircle cx='2.5' cy='4.33' r='2.1'/%3E%3C/g%3E%3C/svg%3E\\\")\";export const meshStyle=(contrast,brightness)=>({filter:`grayscale(1) contrast(${contrast}) brightness(${brightness})`,WebkitMaskImage:MESH_URL,maskImage:MESH_URL,WebkitMaskSize:\"5px 8.66px\",maskSize:\"5px 8.66px\",WebkitMaskRepeat:\"repeat\",maskRepeat:\"repeat\"});/* Thin SVG arrows (never the ↗ glyph). */export const arrowPath={right:\"M1 6h10M6.5 1.5 11 6l-4.5 4.5\",ne:\"M2.5 9.5 9.5 2.5M4 2.5h5.5V8\",left:\"M11 6H1M5.5 1.5 1 6l4.5 4.5\",up:\"M6 11V1M1.5 5.5 6 1l4.5 4.5\"};// an arrow function, so Framer doesn't list it as a component in Assets\nexport const arrowSvg=(dir=\"right\",size=12)=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 12 12\",width:size,height:size,fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\",flex:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:arrowPath[dir],stroke:\"currentColor\",strokeWidth:1.1,vectorEffect:\"non-scaling-stroke\"})});/* Page width: the viewport on the live site, the breakpoint frame on the canvas. Components use it to\n   switch layout at the design's own breakpoints (1080 / 960 / 600). */export function usePageWidth(ref){const[w,setW]=React.useState(1280);React.useLayoutEffect(()=>{const measure=()=>{const f=isCanvas()?pageFrame(ref.current):null;setW(f?f.offsetWidth:window.innerWidth);};measure();const f=isCanvas()?pageFrame(ref.current):null;const ro=new ResizeObserver(measure);if(f)ro.observe(f);else if(ref.current)ro.observe(ref.current);window.addEventListener(\"resize\",measure);return()=>{ro.disconnect();window.removeEventListener(\"resize\",measure);};},[]);return w;}export const bpClass=w=>(w<=1080?\" is-lg\":\"\")+(w<=960?\" is-md\":\"\")+(w<=600?\" is-sm\":\"\");/* Text decode: characters cycle, then settle left to right. */export function decodeText(el,dur=600,delay=0){const fin=el.textContent||\"\";const pool=\"0123456789/#_:+\\xb7\";const t0=performance.now()+delay;const step=now=>{const p=Math.min(1,Math.max(0,(now-t0)/dur));const n=Math.floor(p*fin.length);let out=fin.slice(0,n);for(let k=n;k<fin.length;k++)out+=/\\s/.test(fin[k])?fin[k]:pool[Math.random()*pool.length|0];el.textContent=p>=1?fin:out;if(p<1)requestAnimationFrame(step);};requestAnimationFrame(step);window.setTimeout(()=>{el.textContent=fin;},delay+dur+600);}/* Run cb once the page intro may start: right away, or when the Nav preloader starts to wipe (\"nl:intro\", 3 s cap). */export function whenIntro(cb){if(typeof window===\"undefined\")return cb();const w=window;const covered=document.querySelector(\".nl-nv .ld:not(.done)\");if(w.__nlIntroDone||!covered||window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)return cb();let fired=false;const go=()=>{if(fired)return;fired=true;window.removeEventListener(\"nl:intro\",go);cb();};window.addEventListener(\"nl:intro\",go);window.setTimeout(go,3e3);}/* Run once when the element scrolls into view (fraction from the bottom of the viewport), after the page intro. */export function useInView(ref,margin=\"0px 0px -12% 0px\"){const[seen,setSeen]=React.useState(false);React.useEffect(()=>{if(isCanvas()){setSeen(true);return;}const el=ref.current;if(!el)return;const io=new IntersectionObserver(([e])=>{if(e.isIntersecting){io.disconnect();whenIntro(()=>setSeen(true));}},{rootMargin:margin});io.observe(el);return()=>io.disconnect();},[]);return seen;}// Framer-hosted copies of every Nordlys photo (Photos design page, node FB9yzuaEh). Used as defaults.\nexport const PH={careers01:\"https://framerusercontent.com/images/5G0uBdV5IYbdi5q5GOofWkHOY5I.webp\",careers02:\"https://framerusercontent.com/images/Cb6NShADj1J2m67GkRCSg0e4Zng.webp\",careers03:\"https://framerusercontent.com/images/Ai4xxgbxXpFhagbw0qXlOd9IVfw.webp\",company01:\"https://framerusercontent.com/images/gV2ICTMu40dkfCzbOB51RBFhs.webp\",company02:\"https://framerusercontent.com/images/qOMdurKui3c6Hf3LTGpzcDug04.webp\",ravi:\"https://framerusercontent.com/images/asl8VXZN2Xgv4kpKCSVTCwvEJY.webp\",lena:\"https://framerusercontent.com/images/wCyXikqhpn8ZRnb1XcFh1VdAT5Y.webp\",tourColdAisle:\"https://framerusercontent.com/images/eUh8hcsVOP06ARQmOBLBYKaAvZM.webp\",amaraVisit:\"https://framerusercontent.com/images/3sTcStexzcipmObizZH0T6vQCY.webp\",hero:\"https://framerusercontent.com/images/qc4Gm0XcIGUYTWSf79wKTFDwteo.webp\",narvikCampus:\"https://framerusercontent.com/images/RoAWOHMcCZZEdu62gPqQiS5FQ.webp\",tensorfieldHall:\"https://framerusercontent.com/images/il3fLZBrudDNyrgDlH5W6cSHeU.webp\",helixFiber:\"https://framerusercontent.com/images/7WhklDT8jSCqVZ9KL0STcG1Mz8.webp\",orbitSatellite:\"https://framerusercontent.com/images/ohqShmvv7oQh4Vwg3i2E5ordBSI.webp\",amara:\"https://framerusercontent.com/images/nbdf1Q4Uu5xvGHq7u4j9BlVgo0.webp\",jonas:\"https://framerusercontent.com/images/rQfbpW4RDKL3jiQbq4SXcntjo.webp\",erik:\"https://framerusercontent.com/images/9dRa9GNOn2pkAv37fo7HxxMJnU.webp\",jonasSeated:\"https://framerusercontent.com/images/jWZrIfneZrvhOfzL5rq988LgQcc.webp\",inlineHotAisle:\"https://framerusercontent.com/images/h6lUKTs2ohc7OzXVE6p6DVsV3k0.webp\",inlineTensorfieldPod:\"https://framerusercontent.com/images/In9tXGFDU6Q1xmCAbPWxybPHPE.webp\",news01:\"https://framerusercontent.com/images/dBxbVgGac5ZBak8KH3c2k7RJkQ.webp\",news02:\"https://framerusercontent.com/images/eOB4mru7L2boahQXQbYt3gZo.webp\",news03:\"https://framerusercontent.com/images/qym3o4qGCQ2l623Ug0hw3c87nI0.webp\",news04:\"https://framerusercontent.com/images/ELIaui9uYOr1tvAGMUmRX8glM.webp\",news05:\"https://framerusercontent.com/images/VV9uNBIzewmTxMjt8pQU9i0RsFI.webp\",news06:\"https://framerusercontent.com/images/Wz3RTZnOZa8Ft7uATN2nybXi6NA.webp\",pAmara:\"https://framerusercontent.com/images/UY1cCsBgTrtqpZYAPRYHG2Xjc.webp\",pErik:\"https://framerusercontent.com/images/f015M29cdVIE2tsqhlti8akVI.webp\",pJonas:\"https://framerusercontent.com/images/aAbogpIiBvIHRl8mnzywyXvkQ.webp\",pLena:\"https://framerusercontent.com/images/PrWrN9Zjb1Jhf0pTASp4khvC0.webp\",pRavi:\"https://framerusercontent.com/images/iQrNObuFz2kl9D8Jgxuc2egyw0.webp\",racks:\"https://framerusercontent.com/images/OKyqU4J0NYDJFfdpVRATu3aTIw0.webp\",switch:\"https://framerusercontent.com/images/EDVSFbCLyMm8CudWiRCptnAzKM.webp\",trays:\"https://framerusercontent.com/images/CW17CQDWSjWXhwMpKKFkZJISWg.webp\",wafer:\"https://framerusercontent.com/images/ai8BxgA5AFjxY0cCCO7miuXrA.webp\",airIntake:\"https://framerusercontent.com/images/b4vAmKNl2K7fqv9jceI0ZO34dOo.webp\",waterFree:\"https://framerusercontent.com/images/8QrAk0Bk5vAyxa5kdYP4iUMpJQ.webp\",heatRecovery:\"https://framerusercontent.com/images/gUZqRtoU1MRNcqc7ErYHIkPzkU.webp\",tromsoHq:\"https://framerusercontent.com/images/YPXPk06yaGZaSkFv5EhKmsmLhI.webp\",hallA:\"https://framerusercontent.com/images/P2uUGpA5LM6bn66T9RJozYmKSws.webp\",kirunaBuild:\"https://framerusercontent.com/images/6RmYaTMdo5pQg9UJkXIEtrtdS4.webp\",hallATrays:\"https://framerusercontent.com/images/iZHJQlQnOniWxoJTKZ4kBT4ytfE.webp\",kernelHall:\"https://framerusercontent.com/images/anLSKJrZMWmBwGsKvIgKmOo5Qis.webp\",photonStorage:\"https://framerusercontent.com/images/ZjTJOeNJzRPKhpXTKGwbwo4G8U.webp\",vektorRobot:\"https://framerusercontent.com/images/R355GgaFIczKVwEGEsEXo46lho.webp\",henrik:\"https://framerusercontent.com/images/RqWcMaaY4hBh0TtehZpLK8u4nh0.webp\",arjun:\"https://framerusercontent.com/images/jueXC4Dz7cRgYZLeWuwmjfMRtTA.webp\",maja:\"https://framerusercontent.com/images/Cu1ZkDGxgm9adQxee4trqruCotY.webp\",airFans:\"https://framerusercontent.com/images/0RYZ1lW6HTT5Q2QXQXehOKgwa8.webp\"};\nexport const __FramerMetadata__ = {\"exports\":{\"EASE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReducedMotion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"arrowPath\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePageCq\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"decodeText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"meshStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useInView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontsLink\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"arrowSvg\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PH\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"pageFrame\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"C\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"easeFn\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MESH_URL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"bpClass\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"F\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"whenIntro\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePageWidth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fineHover\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NordlysKit.map","/*\n * NordlysKit\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/IfJSH2mvoveWg59Hmpiu/Nlmtww58L8XmTRfepaVP/NordlysKit.js\"\n","// Parts — small Nordlys building blocks used on every page.\n//  • Pill: the only button style. Solid or ghost; a black (or white) fill sweeps in on hover and the\n//    arrow cell narrows. Can submit a form (\"Form submit\") or render as a plain label (\"Visual only\")\n//    inside a Form Submit component.\n//  • Heading: headline with an optional grey ending (\"Tone\"). Size is the design's fluid clamp\n//    (Min px · Fluid % of the page width · Max px). Blur-in per letter: \"Load\" plays from the page HTML\n//    (no JavaScript needed), \"Scroll\" plays when the heading enters the view.\n//  • Label: the section label: small number with a violet line, an optional mono kicker, a title and a grey subtitle.\n//  • Marks: the two small \"+\" marks on the ends of a hairline.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{fontsLink,isCanvas,useReducedMotion,usePageCq,whenIntro}from\"https://framer.com/m/NordlysKit-9OaTZJ.js\";const ARW=c=>`url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M1 6h10M6.5 1.5 11 6l-4.5 4.5' stroke='%23${c}' stroke-width='1.1'/%3E%3C/svg%3E\")`;const PILL_CSS=`\n.nl-pl{--fg:#F3F3F3;--ease:cubic-bezier(.16,1,.3,1);position:relative;display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 0 0 12px;border-radius:2px;border:0;cursor:pointer;white-space:nowrap;font:400 11px/1 \"Geist Mono\",ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:#000;background:linear-gradient(#000,#000) 0 0/0% 100% no-repeat,var(--fg);box-shadow:inset 0 0 0 1px var(--fg);transition:background-size .6s var(--ease),color .4s var(--ease);-webkit-font-smoothing:antialiased;box-sizing:border-box}\n.nl-pl::before{content:\"\";width:5px;height:5px;background:currentColor;flex:none}\n.nl-pl::after{content:\"\";width:12px;box-sizing:content-box;align-self:stretch;margin-left:6px;padding:0 13px;border-left:1px solid currentColor;opacity:.75;background:${ARW(\"000\")} center/12px 12px no-repeat;transition:padding .5s var(--ease)}\n.nl-pl:hover,button:hover .nl-pl,a:hover .nl-pl{background-size:100% 100%,auto;color:var(--fg)}\n.nl-pl:hover::after,button:hover .nl-pl::after,a:hover .nl-pl::after{padding:0 9px 0 15px;background-image:${ARW(\"F3F3F3\")}}\n.nl-pl.ghost{color:var(--fg);background:linear-gradient(var(--fg),var(--fg)) 0 0/0% 100% no-repeat,rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(243,243,243,.3)}\n.nl-pl.ghost::after{border-left-color:rgba(243,243,243,.3);background-image:${ARW(\"F3F3F3\")};transition:padding .5s var(--ease),border-color .4s}\n.nl-pl.ghost:hover,button:hover .nl-pl.ghost,a:hover .nl-pl.ghost{color:#000;background-size:100% 100%,auto;box-shadow:inset 0 0 0 1px var(--fg)}\n.nl-pl.ghost:hover::after,button:hover .nl-pl.ghost::after,a:hover .nl-pl.ghost::after{border-left-color:rgba(0,0,0,.35);background-image:${ARW(\"000\")}}\n.nl-pl.full{width:100%;justify-content:flex-start}\n.nl-pl.full::after{margin-left:auto}\n.nl-pl:focus-visible{outline:1px solid var(--fg);outline-offset:4px}\n`;/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 180\n * @framerIntrinsicHeight 38\n */export function Pill(p){const{label,link,ghost,newTab,submit,visual,full}=p;const cls=\"nl-pl\"+(ghost?\" ghost\":\"\")+(full?\" full\":\"\");const st={...p.style,width:full?\"100%\":undefined};const inner=visual?/*#__PURE__*/_jsx(\"span\",{className:cls,style:{width:full?\"100%\":undefined},children:label}):submit?/*#__PURE__*/_jsx(\"button\",{type:\"submit\",className:cls,style:{width:full?\"100%\":undefined},children:label}):/*#__PURE__*/_jsx(\"a\",{className:cls,style:{width:full?\"100%\":undefined},href:link||\"#\",target:newTab?\"_blank\":undefined,rel:newTab?\"noopener\":undefined,children:label});return /*#__PURE__*/_jsxs(\"div\",{style:{...st,display:full?\"flex\":\"inline-flex\"},children:[fontsLink(),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:PILL_CSS}}),inner]});}Pill.defaultProps={label:\"Plan capacity\",link:\"/contact-01\",ghost:false,newTab:false,submit:false,visual:false,full:false};addPropertyControls(Pill,{label:{type:ControlType.String,title:\"Label\"},link:{type:ControlType.Link,title:\"Link\",hidden:p=>p.submit||p.visual},ghost:{type:ControlType.Boolean,title:\"Ghost\",description:\"Outlined version\"},newTab:{type:ControlType.Boolean,title:\"New tab\",hidden:p=>p.submit||p.visual},submit:{type:ControlType.Boolean,title:\"Form submit\"},visual:{type:ControlType.Boolean,title:\"Visual only\",description:\"Inside a Form Submit component\",hidden:p=>!p.submit},full:{type:ControlType.Boolean,title:\"Full width\"}});/* ---------------- Heading ---------------- */const HD_CSS=`\n.nl-hd{margin:0;font-family:\"Inter Tight\",ui-sans-serif,system-ui,sans-serif;color:#F3F3F3;text-wrap:balance;-webkit-font-smoothing:antialiased}\n.nl-hd .tn{color:#A6A6A6}\n.nl-hd .nw{white-space:nowrap}\n.nl-hd .tn.blk{display:block}\n.nl-hd .wd{display:inline-block;white-space:nowrap}\n.nl-hd .ch{display:inline-block}\n@keyframes nl-hd-in{from{opacity:0;filter:blur(var(--hb,16px));transform:translateY(var(--hy,.18em))}to{opacity:1;filter:blur(0);transform:none}}\n.nl-hd.is-load .ch,.nl-hd.is-in .ch{animation:nl-hd-in var(--hd,1.3s) cubic-bezier(.215,.61,.355,1) both}\n.nl-hd.is-pre .ch{opacity:0}\n@media (prefers-reduced-motion:reduce){.nl-hd .ch{animation:none!important;opacity:1!important}}\n`;/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 900\n */export function Heading(p){const{text,tone,toneNoWrap,toneLine,balance,tag,min,fluid,max,weight,lineHeight,tracking,align,reveal,delay,color,toneColor}=p;const ref=React.useRef(null);const reduce=useReducedMotion();const canvas=isCanvas();const[state,setState]=React.useState(\"\");usePageCq(ref);React.useEffect(()=>{if(reveal!==\"scroll\"||canvas||reduce)return;const el=ref.current;if(!el)return;const r=el.getBoundingClientRect();if(r.bottom<=0)return;// already scrolled past at load: leave it visible\nlet dead=false;setState(\"is-pre\");if(r.top<window.innerHeight*.88){// already in view at load: play once the page intro has finished\nwhenIntro(()=>{if(!dead)setState(\"is-in\");});return()=>{dead=true;};}const io=new IntersectionObserver(([e])=>{if(e.isIntersecting){setState(\"is-in\");io.disconnect();}},{rootMargin:\"0px 0px -12% 0px\"});io.observe(el);return()=>io.disconnect();},[reveal,canvas,reduce]);let n=0;const step=reveal===\"scroll\"?.022:.02;const split=(s,key)=>s.split(/(\\s+)/).map((part,i)=>{if(!part)return null;if(/^\\s+$/.test(part))return part;return /*#__PURE__*/_jsx(\"span\",{className:\"wd\",children:Array.from(part).map((c,j)=>/*#__PURE__*/_jsx(\"span\",{className:\"ch\",style:{animationDelay:(delay+n++*step).toFixed(3)+\"s\"},children:c},j))},key+i);});const animate=!canvas&&reveal!==\"none\";const body=animate?split(text||\"\",\"t\"):text;const tbody=tone?animate?split(tone,\"n\"):tone:null;const Tag=tag||\"h2\";const size=`clamp(${min}px, ${fluid}cqw, ${max}px)`;const cls=[\"nl-hd\",reveal===\"load\"&&animate?\"is-load\":\"\",state].join(\" \");const vars=reveal===\"scroll\"?{\"--hb\":\"14px\",\"--hy\":\".15em\",\"--hd\":\"1.2s\"}:{};return /*#__PURE__*/_jsxs(\"div\",{style:{...p.style,width:\"100%\"},children:[fontsLink(),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:HD_CSS}}),/*#__PURE__*/_jsx(Tag,{ref:ref,className:cls,\"aria-label\":animate?(text+(tone?\" \"+tone:\"\")).trim():undefined,style:{...vars,textWrap:balance===false?\"wrap\":\"balance\",fontSize:size,fontWeight:weight,lineHeight,letterSpacing:tracking+\"em\",textAlign:align,color,width:\"100%\"},children:/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":animate?\"true\":undefined,children:[body,tone&&!toneLine?\" \":null,tone?/*#__PURE__*/_jsx(\"span\",{className:\"tn\"+(toneLine?\" blk\":toneNoWrap?\" nw\":\"\"),style:{color:toneColor},children:tbody}):null]})})]});}Heading.defaultProps={text:\"Compute, cooled by the\",tone:\"Arctic.\",toneNoWrap:true,toneLine:false,balance:true,tag:\"h2\",min:30,fluid:3.4,max:58,weight:400,lineHeight:1,tracking:-.04,align:\"left\",reveal:\"scroll\",delay:0,color:\"#F3F3F3\",toneColor:\"#A6A6A6\"};addPropertyControls(Heading,{text:{type:ControlType.String,title:\"Text\",displayTextArea:true},tone:{type:ControlType.String,title:\"Tone\",description:\"Grey ending\"},toneNoWrap:{type:ControlType.Boolean,title:\"Keep tone together\",hidden:p=>p.toneLine},toneLine:{type:ControlType.Boolean,title:\"Grey on new line\"},balance:{type:ControlType.Boolean,title:\"Balance\",description:\"Even line lengths (text-wrap: balance)\"},tag:{type:ControlType.Enum,title:\"Tag\",options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"]},min:{type:ControlType.Number,title:\"Min\",min:10,max:200,unit:\"px\"},fluid:{type:ControlType.Number,title:\"Fluid\",min:.5,max:20,step:.1,unit:\"%\",description:\"Size as % of page width\"},max:{type:ControlType.Number,title:\"Max\",min:10,max:300,unit:\"px\"},weight:{type:ControlType.Number,title:\"Weight\",min:300,max:500,step:100},lineHeight:{type:ControlType.Number,title:\"Line height\",min:.7,max:1.6,step:.01},tracking:{type:ControlType.Number,title:\"Tracking\",min:-.1,max:.1,step:.001,unit:\"em\"},align:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],displaySegmentedControl:true},reveal:{type:ControlType.Enum,title:\"Blur-in\",options:[\"load\",\"scroll\",\"none\"],optionTitles:[\"Load\",\"Scroll\",\"None\"],displaySegmentedControl:true},delay:{type:ControlType.Number,title:\"Delay\",min:0,max:3,step:.05,unit:\"s\"},color:{type:ControlType.Color,title:\"Color\"},toneColor:{type:ControlType.Color,title:\"Tone color\"}});/* ---------------- Label ---------------- */const LB_CSS=`\n.nl-lb{display:flex;flex-direction:column;gap:2px;font:500 16px/1.45 \"Inter Tight\",ui-sans-serif,system-ui,sans-serif;letter-spacing:-.005em;color:#F3F3F3;-webkit-font-smoothing:antialiased;transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}\n.nl-lb .n{align-self:flex-start;font:400 9px/1 \"Geist Mono\",ui-monospace,monospace;letter-spacing:.14em;color:#A6A6A6;margin-bottom:12px;padding-right:34px;background:linear-gradient(90deg,#6E4BFF,rgba(201,189,255,.6) 60%,transparent) right 50%/24px 1px no-repeat}\n.nl-lb .s{color:#A6A6A6}\n.nl-lb .k{font:400 10px/1.45 \"Geist Mono\",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#A6A6A6;margin-bottom:10px}\n.nl-lb.is-pre{opacity:0;transform:translateY(20px)}\n`;/**\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 300\n */export function Label(p){const{number,kicker,title,sub,reveal}=p;const ref=React.useRef(null);const reduce=useReducedMotion();const[pre,setPre]=React.useState(false);React.useEffect(()=>{if(!reveal||isCanvas()||reduce)return;const el=ref.current;if(!el||el.getBoundingClientRect().top<window.innerHeight*.92)return;setPre(true);const io=new IntersectionObserver(([e])=>{if(e.isIntersecting){setPre(false);io.disconnect();}},{rootMargin:\"0px 0px -8% 0px\"});io.observe(el);return()=>io.disconnect();},[reveal,reduce]);return /*#__PURE__*/_jsxs(\"div\",{ref:ref,className:\"nl-lb\"+(pre?\" is-pre\":\"\"),style:p.style,children:[fontsLink(),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:LB_CSS}}),number?/*#__PURE__*/_jsx(\"span\",{className:\"n\",children:number}):null,kicker?/*#__PURE__*/_jsx(\"span\",{className:\"k\",children:kicker}):null,title?/*#__PURE__*/_jsx(\"span\",{children:title}):null,sub?/*#__PURE__*/_jsx(\"span\",{className:\"s\",children:sub}):null]});}Label.defaultProps={number:\"01\",kicker:\"\",title:\"Customers\",sub:\"Who trains in the North\",reveal:true};addPropertyControls(Label,{number:{type:ControlType.String,title:\"Number\"},kicker:{type:ControlType.String,title:\"Kicker\",description:\"Small mono line above the title\"},title:{type:ControlType.String,title:\"Title\"},sub:{type:ControlType.String,title:\"Subtitle\"},reveal:{type:ControlType.Boolean,title:\"Reveal\",description:\"Fades up when it enters the view\"}});/* ---------------- Marks ---------------- */// The two small \"+\" marks that sit on the ends of a hairline (section heads, stations, tables).\n// Place it at the top of a frame: absolute, Top 0, Left 0, Right 0, Height 1.\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1208\n * @framerIntrinsicHeight 1\n */export function Marks(p){const st={position:\"absolute\",top:-6,font:'300 11px/1 \"Geist Mono\",ui-monospace,monospace',color:p.color,pointerEvents:\"none\"};return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",style:{...p.style,position:\"relative\",width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:[fontsLink(),/*#__PURE__*/_jsx(\"span\",{style:{...st,left:-3},children:\"+\"}),/*#__PURE__*/_jsx(\"span\",{style:{...st,right:-3},children:\"+\"})]});}Marks.defaultProps={color:\"#A6A6A6\"};addPropertyControls(Marks,{color:{type:ControlType.Color,title:\"Color\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"Heading\":{\"type\":\"reactComponent\",\"name\":\"Heading\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"900\",\"framerSupportedLayoutHeight\":\"auto\"}},\"Pill\":{\"type\":\"reactComponent\",\"name\":\"Pill\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"38\",\"framerIntrinsicWidth\":\"180\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"Label\":{\"type\":\"reactComponent\",\"name\":\"Label\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-auto\"}},\"Marks\":{\"type\":\"reactComponent\",\"name\":\"Marks\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1208\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Parts.map","// RibbedLight — the live violet \"silk\" light behind every Nordlys hero, CTA and the footer wordmark.\n// A WebGL fragment shader: domain-warped fabric light seen through horizontal glass ribs that bend\n// towards the cursor. Pauses when off screen, holds one frame with reduced motion, and falls back to a\n// CSS glow when WebGL is missing.\n// Tuning: Light X/Y place the hot spot (0–1, Y measured from the bottom), Gain is brightness (1.5–3),\n// Rib is the flute height in px, Spread the size of the light, Seed picks a different fold pattern.\n// Mode \"Wordmark\" draws the light only inside a giant word (the footer \"Nordlys\").\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{fontsLink,isCanvas,useReducedMotion,fineHover,usePageCq}from\"https://framer.com/m/NordlysKit-9OaTZJ.js\";const FRAG=`\nprecision highp float;\nuniform vec2 uRes; uniform float uTime; uniform vec2 uMouse; uniform float uHover;\nuniform vec2 uLight; uniform float uGain; uniform float uRib; uniform float uSpread; uniform float uVig; uniform float uFloor;\nfloat hash(vec2 p){ return fract(sin(dot(p,vec2(127.1,311.7)))*43758.5453); }\nfloat noise(vec2 p){ vec2 i=floor(p), f=fract(p); vec2 u=f*f*(3.-2.*f);\n  return mix(mix(hash(i),hash(i+vec2(1,0)),u.x), mix(hash(i+vec2(0,1)),hash(i+vec2(1,1)),u.x), u.y); }\nfloat fbm(vec2 p){ float v=0., a=.5; for(int i=0;i<4;i++){ v+=a*noise(p); p=p*2.02+vec2(3.1,7.7); a*=.5; } return v; }\nfloat silk(vec2 p, float t){\n  vec2 q = vec2(fbm(p*1.1+vec2(0.,t)), fbm(p*1.1+vec2(5.2,-t*.8)));\n  vec2 r = vec2(fbm(p*1.4+2.4*q+vec2(1.7,9.2)+t*.5), fbm(p*1.4+2.4*q+vec2(8.3,2.8)-t*.4));\n  return fbm(p*1.1+2.8*r);\n}\nvec3 ramp(float x){\n  x = clamp(x,0.,1.);\n  vec3 c0=vec3(.0,.0,.0), c1=vec3(.10,.06,.22), c2=vec3(.43,.29,1.), c3=vec3(.80,.74,1.), c4=vec3(1.,.98,1.);\n  if(x<.3) return mix(c0,c1,x/.3);\n  if(x<.62) return mix(c1,c2,(x-.3)/.32);\n  if(x<.88) return mix(c2,c3,(x-.62)/.26);\n  return mix(c3,c4,(x-.88)/.12);\n}\nfloat lightMask(vec2 p, vec2 L){ vec2 d=(p-L)*vec2(.6/uSpread,1.2/uSpread); return exp(-dot(d,d)*3.); }\nvoid main(){\n  vec2 uv = gl_FragCoord.xy/uRes; float ar = uRes.x/uRes.y;\n  float t = uTime*.05;\n  vec2 m = vec2(uMouse.x*ar, uMouse.y);\n  vec2 p0 = vec2(uv.x*ar, uv.y);\n  float md = length(p0-m);\n  float ry = gl_FragCoord.y/uRib; float r = fract(ry); float id = floor(ry);\n  float bend = (r-.5)*(1.+1.6*uHover*exp(-md*md*7.));\n  vec2 p = p0 + vec2(bend*.025+(hash(vec2(id,3.))-.5)*.01, bend*-.07);\n  vec2 L = vec2(uLight.x*ar, uLight.y) + vec2(sin(t*1.9)*.07, cos(t*1.4)*.04);\n  L = mix(L, m, .4*uHover);\n  float f = silk(p*1.15, t);\n  float fold = smoothstep(.28,.82,f);\n  float disp = .018;\n  float mr = lightMask(p+vec2(0.,bend*disp*-1.), L);\n  float mg = lightMask(p, L);\n  float mb = lightMask(p+vec2(0.,bend*disp), L);\n  float body = .55+.45*sin(r*3.14159);\n  float lip  = pow(clamp(1.-abs(r-.14)*6.,0.,1.),2.)*.85;\n  float seam = smoothstep(0.,.05,r)*smoothstep(1.,.95,r);\n  float k = (body+lip)*seam*uGain;\n  vec3 col = vec3(ramp(fold*mr*k).r, ramp(fold*mg*k).g, ramp(fold*mb*k).b);\n  col *= mix(1., smoothstep(1.3,.2,length((uv-.5)*vec2(1.,1.3))), uVig);\n  col += uFloor*vec3(.20,.18,.28)*(.55+.45*sin(r*3.14159));\n  col += (hash(gl_FragCoord.xy+fract(uTime*7.))-.5)*.035;\n  gl_FragColor = vec4(max(col,0.),1.);\n}`;// dark fades drawn over the light so text stays readable (from the design's .hero::after / .cta::after)\nconst OVERLAYS={hero:\"linear-gradient(180deg,rgba(0,0,0,.55),transparent 22%,transparent 55%,rgba(0,0,0,.75))\",cta:\"linear-gradient(180deg,#000 0%,transparent 30%,transparent 60%,rgba(0,0,0,.7))\"};const VERT=`attribute vec2 a; void main(){ gl_Position=vec4(a,0.,1.); }`;// Editor canvas only: the same shader maths in plain JavaScript, drawn once into a 2D canvas.\n// The canvas shows every page and breakpoint at once; WebGL there runs out of contexts and draws\n// wrong (grey, no ribs), so the editor gets this still frame and the live site keeps WebGL.\nconst fract=x=>x-Math.floor(x);const hash=(x,y)=>fract(Math.sin(x*127.1+y*311.7)*43758.5453);function noise(x,y){const ix=Math.floor(x),iy=Math.floor(y),fx=x-ix,fy=y-iy;const ux=fx*fx*(3-2*fx),uy=fy*fy*(3-2*fy);const a=hash(ix,iy),b=hash(ix+1,iy),c=hash(ix,iy+1),d=hash(ix+1,iy+1);return a+(b-a)*ux+(c+(d-c)*ux-(a+(b-a)*ux))*uy;}function fbm(x,y){let v=0,a=.5;for(let i=0;i<4;i++){v+=a*noise(x,y);x=x*2.02+3.1;y=y*2.02+7.7;a*=.5;}return v;}function silk(px,py,t){const qx=fbm(px*1.1,py*1.1+t),qy=fbm(px*1.1+5.2,py*1.1-t*.8);const rx=fbm(px*1.4+2.4*qx+1.7+t*.5,py*1.4+2.4*qy+9.2+t*.5);const ry=fbm(px*1.4+2.4*qx+8.3-t*.4,py*1.4+2.4*qy+2.8-t*.4);return fbm(px*1.1+2.8*rx,py*1.1+2.8*ry);}const RAMP=[[0,0,0],[.1,.06,.22],[.43,.29,1],[.8,.74,1],[1,.98,1]];function ramp(x,ch){x=Math.min(1,Math.max(0,x));const m=(a,b,k)=>a[ch]+(b[ch]-a[ch])*k;if(x<.3)return m(RAMP[0],RAMP[1],x/.3);if(x<.62)return m(RAMP[1],RAMP[2],(x-.3)/.32);if(x<.88)return m(RAMP[2],RAMP[3],(x-.62)/.26);return m(RAMP[3],RAMP[4],(x-.88)/.12);}const smooth=(e0,e1,x)=>{const t=Math.min(1,Math.max(0,(x-e0)/(e1-e0)));return t*t*(3-2*t);};function drawStill(c,o,layoutW){const W=c.width,H=c.height;const ctx=c.getContext(\"2d\");if(!ctx||W<2||H<2)return;const img=ctx.createImageData(W,H);const ar=W/H,t=(o.seed||0)*.05;const scale=W/Math.max(1,layoutW);const rib=Math.max(1,(o.rib||10)*scale),spread=o.spread||1,gain=o.gain||1;const vig=o.vignette??1,floor=o.floor||0;const Lx=o.lightX*ar+Math.sin(t*1.9)*.07,Ly=o.lightY+Math.cos(t*1.4)*.04;const mask=(px,py)=>{const dx=(px-Lx)*(.6/spread),dy=(py-Ly)*(1.2/spread);return Math.exp(-(dx*dx+dy*dy)*3);};for(let y=0;y<H;y++){const fy=H-y-.5// gl_FragCoord.y counts from the bottom\n;const ryv=fy/rib,r=fract(ryv),id=Math.floor(ryv);const bend=r-.5;const body=.55+.45*Math.sin(r*Math.PI);const lip=Math.pow(Math.min(1,Math.max(0,1-Math.abs(r-.14)*6)),2)*.85;const seam=smooth(0,.05,r)*smooth(1,.95,r);const k=(body+lip)*seam*gain;const jitter=(hash(id,3)-.5)*.01;for(let x=0;x<W;x++){const fx=x+.5,uvx=fx/W,uvy=fy/H;const px=uvx*ar+bend*.025+jitter,py=uvy+bend*-.07;const f=silk(px*1.15,py*1.15,t);const fold=smooth(.28,.82,f);const disp=.018;const cr=ramp(fold*mask(px,py-bend*disp)*k,0);const cg=ramp(fold*mask(px,py)*k,1);const cb=ramp(fold*mask(px,py+bend*disp)*k,2);const vx=uvx-.5,vy=(uvy-.5)*1.3;const v=1+(smooth(1.3,.2,Math.sqrt(vx*vx+vy*vy))-1)*vig;const fl=floor*(.55+.45*Math.sin(r*Math.PI));const i=(y*W+x)*4;img.data[i]=Math.max(0,Math.min(255,(cr*v+fl*.2)*255));img.data[i+1]=Math.max(0,Math.min(255,(cg*v+fl*.18)*255));img.data[i+2]=Math.max(0,Math.min(255,(cb*v+fl*.28)*255));img.data[i+3]=255;}}ctx.putImageData(img,0,0);}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 1280\n * @framerIntrinsicHeight 720\n */export default function RibbedLight(p){const{mode,word,lightX,lightY,gain,rib,spread,vignette,floor,seed,sweep,cursor,overlay}=p;const wrap=React.useRef(null);const cv=React.useRef(null);const knock=React.useRef(null);const reduce=useReducedMotion();const opts=React.useRef(p);opts.current=p;usePageCq(wrap);React.useEffect(()=>{const c=cv.current;if(!c)return;if(isCanvas()){// editor: one CPU-drawn still frame (no WebGL), redrawn when the size or a setting changes\nlet t=0;const draw=()=>{const host=wrap.current;const lw=c.clientWidth||host?.offsetWidth||0,lh=c.clientHeight||host?.offsetHeight||0;if(lw<2||lh<2)return;const s=Math.min(1,400/lw)// about 400 px across keeps the editor quick; the ribs scale with it\n;c.width=Math.max(2,Math.round(lw*s));c.height=Math.max(2,Math.round(lh*s));drawStill(c,opts.current,lw);};const ro=new ResizeObserver(()=>{window.clearTimeout(t);t=window.setTimeout(draw,120);});ro.observe(c);draw();return()=>{ro.disconnect();window.clearTimeout(t);};}const gl=c.getContext(\"webgl\",{antialias:false,premultipliedAlpha:false,alpha:false});if(!gl)return;// CSS glow stays as the fallback\nconst sh=(type,src)=>{const s=gl.createShader(type);gl.shaderSource(s,src);gl.compileShader(s);return s;};const pr=gl.createProgram();gl.attachShader(pr,sh(gl.VERTEX_SHADER,VERT));gl.attachShader(pr,sh(gl.FRAGMENT_SHADER,FRAG));gl.linkProgram(pr);if(!gl.getProgramParameter(pr,gl.LINK_STATUS))return;gl.useProgram(pr);const b=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,b);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),gl.STATIC_DRAW);const loc=gl.getAttribLocation(pr,\"a\");gl.enableVertexAttribArray(loc);gl.vertexAttribPointer(loc,2,gl.FLOAT,false,0,0);const U=n=>gl.getUniformLocation(pr,n);const u={res:U(\"uRes\"),time:U(\"uTime\"),mouse:U(\"uMouse\"),hover:U(\"uHover\"),light:U(\"uLight\"),gain:U(\"uGain\"),rib:U(\"uRib\"),spread:U(\"uSpread\"),vig:U(\"uVig\"),floor:U(\"uFloor\")};const still=reduce||isCanvas();let dpr=1,mx=opts.current.lightX,my=opts.current.lightY,tx=mx,ty=my,hv=0,th=0;let run=false,raf=0,last=0,clock=opts.current.seed||0;const size=()=>{const r=c.getBoundingClientRect();dpr=Math.min(1.5,window.devicePixelRatio||1);// the canvas may be scaled by the editor zoom: use layout size, not the transformed rect\nconst w=c.clientWidth||r.width,h=c.clientHeight||r.height;c.width=Math.max(1,w*dpr|0);c.height=Math.max(1,h*dpr|0);gl.viewport(0,0,c.width,c.height);};const frame=now=>{const o=opts.current;const dt=last?Math.min(.05,(now-last)/1e3):0;last=now;clock+=dt;mx+=(tx-mx)*.06;my+=(ty-my)*.06;hv+=(th-hv)*.05;gl.uniform2f(u.res,c.width,c.height);gl.uniform1f(u.time,clock);gl.uniform2f(u.mouse,mx,my);gl.uniform1f(u.hover,hv);gl.uniform2f(u.light,o.sweep?.5+.44*Math.sin(clock*o.sweep):o.lightX,o.lightY);gl.uniform1f(u.gain,o.gain||1);gl.uniform1f(u.rib,(o.rib||10)*dpr);gl.uniform1f(u.spread,o.spread||1);gl.uniform1f(u.vig,o.vignette??1);gl.uniform1f(u.floor,o.floor||0);gl.drawArrays(gl.TRIANGLES,0,3);if(run&&!still)raf=requestAnimationFrame(frame);};size();const ro=new ResizeObserver(()=>{size();if(!run||still)frame(performance.now());});ro.observe(c);const host=wrap.current.parentElement||wrap.current;const move=e=>{const r=c.getBoundingClientRect();tx=(e.clientX-r.left)/r.width;ty=1-(e.clientY-r.top)/r.height;th=1;};const leave=()=>{th=0;};const useCursor=opts.current.cursor&&fineHover()&&!still;if(useCursor){host.addEventListener(\"pointermove\",move);host.addEventListener(\"pointerleave\",leave);}const io=new IntersectionObserver(([e])=>{run=e.isIntersecting;if(run){last=0;cancelAnimationFrame(raf);raf=requestAnimationFrame(frame);}});io.observe(c);frame(performance.now());return()=>{run=false;cancelAnimationFrame(raf);ro.disconnect();io.disconnect();if(useCursor){host.removeEventListener(\"pointermove\",move);host.removeEventListener(\"pointerleave\",leave);}};// on the canvas, rebuild when a prop changes so the still frame shows the new settings\n},[reduce,isCanvas()?[lightX,lightY,gain,rib,spread,vignette,floor,seed,sweep].join():\"\"]);// Wordmark: size the word by its actual ink so it spans exactly the full width\nReact.useLayoutEffect(()=>{if(mode!==\"wordmark\")return;const k=knock.current;if(!k)return;const span=k.firstElementChild;const fit=()=>{const ctx=document.createElement(\"canvas\").getContext(\"2d\");ctx.font='500 100px \"Inter Tight\"';if(\"letterSpacing\"in ctx)ctx.letterSpacing=\"-6px\";const m=ctx.measureText(span.textContent||\"\");const ink=m.actualBoundingBoxLeft+m.actualBoundingBoxRight;if(!ink)return;const fs=100*k.clientWidth/ink;k.style.fontSize=fs+\"px\";span.style.marginLeft=m.actualBoundingBoxLeft*fs/100+\"px\";};fit();const ro=new ResizeObserver(fit);ro.observe(k);document.fonts?.ready?.then(fit);return()=>ro.disconnect();},[mode,word]);const glow=\"radial-gradient(45% 45% at 68% 38%,rgba(110,75,255,.35),transparent 70%),#000\";const canvas=/*#__PURE__*/_jsx(\"canvas\",{ref:cv,\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\",background:glow}});if(mode===\"wordmark\")return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,\"aria-hidden\":\"true\",style:{...p.style,position:\"relative\",isolation:\"isolate\",overflow:\"hidden\",width:\"100%\"},children:[fontsLink(),canvas,/*#__PURE__*/_jsx(\"div\",{ref:knock,style:{position:\"relative\",zIndex:1,background:\"#000\",color:\"#fff\",mixBlendMode:\"multiply\",display:\"block\",fontFamily:'\"Inter Tight\", sans-serif',fontSize:\"20cqw\",fontWeight:500,letterSpacing:\"-.06em\",lineHeight:1.22,whiteSpace:\"nowrap\",userSelect:\"none\",overflow:\"hidden\",boxShadow:\"0 0 0 3px #000\"},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",width:\"max-content\",marginTop:\"-.16em\",marginBottom:\".02em\"},children:word})})]});return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,\"aria-hidden\":\"true\",style:{...p.style,position:\"relative\",overflow:\"hidden\",width:\"100%\",height:\"100%\",background:\"#000\"},children:[canvas,overlay&&overlay!==\"none\"&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,pointerEvents:\"none\",background:OVERLAYS[overlay]}})]});}RibbedLight.defaultProps={mode:\"fill\",word:\"Nordlys\",lightX:.62,lightY:.55,gain:2.4,rib:10,spread:1.1,vignette:1,floor:0,seed:12,sweep:0,cursor:true,overlay:\"none\"};addPropertyControls(RibbedLight,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"fill\",\"wordmark\"],optionTitles:[\"Fill\",\"Wordmark\"],displaySegmentedControl:true},word:{type:ControlType.String,title:\"Word\",hidden:p=>p.mode!==\"wordmark\"},lightX:{type:ControlType.Number,title:\"Light X\",min:0,max:1,step:.01,description:\"Hot spot, 0 = left, 1 = right\"},lightY:{type:ControlType.Number,title:\"Light Y\",min:0,max:1,step:.01,description:\"Hot spot, 0 = bottom, 1 = top\"},gain:{type:ControlType.Number,title:\"Gain\",min:.5,max:4,step:.05,description:\"Brightness, 1.5–3 looks best\"},rib:{type:ControlType.Number,title:\"Rib\",min:4,max:40,step:1,unit:\"px\",description:\"Height of each glass flute\"},spread:{type:ControlType.Number,title:\"Spread\",min:.4,max:3,step:.05},vignette:{type:ControlType.Number,title:\"Vignette\",min:0,max:1,step:.05},floor:{type:ControlType.Number,title:\"Floor\",min:0,max:.6,step:.01,description:\"Faint ribs outside the light\"},seed:{type:ControlType.Number,title:\"Seed\",min:0,max:99,step:1,description:\"Different fold pattern\"},sweep:{type:ControlType.Number,title:\"Sweep\",min:0,max:1,step:.05,description:\"Light drifts left–right (0 = off)\"},cursor:{type:ControlType.Boolean,title:\"Cursor\",description:\"Ribs bend and the light follows the pointer\"},overlay:{type:ControlType.Enum,title:\"Overlay\",options:[\"none\",\"hero\",\"cta\"],optionTitles:[\"None\",\"Hero fade\",\"CTA fade\"],description:\"Dark fade on top so text stays readable\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RibbedLight\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"720\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"1280\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RibbedLight.map","/*\n * RibbedLight\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/D1dCXIbPiWIw14qMZWfe/rV1KVXHFU0Dy4xrsJHBu/RibbedLight.js\"\nexport { default } from \"https://framerusercontent.com/modules/D1dCXIbPiWIw14qMZWfe/rV1KVXHFU0Dy4xrsJHBu/RibbedLight.js\"\n","// Footer — the Nordlys site footer.\n// Email link whose letters roll up in violet on hover, two link columns, four \"station\" readouts\n// (write {clock} in a value to show the live Tromsø time), the giant wordmark lit by the RibbedLight\n// shader, and the bottom bar with the \"Built in Framer\" and \"Created by\" credits and a working \"Back to top\".\n// Below 960 px the email and columns stack and the stations go to 2 columns; below 600 px to 1.\n// \"Bare\" keeps only the bottom bar (404 page).\n// The bottom bar keeps 96 px below it so it clears the fixed bottom blur band.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{fontsLink,isCanvas,arrowSvg}from\"https://framer.com/m/NordlysKit-9OaTZJ.js\";import RibbedLight from\"https://framer.com/m/RibbedLight-2bJ0rO.js\";const COL1=[{label:\"Home\",link:\"/home-01\"},{label:\"Company\",link:\"/company\"},{label:\"Pricing\",link:\"/pricing-01\"},{label:\"Case studies\",link:\"/case-studies\"},{label:\"News\",link:\"/news\"},{label:\"Careers\",link:\"/careers\"},{label:\"Contact\",link:\"/contact-01\"}];const COL2=[{label:\"Design system\",link:\"/design-system\"},{label:\"All pages\",link:\"/\"},{label:\"404\",link:\"/404\"}];const linkOf=(l,defs)=>l.link||defs.find(d=>d.label===l.label)?.link||\"#\";const PROFILE=\"https://www.framer.com/@flowmance/\";const SITE=\"https://flowmance.com\";const AVATAR=\"https://y4pdgnepgswqffpt.public.blob.vercel-storage.com/media/5a8fe6df-024d-4c89-8b1a-570e37bcbe89/2153vn59\";const Mark=()=>/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 20 20\",width:12,height:12,\"aria-hidden\":\"true\",fill:\"currentColor\",style:{flex:\"none\",color:\"#F3F3F3\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"2\",y:\"2\",width:\"3.6\",height:\"16\"}),/*#__PURE__*/_jsx(\"polygon\",{points:\"6.7,2 10,2 13.3,18 10,18\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14.4\",y:\"2\",width:\"3.6\",height:\"16\"})]});const FramerMark=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",fill:\"currentColor\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M4 0h16v8h-8L4 0zM4 8h8l8 8H4V8zM4 16h8v8l-8-8z\"})});const CSS=`\n.nl-ft{--fg:#F3F3F3;--mute:#A6A6A6;--dim:#5E5E5E;--line:rgba(243,243,243,.12);--ease:cubic-bezier(.16,1,.3,1);position:relative;width:100%;padding:0 var(--gut,28px);font-family:\"Inter Tight\",ui-sans-serif,system-ui,sans-serif;color:var(--fg);-webkit-font-smoothing:antialiased;background:#000}\n.nl-ft *{box-sizing:border-box}\n.nl-ft a{color:inherit;text-decoration:none}\n.nl-ft .mono{font-family:\"Geist Mono\",ui-monospace,monospace;font-weight:400;font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.45}\n.nl-ft .f-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:var(--ftp,77px)}\n.nl-ft .f-mail{grid-column:1 / span 7;display:flex;flex-direction:column;gap:18px;min-width:0}\n.nl-ft .f-mail>.mono:first-child{color:var(--mute)}\n.nl-ft .mail{position:relative;display:inline-flex;align-items:center;gap:.35em;align-self:flex-start;max-width:100%;padding-bottom:10px;font-size:var(--mfs,32px);font-weight:500;letter-spacing:-.035em;line-height:1;color:var(--fg)}\n.nl-ft .mail .txt{display:inline-flex;flex-wrap:wrap;min-width:0}\n.nl-ft .mail .ch{position:relative;display:inline-block;overflow:hidden;height:1.12em;line-height:1.12}\n.nl-ft .mail .ch i{display:block;font-style:normal;transition:transform .7s var(--ease)}\n.nl-ft .mail .ch i+i{position:absolute;left:0;top:100%;color:#C9BDFF}\n.nl-ft .mail:hover .ch i,.nl-ft .mail:focus-visible .ch i{transform:translateY(-100%)}\n.nl-ft .mail::before,.nl-ft .mail::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}\n.nl-ft .mail::before{background:var(--dim)}\n.nl-ft .mail::after{background:linear-gradient(90deg,#6E4BFF,#C9BDFF);box-shadow:0 0 10px rgba(110,75,255,.7);transform:scaleX(0);transform-origin:100% 50%;transition:transform .8s var(--ease)}\n.nl-ft .mail:hover::after,.nl-ft .mail:focus-visible::after{transform:scaleX(1);transform-origin:0 50%}\n.nl-ft .mail .ar{position:relative;display:grid;place-items:center;width:.9em;height:.9em;overflow:hidden;flex:none}\n.nl-ft .mail .ar svg{width:.62em;height:.62em;transition:transform .7s var(--ease)}\n.nl-ft .mail .ar svg+svg{position:absolute;transform:translate(-120%,120%);color:#C9BDFF}\n.nl-ft .mail:hover .ar svg:first-child{transform:translate(120%,-120%)}\n.nl-ft .mail:hover .ar svg+svg{transform:none}\n.nl-ft .hint{color:var(--dim)}\n.nl-ft .f-cols{grid-column:9 / span 4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}\n.nl-ft .fcol{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;letter-spacing:.011em;line-height:1.45}\n.nl-ft .fcol .mono{color:var(--dim);margin-bottom:8px}\n.nl-ft .fcol a{color:var(--mute);transition:color .3s}\n.nl-ft .fcol a:hover{color:var(--fg)}\n.nl-ft .stations{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}\n.nl-ft .stations::before,.nl-ft .stations::after{content:\"+\";position:absolute;top:-6px;font:300 11px/1 \"Geist Mono\",monospace;color:var(--mute);pointer-events:none}\n.nl-ft .stations::before{left:-3px}.nl-ft .stations::after{right:-3px}\n.nl-ft .stn{padding:14px 16px 16px 0;display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0}\n.nl-ft .stn+.stn{padding-left:16px;border-left:1px solid var(--line)}\n.nl-ft .stn .mono{color:var(--mute)}\n.nl-ft .stn b{font-weight:500;font-size:14px;letter-spacing:.011em;white-space:nowrap}\n.nl-ft .wm{position:relative;margin-top:var(--wmt,51px)}\n.nl-ft .fbot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:18px 96px;border-top:1px solid var(--line);color:var(--dim)}\n.nl-ft .fb-l{display:flex;align-items:center;gap:10px}\n.nl-ft .build i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#7FD4A8;margin-right:8px;vertical-align:1px;box-shadow:0 0 6px #7FD4A8}\n.nl-ft .credit{display:inline-flex;align-items:center;gap:8px;color:var(--mute);transition:color .3s}\n.nl-ft .credit svg{width:11px;height:11px;flex:none;color:var(--fg)}\n.nl-ft .credit:hover,.nl-ft .credit:focus-visible{color:var(--fg)}\n.nl-ft .by{display:inline-flex;align-items:center;gap:8px;color:var(--dim)}\n.nl-ft .by img{width:20px;height:20px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--line)}\n.nl-ft .by b{font-weight:400;color:var(--fg);transition:color .3s}\n.nl-ft .by:hover b,.nl-ft .by:focus-visible b{color:#C9BDFF}\n.nl-ft .fbot button{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--mute);font:inherit;letter-spacing:0;cursor:pointer;padding:0;text-transform:uppercase}\n.nl-ft .fbot button:hover{color:var(--fg)}\n.nl-ft.is-md .f-mail,.nl-ft.is-md .f-cols{grid-column:1 / -1}\n.nl-ft.is-md .stations{grid-template-columns:repeat(2,minmax(0,1fr))}\n.nl-ft.is-md .stn:nth-child(3){padding-left:0;border-left:0}\n.nl-ft.is-md .stn:nth-child(n+3){border-top:1px solid var(--line)}\n.nl-ft.is-sm .stations{grid-template-columns:1fr}\n.nl-ft.is-sm .stn,.nl-ft.is-sm .stn+.stn{padding-left:0;border-left:0}\n.nl-ft.is-sm .stn+.stn{border-top:1px solid var(--line)}\n.nl-ft.is-bare .fbot{border-top:1px solid var(--line)}\n`;const osloTime=()=>new Date().toLocaleTimeString(\"en-GB\",{hour:\"2-digit\",minute:\"2-digit\",timeZone:\"Europe/Oslo\"})+\" local\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1280\n * @framerIntrinsicHeight 980\n */export default function Footer(p){const{mailLabel,email,hint,col1Title,col1,col2Title,col2,stations,wordmark,word,lightX,lightY,gain,copyright,status,credit,creditLink,createdLabel,author,authorLink,avatar,toTop,bare}=p;const root=React.useRef(null);const[w,setW]=React.useState(1280);const[clock,setClock]=React.useState(\"—\");React.useLayoutEffect(()=>{const el=root.current;if(!el)return;const ro=new ResizeObserver(()=>setW(el.offsetWidth));ro.observe(el);setW(el.offsetWidth);return()=>ro.disconnect();},[]);React.useEffect(()=>{const tick=()=>setClock(osloTime());tick();if(isCanvas())return;const t=window.setInterval(tick,1e3);return()=>window.clearInterval(t);},[]);const vw=w+16// the design measures against the full viewport\n;const clamp=(min,v,max)=>Math.max(min,Math.min(max,v));const vars={\"--gut\":clamp(16,vw*.022,32)+\"px\",\"--ftp\":clamp(56,vw*.06,96)+\"px\",\"--mfs\":clamp(22,vw*.025,40)+\"px\",\"--wmt\":clamp(32,vw*.04,64)+\"px\"};const cls=[\"nl-ft\",w<=960?\"is-md\":\"\",w<=600?\"is-sm\":\"\",bare?\"is-bare\":\"\"].join(\" \");const chars=Array.from(email||\"\");return /*#__PURE__*/_jsxs(\"footer\",{ref:root,className:cls,style:{...p.style,...vars},children:[fontsLink(),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),!bare&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"f-top\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"f-mail\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mono\",children:mailLabel}),/*#__PURE__*/_jsxs(\"a\",{className:\"mail\",href:\"mailto:\"+email,\"aria-label\":\"Email \"+email,children:[/*#__PURE__*/_jsx(\"span\",{className:\"txt\",\"aria-hidden\":\"true\",children:chars.map((c,i)=>/*#__PURE__*/_jsxs(\"span\",{className:\"ch\",children:[/*#__PURE__*/_jsx(\"i\",{style:{transitionDelay:i*14+\"ms\"},children:c}),/*#__PURE__*/_jsx(\"i\",{style:{transitionDelay:i*14+\"ms\"},children:c})]},i))}),/*#__PURE__*/_jsxs(\"span\",{className:\"ar\",\"aria-hidden\":\"true\",children:[arrowSvg(\"ne\"),arrowSvg(\"ne\")]})]}),/*#__PURE__*/_jsx(\"span\",{className:\"hint mono\",children:hint})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"f-cols\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"fcol\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mono\",children:col1Title}),(col1||[]).map((l,i)=>/*#__PURE__*/_jsx(\"a\",{href:linkOf(l,COL1),children:l.label},i))]}),/*#__PURE__*/_jsxs(\"div\",{className:\"fcol\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mono\",children:col2Title}),(col2||[]).map((l,i)=>/*#__PURE__*/_jsx(\"a\",{href:linkOf(l,COL2),children:l.label},i))]})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"stations\",children:(stations||[]).map((s,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"stn\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mono\",children:s.label}),/*#__PURE__*/_jsx(\"b\",{children:(s.value||\"\").replace(\"{clock}\",clock)})]},i))}),wordmark&&/*#__PURE__*/_jsx(\"div\",{className:\"wm\",children:/*#__PURE__*/_jsx(RibbedLight,{mode:\"wordmark\",word:word,lightX:lightX,lightY:lightY,gain:gain,rib:10,spread:1.05,seed:3,vignette:.3,floor:.12,sweep:.3,cursor:true})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"fbot mono\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"fb-l\",children:[/*#__PURE__*/_jsx(Mark,{}),copyright]}),/*#__PURE__*/_jsxs(\"span\",{className:\"build\",children:[/*#__PURE__*/_jsx(\"i\",{}),status]}),credit&&/*#__PURE__*/_jsxs(\"a\",{className:\"credit\",href:creditLink||PROFILE,target:\"_blank\",rel:\"noopener\",children:[/*#__PURE__*/_jsx(FramerMark,{}),credit]}),author&&/*#__PURE__*/_jsxs(\"a\",{className:\"by\",href:authorLink||SITE,target:\"_blank\",rel:\"noopener\",children:[createdLabel,avatar&&/*#__PURE__*/_jsx(\"img\",{src:avatar,alt:\"\"}),/*#__PURE__*/_jsx(\"b\",{children:author})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>window.scrollTo({top:0,behavior:\"smooth\"}),children:[toTop,\" \",arrowSvg(\"up\",9)]})]})]});}Footer.defaultProps={mailLabel:\"Talk to an engineer\",email:\"hello@nordlys.example\",hint:\"Engineers reply within one working day\",col1Title:\"Pages\",col1:COL1,col2Title:\"Template\",col2:COL2,stations:[{label:\"Troms\\xf8 HQ\",value:\"{clock}\"},{label:\"N-01 Narvik\",value:\"−4 \\xb0C \\xb7 Live\"},{label:\"N-02 Kiruna\",value:\"−9 \\xb0C \\xb7 2027\"},{label:\"NO4 price\",value:\"€4.3 / MWh\"}],wordmark:true,word:\"Nordlys\",lightX:.5,lightY:.5,gain:2.4,copyright:\"\\xa9 2026 Nordlys AS \\xb7 Org. 931 204 118\",status:\"All systems normal \\xb7 build 26.10.05\",credit:\"Built in Framer\",creditLink:PROFILE,createdLabel:\"Created by\",author:\"Flowmance\",authorLink:SITE,avatar:AVATAR,toTop:\"Back to top\",bare:false};const linkArray=title=>({type:ControlType.Array,title,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\"},link:{type:ControlType.Link,title:\"Link\"}}}});addPropertyControls(Footer,{mailLabel:{type:ControlType.String,title:\"Mail label\"},email:{type:ControlType.String,title:\"Email\"},hint:{type:ControlType.String,title:\"Hint\"},col1Title:{type:ControlType.String,title:\"Column 1\"},col1:linkArray(\"Links 1\"),col2Title:{type:ControlType.String,title:\"Column 2\"},col2:linkArray(\"Links 2\"),stations:{type:ControlType.Array,title:\"Stations\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\"},value:{type:ControlType.String,title:\"Value\",description:\"{clock} = live Troms\\xf8 time\"}}}},wordmark:{type:ControlType.Boolean,title:\"Wordmark\"},word:{type:ControlType.String,title:\"Word\",hidden:p=>!p.wordmark},lightX:{type:ControlType.Number,title:\"Light X\",min:0,max:1,step:.01,hidden:p=>!p.wordmark},lightY:{type:ControlType.Number,title:\"Light Y\",min:0,max:1,step:.01,hidden:p=>!p.wordmark},gain:{type:ControlType.Number,title:\"Gain\",min:.5,max:4,step:.05,hidden:p=>!p.wordmark},copyright:{type:ControlType.String,title:\"Copyright\"},status:{type:ControlType.String,title:\"Status\"},credit:{type:ControlType.String,title:\"Credit\",description:\"Leave empty to hide\"},creditLink:{type:ControlType.Link,title:\"Credit link\"},createdLabel:{type:ControlType.String,title:\"Created label\"},author:{type:ControlType.String,title:\"Author\",description:\"Leave empty to hide\"},authorLink:{type:ControlType.Link,title:\"Author link\"},avatar:{type:ControlType.Image,title:\"Avatar\"},toTop:{type:ControlType.String,title:\"Back to top\"},bare:{type:ControlType.Boolean,title:\"Bare\",description:\"Bottom bar only (404 page)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Footer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1280\",\"framerIntrinsicHeight\":\"980\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Footer.map","// Nav — the Nordlys top bar and its glass menu panel.\n// Logo + coordinates on the left; the \"Plan capacity\" pill and the Menu button on the right (page links in the\n// bar are off by default, as in the original design: they live in the Menu panel; turn on \"Show links\" to add them).\n// The Menu button (or the M key) opens the panel with every page; Escape closes it. After 20 px of\n// scroll the bar turns into blurred glass. A thin violet rail on the right shows the scroll progress.\n// Below 960 px only the logo, pill and Menu stay; below 600 px the pill hides too.\n// Edit the links and menu items in the property panel. \"Current\" lights up the link of this page.\n// \"Bottom blur\" adds the fixed, graduated blur strip along the bottom edge of the window on every page:\n// five layers with growing blur; in Chrome and Edge each layer uses an SVG filter (soft blur plus a slight\n// red/blue split), other browsers keep the plain CSS blur. Same values as the original design.\n// \"Preloader\" covers the page on load: the split-N mark assembles, shrinks away and the black cover wipes up\n// (2.25 s, pure CSS so it shows from the first paint). Skipped with reduced motion and on the canvas.\n// While it covers the page, every page animation is paused; at 1.55 s (as in the original) the cover gets\n// \"done\", page animations play and the bar items slide in. Other components wait for the \"nl:intro\" event.\n// \"Form style\" gives every native Framer form the original underline: inputs flush left, no own border, and a\n// violet line that draws in along the field's bottom border on focus.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{fontsLink,isCanvas,useReducedMotion,arrowSvg,MESH_URL}from\"https://framer.com/m/NordlysKit-9OaTZJ.js\";const LINKS=[{label:\"Company\",link:\"/company\"},{label:\"Pricing\",link:\"/pricing-01\"},{label:\"Customers\",link:\"/case-studies\"},{label:\"News\",link:\"/news\"}];const ITEMS=[{label:\"Home\",note:\"4 layouts\",link:\"/home-01\"},{label:\"Company\",note:\"Since 2024\",link:\"/company\"},{label:\"Pricing\",note:\"From $1.62\",link:\"/pricing-01\"},{label:\"Case studies\",note:\"6 teams\",link:\"/case-studies\"},{label:\"News\",note:\"Field notes\",link:\"/news\"},{label:\"Careers\",note:\"7 open roles\",link:\"/careers\"},{label:\"Contact\",note:\"Reply in 1 day\",link:\"/contact-01\"}];// array link defaults are not published by Framer: fall back to the default list by label\nconst linkOf=(l,defs)=>l.link||defs.find(d=>d.label===l.label)?.link||\"#\";export const Mark=({size=17})=>/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 20 20\",width:size,height:size,\"aria-hidden\":\"true\",style:{flex:\"none\",display:\"block\"},fill:\"currentColor\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"2\",y:\"2\",width:\"3.6\",height:\"16\"}),/*#__PURE__*/_jsx(\"polygon\",{points:\"6.7,2 10,2 13.3,18 10,18\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14.4\",y:\"2\",width:\"3.6\",height:\"16\"})]});// bottom blur SVG filters: blur grows as (i + 1)² × 0.00024 of the strip, violet/blue glows spread by the same amount\nconst KB=[0,1,2,3,4].map(i=>{const sd=+(24e-5*(i+1)*(i+1)).toFixed(5);return{id:\"nl-kb-\"+i,sd,shift:+(-sd*2/3).toFixed(5)};});const BlurFilters=()=>/*#__PURE__*/_jsx(\"svg\",{width:\"0\",height:\"0\",\"aria-hidden\":\"true\",style:{position:\"absolute\",width:0,height:0,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"defs\",{children:KB.map(k=>/*#__PURE__*/_jsxs(\"filter\",{id:k.id,colorInterpolationFilters:\"sRGB\",primitiveUnits:\"objectBoundingBox\",x:\"0%\",y:\"0%\",width:\"100%\",height:\"100%\",children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:\"SourceGraphic\",stdDeviation:k.sd,result:\"blurred\"}),/*#__PURE__*/_jsx(\"feOffset\",{in:\"blurred\",dx:k.shift,dy:\"0\",result:\"shifted\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"shifted\",type:\"matrix\",values:\"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .2126 .7152 .0722 0 0\",result:\"lum\"}),/*#__PURE__*/_jsx(\"feOffset\",{in:\"lum\",dx:-k.sd,dy:\"0\",result:\"lumL\"}),/*#__PURE__*/_jsx(\"feOffset\",{in:\"lum\",dx:k.sd,dy:\"0\",result:\"lumR\"}),/*#__PURE__*/_jsx(\"feComposite\",{in:\"lumL\",in2:\"lum\",operator:\"arithmetic\",k1:\"0\",k2:\"1.6\",k3:\"-1.6\",k4:\"0\",result:\"dL\"}),/*#__PURE__*/_jsx(\"feComposite\",{in:\"lumR\",in2:\"lum\",operator:\"arithmetic\",k1:\"0\",k2:\"1.6\",k3:\"-1.6\",k4:\"0\",result:\"dR\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"dL\",type:\"matrix\",values:\"0 0 0 0 .43 0 0 0 0 .29 0 0 0 0 1 0 0 0 1 0\",result:\"tV\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"dR\",type:\"matrix\",values:\"0 0 0 0 .2 0 0 0 0 .45 0 0 0 0 1 0 0 0 1 0\",result:\"tB\"}),/*#__PURE__*/_jsx(\"feComposite\",{in:\"shifted\",in2:\"tV\",operator:\"arithmetic\",k1:\"0\",k2:\"1\",k3:\"1\",k4:\"0\",result:\"sv\"}),/*#__PURE__*/_jsx(\"feComposite\",{in:\"sv\",in2:\"tB\",operator:\"arithmetic\",k1:\"0\",k2:\"1\",k3:\"1\",k4:\"0\"})]},k.id))})});const PILL_ARROW=c=>`url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M1 6h10M6.5 1.5 11 6l-4.5 4.5' stroke='%23${c}' stroke-width='1.1'/%3E%3C/svg%3E\")`;const CSS=`\n.nl-nv{--fg:#F3F3F3;--mute:#A6A6A6;--line:rgba(243,243,243,.12);--ease:cubic-bezier(.16,1,.3,1);font-family:\"Inter Tight\",ui-sans-serif,system-ui,sans-serif;color:var(--fg);-webkit-font-smoothing:antialiased;width:100%}\n.nl-nv *{box-sizing:border-box}\n.nl-nv a{color:inherit;text-decoration:none}\n.nl-nv .nv-bar{position:relative;height:65px;border-bottom:1px solid transparent;transition:background .5s,border-color .5s}\n.nl-nv.is-scrolled .nv-bar{background:rgba(0,0,0,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}\n.nl-nv .nv-in{display:flex;justify-content:space-between;align-items:center;height:64px;gap:16px;padding:0 var(--gut,28px)}\n.nl-nv .nv-l{display:flex;align-items:center;gap:14px}\n.nl-nv .nv-logo{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:500;letter-spacing:-.035em;line-height:1.45}\n.nl-nv .nv-sep{width:1px;height:14px;background:rgba(243,243,243,.25)}\n.nl-nv .mono{font-family:\"Geist Mono\",ui-monospace,monospace;font-weight:400;font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.45}\n.nl-nv .nv-c{color:var(--mute)}\n.nl-nv .nv-r{display:flex;align-items:center;justify-content:flex-end;gap:28px;font-size:14px;font-weight:500;letter-spacing:.011em}\n.nl-nv .lk{position:relative;opacity:.7;transition:opacity .3s}\n.nl-nv .lk:hover,.nl-nv .lk.cur{opacity:1}\n.nl-nv .lk::before,.nl-nv .lk::after{position:absolute;top:0;font-family:\"Geist Mono\",monospace;color:var(--mute);opacity:0;transition:opacity .3s,transform .5s var(--ease)}\n.nl-nv .lk::before{content:\"[\";left:-9px;transform:translateX(5px)}\n.nl-nv .lk::after{content:\"]\";right:-9px;transform:translateX(-5px)}\n.nl-nv .lk:hover::before,.nl-nv .lk:hover::after{opacity:1;transform:none}\n.nl-nv .lk.cur::before,.nl-nv .lk.cur::after{opacity:1;transform:none;color:#C9BDFF}\n.nl-nv .pill{position:relative;display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 0 0 12px;border-radius:2px;border:0;cursor:pointer;white-space:nowrap;font:400 11px/1 \"Geist Mono\",monospace;letter-spacing:.09em;text-transform:uppercase;color:#000;background:linear-gradient(#000,#000) 0 0/0% 100% no-repeat,var(--fg);box-shadow:inset 0 0 0 1px var(--fg);transition:background-size .6s var(--ease),color .4s var(--ease)}\n.nl-nv .pill::before{content:\"\";width:5px;height:5px;background:currentColor;flex:none}\n.nl-nv .pill::after{content:\"\";width:12px;box-sizing:content-box;align-self:stretch;margin-left:6px;padding:0 13px;border-left:1px solid currentColor;opacity:.75;background:${PILL_ARROW(\"000\")} center/12px 12px no-repeat;transition:padding .5s var(--ease)}\n.nl-nv .pill:hover{background-size:100% 100%,auto;color:var(--fg)}\n.nl-nv .pill:hover::after{padding:0 9px 0 15px;background-image:${PILL_ARROW(\"F3F3F3\")}}\n.nl-nv .mbtn{margin-left:-20px;display:inline-flex;align-items:center;gap:12px;height:38px;padding:0 12px 0 14px;border-radius:2px;background:rgba(243,243,243,.05);box-shadow:inset 0 0 0 1px rgba(243,243,243,.3);color:var(--fg);font:400 11px/1 \"Geist Mono\",monospace;letter-spacing:.09em;text-transform:uppercase;border:0;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .4s}\n.nl-nv .mbtn:hover{background:rgba(243,243,243,.12)}\n.nl-nv .mbtn .lbl{display:grid;height:11px;overflow:hidden}\n.nl-nv .mbtn .lbl span{transition:transform .6s var(--ease)}\n.nl-nv.is-open .mbtn .lbl span{transform:translateY(-100%)}\n.nl-nv .mbtn .ic{position:relative;width:10px;height:10px}\n.nl-nv .mbtn .ic i{position:absolute;left:0;right:0;top:50%;height:1.2px;background:currentColor;transition:transform .6s var(--ease)}\n.nl-nv .mbtn .ic i:first-child{transform:translateY(-2.5px)}\n.nl-nv .mbtn .ic i:last-child{transform:translateY(2.5px)}\n.nl-nv.is-open .mbtn .ic i:first-child{transform:rotate(45deg)}\n.nl-nv.is-open .mbtn .ic i:last-child{transform:rotate(-45deg)}\n.nl-nv .scrim{position:fixed;inset:0;z-index:-1;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}\n.nl-nv.is-open .scrim{opacity:1;visibility:visible}\n.nl-nv .panel{position:absolute;top:72px;right:var(--gut,28px);width:min(380px,calc(100% - 2 * var(--gut,28px)));padding:8px 20px 18px;border-radius:14px;background:rgba(14,11,24,.78);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -30px rgba(0,0,0,.8);transform-origin:top right;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transition:opacity .45s var(--ease),transform .6s var(--ease),visibility .45s}\n.nl-nv.is-open .panel{opacity:1;visibility:visible;transform:none}\n.nl-nv .panel nav{display:flex;flex-direction:column}\n.nl-nv .panel nav a{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:20px;font-weight:400;letter-spacing:-.025em;transition:color .3s}\n.nl-nv .panel nav a::after{content:\"\";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,#6E4BFF,#C9BDFF);box-shadow:0 0 8px rgba(110,75,255,.6);transform:scaleX(0);transform-origin:100% 50%;transition:transform .7s var(--ease)}\n.nl-nv .panel nav a:hover::after,.nl-nv .panel nav a:focus-visible::after{transform:scaleX(1);transform-origin:0 50%}\n.nl-nv .panel .pl{display:inline-flex;align-items:center}\n.nl-nv .panel .pl::before{content:\"\";width:0;height:5px;margin-right:0;background:#C9BDFF;box-shadow:0 0 6px rgba(110,75,255,.8);transition:width .5s var(--ease),margin .5s var(--ease)}\n.nl-nv .panel nav a:hover .pl::before{width:5px;margin-right:12px}\n.nl-nv .panel .rl{display:block;overflow:hidden;height:1.18em;line-height:1.18}\n.nl-nv .panel .rl i{display:block;font-style:normal;transition:transform .6s var(--ease)}\n.nl-nv .panel nav a:hover .rl i{transform:translateY(-100%)}\n.nl-nv .panel nav a .mono{color:var(--mute);transition:color .4s,letter-spacing .6s var(--ease)}\n.nl-nv .panel nav a:hover .mono{color:#C9BDFF;letter-spacing:.16em}\n.nl-nv .panel nav:hover a{color:var(--mute)}\n.nl-nv .panel nav a:hover{color:var(--fg)}\n.nl-nv .panel nav a,.nl-nv .panel .pf{opacity:1;transform:none}\n.nl-nv.is-anim .panel nav a,.nl-nv.is-anim .panel .pf{opacity:0;transform:translateY(14px)}\n.nl-nv.is-open .panel nav a,.nl-nv.is-open .panel .pf{transition:color .3s,opacity .8s var(--ease),transform .8s var(--ease)}\n.nl-nv .panel-top{display:flex;justify-content:space-between;align-items:center;padding:12px 0 10px;border-bottom:1px solid var(--line);color:var(--mute)}\n.nl-nv .panel-top svg{color:var(--fg)}\n.nl-nv kbd{font:400 9px/1 \"Geist Mono\",monospace;padding:3px 5px;box-shadow:inset 0 0 0 1px rgba(243,243,243,.3);color:var(--fg)}\n.nl-nv .pf{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}\n.nl-nv .pf .mono{color:var(--mute);display:inline-flex;gap:6px;align-items:center}\n.nl-nv .rail{position:fixed;right:14px;top:50%;height:120px;width:1px;background:var(--line);transform:translateY(-50%);pointer-events:none}\n.nl-nv .rail i{position:absolute;left:0;top:0;width:1px;height:100%;background:linear-gradient(#6E4BFF,#C9BDFF);transform-origin:50% 0;transform:scaleY(0)}\n.nl-nv .rail span{position:absolute;top:calc(100% + 8px);right:-3px;color:#5E5E5E;writing-mode:vertical-rl;font-variant-numeric:tabular-nums}\n.nl-nv .bb{position:fixed;left:0;right:0;bottom:0;height:69px;z-index:36;pointer-events:none;overflow:hidden}\n.nl-nv .bb i{position:absolute;inset:0 -24px}\n.nl-nv .bb i:nth-of-type(1){backdrop-filter:blur(.35px);-webkit-backdrop-filter:blur(.35px);-webkit-mask-image:linear-gradient(#0000 0%,#000 20% 40%,#0000 60%);mask-image:linear-gradient(#0000 0%,#000 20% 40%,#0000 60%)}\n.nl-nv .bb i:nth-of-type(2){backdrop-filter:blur(1.4px);-webkit-backdrop-filter:blur(1.4px);-webkit-mask-image:linear-gradient(#0000 20%,#000 40% 60%,#0000 80%);mask-image:linear-gradient(#0000 20%,#000 40% 60%,#0000 80%)}\n.nl-nv .bb i:nth-of-type(3){backdrop-filter:blur(3.1px);-webkit-backdrop-filter:blur(3.1px);-webkit-mask-image:linear-gradient(#0000 40%,#000 60% 80%,#0000 100%);mask-image:linear-gradient(#0000 40%,#000 60% 80%,#0000 100%)}\n.nl-nv .bb i:nth-of-type(4){backdrop-filter:blur(5.5px);-webkit-backdrop-filter:blur(5.5px);-webkit-mask-image:linear-gradient(#0000 60%,#000 80% 100%,#0000 120%);mask-image:linear-gradient(#0000 60%,#000 80% 100%,#0000 120%)}\n.nl-nv .bb i:nth-of-type(5){backdrop-filter:blur(8.6px);-webkit-backdrop-filter:blur(8.6px);-webkit-mask-image:linear-gradient(#0000 80%,#000 100% 120%,#0000 140%);mask-image:linear-gradient(#0000 80%,#000 100% 120%,#0000 140%)}\n.nl-nv.is-canvas .bb{display:none}\n.nl-nv .ld{position:fixed;inset:0;z-index:90;background:#000;display:grid;place-items:center;pointer-events:none;clip-path:inset(0 0 0 0);animation:nl-ld-wipe 1s cubic-bezier(.87,0,.13,1) 1.25s forwards}\n.nl-nv .ld svg{width:44px;height:44px;fill:var(--fg);overflow:visible;animation:nl-ld-out .6s cubic-bezier(.7,0,.84,0) 1s forwards}\n.nl-nv .ld .m1,.nl-nv .ld .m2,.nl-nv .ld .m3{transform-box:fill-box}\n.nl-nv .ld .m1{transform-origin:50% 100%;animation:nl-ld-bar .7s cubic-bezier(.87,0,.13,1) both}\n.nl-nv .ld .m3{transform-origin:50% 0%;animation:nl-ld-bar .7s cubic-bezier(.87,0,.13,1) .08s both}\n.nl-nv .ld .m2{animation:nl-ld-mid .6s cubic-bezier(.16,1,.3,1) .35s both}\n@keyframes nl-ld-bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}\n@keyframes nl-ld-mid{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}\n@keyframes nl-ld-out{to{transform:scale(.6);opacity:0}}\n@keyframes nl-ld-wipe{to{clip-path:inset(0 0 100% 0);visibility:hidden}}\n@media (prefers-reduced-motion:reduce){.nl-nv .ld{display:none}}\n.nl-nv.is-canvas .ld{display:none}\n@media (prefers-reduced-motion:no-preference){\nhtml:has(.nl-nv .ld:not(.done)) body *:not(.nl-nv):not(.nl-nv *){animation-play-state:paused!important}\n.nl-nv.has-ld .nv-l>*,.nl-nv.has-ld .nv-r>*{animation:nl-nv-in 1s cubic-bezier(.16,1,.3,1) both}\n.nl-nv.has-ld .nv-l>*:nth-child(1){animation-delay:1.55s}.nl-nv.has-ld .nv-l>*:nth-child(2){animation-delay:1.6s}.nl-nv.has-ld .nv-l>*:nth-child(3){animation-delay:1.65s}\n.nl-nv.has-ld .nv-r>*:nth-last-child(2){animation-delay:1.7s}.nl-nv.has-ld .nv-r>*:nth-last-child(1){animation-delay:1.75s}\n}\n@keyframes nl-nv-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}\n.nl-nv.is-md .lk,.nl-nv.is-md .nv-c,.nl-nv.is-md .nv-sep,.nl-nv.is-md .rail{display:none}\n.nl-nv.is-sm .nv-r .pill{display:none}\n.nl-nv.is-bare .nv-r,.nl-nv.is-bare .nv-c,.nl-nv.is-bare .nv-sep,.nl-nv.is-bare .rail{display:none}\n.nl-nv.is-canvas .rail{display:none}\n`;// Original form look for native Framer forms (site-wide): field frame = the <label> holding the input\nconst FORM_CSS=`\n.framer-form-text-input,.framer-form-select-wrapper{padding-left:0!important;padding-right:0!important;box-shadow:none!important;background:transparent!important}\n.framer-form-text-input::after,.framer-form-select-wrapper::after{border-width:0!important}\nlabel:has(>.framer-form-text-input),label:has(>.framer-form-select-wrapper),label:has(.framer-form-text-input),label:has(.framer-form-select-wrapper){position:relative}\nlabel:has(.framer-form-text-input)::before,label:has(.framer-form-select-wrapper)::before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;z-index:2;pointer-events:none;background:linear-gradient(90deg,#6E4BFF,#C9BDFF);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s cubic-bezier(.16,1,.3,1)}\nlabel:has(.framer-form-text-input):focus-within::before,label:has(.framer-form-select-wrapper):focus-within::before{transform:scaleX(1)}\nselect.framer-form-input{padding-left:0!important}\ntextarea.framer-form-input{padding-left:0!important;padding-right:0!important}\n.framer-form-input::placeholder{color:#5E5E5E}\n.framer-form-text-input,.framer-form-select-wrapper{height:auto!important;min-height:38px;overflow:visible!important}\n.framer-form-text-input .framer-form-input,input.framer-form-input,select.framer-form-input{padding-top:6px!important;padding-bottom:6px!important;height:auto!important;min-height:38px;line-height:1.3!important;box-sizing:border-box}\ntextarea.framer-form-input{padding-top:6px!important;padding-bottom:6px!important;min-height:92px;line-height:1.3!important}\n.framer-form-input{--framer-input-font-family:\"Inter Tight\",sans-serif!important;font-family:\"Inter Tight\",sans-serif!important;letter-spacing:-.015em}\n`;// Original list/card hovers for the native CMS rows (site-wide, matched by layer name):\n// News Row, Note Row, Case Row, Role Row, Rel Card. Underline draws left to right, titles light up, arrows turn,\n// the case/news rows show a floating photo that follows the cursor (desktop), filter tabs get the original active look.\nconst E=\"cubic-bezier(.16,1,.3,1)\";const ROWS=`[data-framer-name=\"News Row\"],[data-framer-name=\"Note Row\"],[data-framer-name=\"Case Row\"],[data-framer-name=\"Role Row\"],[data-framer-name=\"Rel Card\"]`;const SLIDE=`[data-framer-name=\"News Row\"],[data-framer-name=\"Note Row\"],[data-framer-name=\"Role Row\"]`;const HOVER_CSS=`\n:is(${ROWS})::before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;z-index:1;pointer-events:none;background:linear-gradient(90deg,#6E4BFF,#C9BDFF);box-shadow:0 0 8px rgba(110,75,255,.6);transform:scaleX(.0001);transform-origin:100% 50%;transition:transform .8s ${E}}\n:is(${ROWS}):is(:hover,:focus-visible)::before{transform:scaleX(1);transform-origin:0 50%}\n:is(${SLIDE}){transform:none!important;transition:padding-left .6s ${E}}\n:is(${SLIDE}):hover{padding-left:12px!important;z-index:2}\n@media (max-width:809.98px){:is([data-framer-name=\"Note Row\"],[data-framer-name=\"Role Row\"]):hover{padding-left:0!important}}\n:is([data-framer-name=\"News Row\"] [data-framer-name=\"Title\"],[data-framer-name=\"Note Row\"] [data-framer-name=\"Title\"],[data-framer-name=\"Role Row\"] [data-framer-name=\"Title\"],[data-framer-name=\"Case Row\"] [data-framer-name=\"RowHeadline\"],[data-framer-name=\"Rel Card\"] [data-framer-name=\"Title\"]) .framer-text{color:#A6A6A6!important;transition:color .4s,text-shadow .4s}\n:is([data-framer-name=\"News Row\"],[data-framer-name=\"Case Row\"],[data-framer-name=\"Rel Card\"]):hover :is([data-framer-name=\"Title\"],[data-framer-name=\"RowHeadline\"]) .framer-text{color:#F3F3F3!important}\n:is([data-framer-name=\"Note Row\"],[data-framer-name=\"Role Row\"]):hover [data-framer-name=\"Title\"] .framer-text{color:#F3F3F3!important;text-shadow:0 1px 18px rgba(0,0,0,.6)}\n[data-framer-name=\"News Row\"] [data-framer-name=\"Arrow\"],[data-framer-name=\"Note Row\"] [data-framer-name=\"RowArrow\"] p,[data-framer-name=\"Role Row\"] [data-framer-name=\"RoleArrow\"] p{display:inline-block;transition:transform .5s ${E},color .3s}\n[data-framer-name=\"News Row\"]:hover [data-framer-name=\"Arrow\"],[data-framer-name=\"Note Row\"]:hover [data-framer-name=\"RowArrow\"] p{transform:rotate(-45deg)}\n[data-framer-name=\"Role Row\"]:hover [data-framer-name=\"RoleArrow\"] p{transform:translateX(4px);color:#C9BDFF!important}\n:is([data-framer-name=\"Note Row\"] [data-framer-name=\"RowCategory\"],[data-framer-name=\"Role Row\"] [data-framer-name=\"RoleDeptText\"]) .framer-text{transition:color .3s}\n[data-framer-name=\"Note Row\"]:hover [data-framer-name=\"RowTag\"],[data-framer-name=\"Role Row\"]:hover [data-framer-name=\"DeptTag\"]{--border-color:rgba(201,189,255,.35)!important}\n[data-framer-name=\"Note Row\"]:hover [data-framer-name=\"RowCategory\"] .framer-text,[data-framer-name=\"Role Row\"]:hover [data-framer-name=\"RoleDeptText\"] .framer-text{color:#C9BDFF!important}\n[data-framer-name=\"Case Row\"] [data-framer-name=\"RowBrand\"]::before{content:\"\";flex:none;order:-1;width:0;height:6px;margin-right:-12px;background:#C9BDFF;box-shadow:0 0 8px rgba(110,75,255,.9);transition:width .6s ${E},margin .6s ${E}}\n[data-framer-name=\"Case Row\"]:hover [data-framer-name=\"RowBrand\"]::before{width:6px;margin-right:2px}\n@media (hover:hover) and (min-width:1280px){[data-framer-name=\"Case Row\"]{transition:opacity .5s ${E}}[data-framer-name=\"Case List\"]:hover [data-framer-name=\"Case Row\"]:not(:hover){opacity:.45}}\n[data-framer-name=\"Rel Card\"] [data-framer-name=\"Cover\"]{overflow:hidden}\n[data-framer-name=\"Rel Card\"] [data-framer-name=\"Cover\"] [data-framer-background-image-wrapper]{transition:filter 1s ${E}}\n[data-framer-name=\"Rel Card\"] [data-framer-name=\"Cover\"] [data-framer-background-image-wrapper] img{transition:transform 1.4s ${E}}\n[data-framer-name=\"Rel Card\"]:hover [data-framer-name=\"Cover\"] [data-framer-background-image-wrapper]{filter:grayscale(1) contrast(1.12) brightness(.92)!important}\n[data-framer-name=\"Rel Card\"]:hover [data-framer-name=\"Cover\"] [data-framer-background-image-wrapper] img{transform:scale(1.04)}\n@media (min-width:1280px) and (hover:hover){\n[data-framer-name=\"Case Row\"]:hover,[data-framer-name=\"Note Row\"]:hover{z-index:2}\n[data-framer-name=\"Case Row\"] [data-framer-name=\"RowImg\"]{position:absolute!important;z-index:3;left:var(--mx,56%);top:var(--my,50%);width:clamp(220px,19vw,300px)!important;height:auto!important;aspect-ratio:4/3;transform:translate(28px,-50%);clip-path:inset(50% 0)!important;transition:clip-path .7s ${E},left .55s ${E},top .55s ${E};overflow:hidden;background:#0A0A0A;pointer-events:none}\n[data-framer-name=\"Case Row\"]:hover [data-framer-name=\"RowImg\"]{clip-path:inset(0)!important}\n[data-framer-name=\"Case Row\"] [data-framer-name=\"RowImg\"] img{transform:scale(1.25);transition:transform 1.1s ${E}}\n[data-framer-name=\"Case Row\"]:hover [data-framer-name=\"RowImg\"] img{transform:scale(1)}\n[data-framer-name=\"Case Row\"] [data-framer-name=\"RowImg\"]::after{content:\"\";position:absolute;inset:0;z-index:2;background:radial-gradient(90% 70% at 100% 100%,rgba(110,75,255,.35),transparent 70%);box-shadow:inset 0 0 0 1px rgba(243,243,243,.15)}\n[data-framer-name=\"Note Row\"] [data-framer-name=\"Thumb\"]{position:absolute!important;z-index:3;top:50%;left:0;width:clamp(220px,19vw,300px)!important;height:auto!important;aspect-ratio:4/3;background:#0A0A0A;overflow:hidden;pointer-events:none;opacity:0;clip-path:inset(50% 0);transform:translate3d(var(--mx,58vw),calc(-50% + var(--my,0px)),0) rotate(var(--rot,0deg));transition:clip-path .7s ${E},opacity .4s}\n[data-framer-name=\"Note Row\"]:hover [data-framer-name=\"Thumb\"]{clip-path:inset(0);opacity:1}\n[data-framer-name=\"Note Row\"] [data-framer-name=\"Thumb\"] [data-framer-background-image-wrapper]{filter:grayscale(1) contrast(1.1) brightness(.85);-webkit-mask-image:${MESH_URL};mask-image:${MESH_URL};-webkit-mask-size:5px 8.66px;mask-size:5px 8.66px}\n[data-framer-name=\"Note Row\"] [data-framer-name=\"Thumb\"] img{transform:scale(1.15);transition:transform 1s ${E}}\n[data-framer-name=\"Note Row\"]:hover [data-framer-name=\"Thumb\"] img{transform:scale(1)}\n[data-framer-name=\"Note Row\"] [data-framer-name=\"Thumb\"]::after{content:\"\";position:absolute;inset:0;z-index:2;background:radial-gradient(80% 70% at 100% 100%,rgba(110,75,255,.35),transparent 70%);box-shadow:inset 0 0 0 1px rgba(243,243,243,.18)}\n[data-framer-name=\"Note Row\"] [data-framer-name=\"Title\"]{position:relative;z-index:4}\n}\na[data-styles-preset=\"e2IbyvcQu\"],[data-framer-name=\"Content\"] a.framer-text{--framer-link-text-color:#F3F3F3!important;--framer-link-hover-text-color:#C9BDFF!important;--framer-link-text-decoration:none!important;transition:color .3s}\n:is([data-framer-name=\"AllCases\"],[data-framer-name=\"EndBack\"],[data-framer-name=\"ShareIn\"],[data-framer-name=\"ShareMail\"],[data-framer-name=\"BackText\"]) a.framer-text{--framer-link-text-color:#A6A6A6!important;--framer-link-hover-text-color:#F3F3F3!important}\n[data-framer-name=\"Newsletter\"] [data-framer-name=\"FieldEmail\"] .framer-form-input{font-size:clamp(20px,1.8vw,26px)!important}\n[data-framer-name=\"TopicsGrid\"]{display:flex!important;flex-wrap:wrap;gap:6px!important;padding-top:6px}\n[data-framer-name=\"TopicsGrid\"] > label,[data-framer-name=\"TopicsGrid\"] > label > *{width:auto!important;max-width:none!important;flex:none!important;white-space:nowrap}\n[data-framer-name=\"TopicsGrid\"] > label{position:relative;display:inline-flex!important;align-items:center;gap:10px!important;height:32px!important;min-height:32px;box-sizing:border-box;padding:0 12px!important;box-shadow:inset 0 0 0 1px rgba(243,243,243,.12);cursor:pointer;transition:box-shadow .3s,background .3s}\n[data-framer-name=\"TopicsGrid\"] > label input[type=checkbox]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none}\n[data-framer-name=\"TopicsGrid\"] > label::before{content:\"\";flex:none;width:5px;height:5px;box-shadow:inset 0 0 0 1px currentColor;color:#A6A6A6;transition:background .3s,box-shadow .3s}\n[data-framer-name=\"TopicsGrid\"] > label .framer-text{font-family:\"Geist Mono\",monospace!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase;color:#A6A6A6!important;transition:color .3s}\n[data-framer-name=\"TopicsGrid\"] > label:hover .framer-text{color:#F3F3F3!important}\n[data-framer-name=\"TopicsGrid\"] > label:has(input:checked){background:rgba(110,75,255,.1);box-shadow:inset 0 0 0 1px rgba(201,189,255,.5)}\n[data-framer-name=\"TopicsGrid\"] > label:has(input:checked) .framer-text{color:#F3F3F3!important}\n[data-framer-name=\"TopicsGrid\"] > label:has(input:checked)::before{background:#C9BDFF;box-shadow:0 0 6px rgba(110,75,255,.9)}\n[data-framer-name=\"TopicsGrid\"] > label:has(input:focus-visible){outline:1px solid #C9BDFF;outline-offset:2px}\n[data-framer-name=\"LetterList\"] > * > .framer-text::before{content:\"\";display:inline-block;width:5px;height:5px;margin-right:12px;vertical-align:.18em;background:#C9BDFF;box-shadow:0 0 6px rgba(110,75,255,.9)}\n[data-framer-name=\"Meta\"] > [data-framer-name=\"Tag\"]{--border-color:rgba(201,189,255,.35)!important}\n[data-framer-name=\"Head\"] > [data-framer-name=\"Glass\"]{-webkit-mask-image:linear-gradient(#000 10%,transparent 85%);mask-image:linear-gradient(#000 10%,transparent 85%)}\n[data-framer-name=\"Head\"] > [data-framer-name=\"Glass\"]::after{content:\"\";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.3) 65%,rgba(0,0,0,.5))}\n[data-framer-name=\"Back\"] [data-framer-name=\"Arrow\"]{transition:transform .5s ${E}}\n[data-framer-name=\"Back\"]:hover [data-framer-name=\"Arrow\"]{transform:translateX(-4px)}\n[data-framer-name=\"Back\"] .framer-text{transition:color .3s}\n[data-framer-name=\"Back\"]:hover .framer-text{color:#F3F3F3!important}\n[data-framer-name=\"TitleWrap\"] h1.framer-text{font-size:clamp(42px,6vw,104px)!important}\n[data-framer-name=\"Head\"]:has(> [data-framer-name=\"JMeta\"]) [data-framer-name=\"HeadGrid\"] [data-framer-name=\"Title\"] .framer-text{max-width:16ch}\n[data-framer-name=\"Head\"]:has(> [data-framer-name=\"JMeta\"]) [data-framer-name=\"HeadGrid\"] [data-framer-name=\"Title\"] .framer-text{font-size:clamp(40px,5.6vw,96px)!important;text-wrap:balance}\n[data-framer-name=\"HeadL\"] > [data-framer-name=\"Headline\"] .framer-text{max-width:23ch}\n[data-framer-name=\"HeadL\"] > [data-framer-name=\"Headline\"] .framer-text{font-size:clamp(36px,4.3vw,76px)!important;text-wrap:balance}\n@keyframes nl-hb{from{opacity:0;filter:blur(14px);transform:translateY(.16em)}to{opacity:1;filter:blur(0);transform:none}}\n@keyframes nl-show{to{opacity:1}}\n@media (prefers-reduced-motion:no-preference){\n:is([data-framer-name=\"TitleWrap\"],[data-framer-name=\"HeadGrid\"] [data-framer-name=\"Title\"],[data-framer-name=\"HeadL\"] > [data-framer-name=\"Headline\"]) h1.framer-text:not(.nl-split){opacity:0;animation:nl-show 0s 2.6s forwards}\nh1.nl-split .nl-w{display:inline-block;white-space:nowrap}\nh1.nl-split .nl-c{display:inline-block;animation:nl-hb 1.25s cubic-bezier(.25,1,.5,1) both}\n.nl-rise{opacity:0;transform:translateY(22px);transition:opacity 1s ${E},transform 1s ${E}}\n.nl-rise.in{opacity:1;transform:none}\n}\n:is([data-framer-name=\"FtQuote\"],[data-framer-name=\"VQuote\"] [data-framer-name=\"Quote\"]) .framer-text::before{content:\"\\\\201C\"}\n:is([data-framer-name=\"FtQuote\"],[data-framer-name=\"VQuote\"] [data-framer-name=\"Quote\"]) .framer-text::after{content:\"\\\\201D\"}\n@media (max-width:809.98px){[data-framer-name=\"Start\"] [data-framer-name=\"StartRow\"]{flex-direction:column!important;align-items:flex-start!important;gap:28px!important}[data-framer-name=\"Start\"] [data-framer-name=\"StartRow\"] > *{width:100%!important;align-items:flex-start!important}[data-framer-name=\"Start\"] [data-framer-name=\"Side\"] .framer-text{text-align:left!important}[data-framer-name=\"Start\"] [data-framer-name=\"StartIn\"]{gap:56px!important}}\n@media (max-width:1279.98px){:is([data-framer-name=\"FtVoice\"],[data-framer-name=\"VoiceCard\"]){height:auto!important;min-height:0!important}:is([data-framer-name=\"FtVoice\"],[data-framer-name=\"VoiceCard\"]) > [data-framer-name=\"VQuote\"]{flex:none!important;height:auto!important;padding-top:56px!important}:is([data-framer-name=\"FtVoice\"],[data-framer-name=\"VoiceCard\"]) > [data-framer-name=\"VTop\"]{padding-bottom:40px!important}}\n@media (max-width:809.98px){:is([data-framer-name=\"FtVoice\"],[data-framer-name=\"VoiceCard\"],[data-framer-name=\"FtCover\"],[data-framer-name=\"Portrait\"]){width:100%!important;max-width:100%!important;flex:none!important}:is([data-framer-name=\"FtVoice\"],[data-framer-name=\"VoiceCard\"]) :is([data-framer-name=\"VTop\"],[data-framer-name=\"VQuote\"],[data-framer-name=\"VBy\"]){padding-left:20px!important;padding-right:20px!important}:is([data-framer-name=\"FtVoice\"],[data-framer-name=\"VoiceCard\"]) [data-framer-name=\"VBy\"]{flex-wrap:wrap;gap:14px!important}:is([data-framer-name=\"FtQuote\"],[data-framer-name=\"VQuote\"] [data-framer-name=\"Quote\"]){max-width:100%!important;width:100%!important}:is([data-framer-name=\"FtQuote\"],[data-framer-name=\"VQuote\"] [data-framer-name=\"Quote\"]) .framer-text{font-size:21px!important}}\n#__framer-badge-container .nl-rise{opacity:1!important;transform:none!important}\n[data-framer-name=\"FeatFlag\"]{box-shadow:inset 0 0 0 1px rgba(201,189,255,.35)}\n[data-framer-name=\"Feat Card\"] :is([data-framer-name=\"FeatImg\"],[data-framer-name=\"FtCover\"]){overflow:hidden}\n[data-framer-name=\"Feat Card\"] :is([data-framer-name=\"FeatImg\"],[data-framer-name=\"FtCover\"]) [data-framer-background-image-wrapper] img{transition:transform 1.6s ${E}}\n[data-framer-name=\"Feat Card\"]:hover :is([data-framer-name=\"FeatImg\"],[data-framer-name=\"FtCover\"]) [data-framer-background-image-wrapper] img{transform:scale(1.03)}\n[data-framer-name=\"Feat Card\"] [data-framer-name=\"FeatImg\"] [data-framer-background-image-wrapper]{transition:filter 1s ${E}}\n[data-framer-name=\"Feat Card\"]:hover [data-framer-name=\"FeatImg\"] [data-framer-background-image-wrapper]{filter:grayscale(1) contrast(1.12) brightness(.9)!important}\n[data-framer-name=\"ReadLink\"]{position:relative}\n[data-framer-name=\"ReadLink\"]::before{content:\"\";position:absolute;left:0;right:0;bottom:-1px;height:1px;z-index:1;background:linear-gradient(90deg,#6E4BFF,#C9BDFF);box-shadow:0 0 8px rgba(110,75,255,.6);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s ${E}}\na:hover [data-framer-name=\"ReadLink\"]::before{transform:scaleX(1)}\n[data-framer-name=\"ReadArrow\"]{transition:transform .5s ${E}}\na:hover [data-framer-name=\"ReadArrow\"]{transform:translateX(4px)}\n[data-framer-name=\"TabsSlot\"] [data-highlight],[data-framer-name=\"News Tabs\"] [data-highlight]{transition:background-color .3s}\n[data-framer-name=\"TabsSlot\"] [data-highlight]::before,[data-framer-name=\"News Tabs\"] [data-highlight]::before{content:\"\";flex:none;width:5px;height:5px;margin-right:10px;box-shadow:inset 0 0 0 1px currentColor;color:#A6A6A6;transition:background .3s,box-shadow .3s}\n[data-framer-name=\"TabsSlot\"] [data-highlight]:hover .framer-text,[data-framer-name=\"News Tabs\"] [data-highlight]:hover .framer-text{color:#F3F3F3!important}\n:is([data-framer-name=\"TabsSlot\"],[data-framer-name=\"News Tabs\"]) [data-framer-name=\"Active\"]{background-color:rgba(110,75,255,.1)!important;--border-color:rgba(201,189,255,.5)!important}\n:is([data-framer-name=\"TabsSlot\"],[data-framer-name=\"News Tabs\"]) [data-framer-name=\"Active\"] .framer-text{color:#F3F3F3!important}\n:is([data-framer-name=\"TabsSlot\"],[data-framer-name=\"News Tabs\"]) [data-framer-name=\"Active\"]::before{background:#C9BDFF;box-shadow:0 0 6px rgba(110,75,255,.9)}\n`;/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1280\n * @framerIntrinsicHeight 65\n */export default function Nav(p){const{logo,logoLink,coords,links,current,cta,ctaLink,items,allPages,allPagesLink,bare,rail,showLinks,bottomBlur,preloader,formStyle,listHover}=p;const root=React.useRef(null);const fill=React.useRef(null);const pct=React.useRef(null);const firstLink=React.useRef(null);const[open,setOpen]=React.useState(false);const[anim,setAnim]=React.useState(false);const[scrolled,setScrolled]=React.useState(false);const[w,setW]=React.useState(1280);const reduce=useReducedMotion();const canvas=isCanvas();const[svgBlur,setSvgBlur]=React.useState(false);const[introDone,setIntroDone]=React.useState(false);// the page intro starts when the preloader cover begins to wipe (1.55 s); without it, at once\nReact.useEffect(()=>{if(canvas||typeof window===\"undefined\")return;const w=window;const done=()=>{setIntroDone(true);w.__nlIntroDone=true;window.dispatchEvent(new Event(\"nl:intro\"));};const rm=window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(!preloader||rm||w.__nlIntroDone){done();return;}// 1.55 s after the page started loading (the cover is CSS-timed from the first paint), not after hydration\nconst since=typeof performance!==\"undefined\"?performance.now():0;const t=window.setTimeout(done,Math.max(0,1550-since));return()=>window.clearTimeout(t);},[canvas,preloader]);// floating photo on the case and news rows follows the cursor (desktop, fine pointer)\nReact.useEffect(()=>{if(canvas||!listHover||reduce||typeof window===\"undefined\")return;if(!window.matchMedia||!window.matchMedia(\"(pointer:fine)\").matches)return;let row=null,raf=0,rotT=0;const cur={x:0,y:0,r:0},tgt={x:0,y:0,r:0};const clamp=(a,b,v)=>Math.max(a,Math.min(b,v));const tick=()=>{if(!row){raf=0;return;}cur.x+=(tgt.x-cur.x)*.12;cur.y+=(tgt.y-cur.y)*.12;cur.r+=(tgt.r-cur.r)*.15;row.style.setProperty(\"--mx\",cur.x+\"px\");row.style.setProperty(\"--my\",cur.y+\"px\");row.style.setProperty(\"--rot\",cur.r+\"deg\");raf=requestAnimationFrame(tick);};const move=e=>{if(window.innerWidth<1280)return;const r=e.target?.closest?.('[data-framer-name=\"Case Row\"],[data-framer-name=\"Note Row\"]');if(!r){row=null;return;}const peek=r.querySelector('[data-framer-name=\"RowImg\"],[data-framer-name=\"Thumb\"]');if(!peek)return;const b=r.getBoundingClientRect(),note=r.dataset.framerName===\"Note Row\";if(note){tgt.x=clamp(0,b.width-peek.offsetWidth,e.clientX-b.left+40);tgt.y=(e.clientY-b.top-b.height/2)*.5;tgt.r=clamp(-4,4,e.movementX*.4);window.clearTimeout(rotT);rotT=window.setTimeout(()=>tgt.r=0,300);}else{tgt.x=clamp(0,b.width-peek.offsetWidth-36,e.clientX-b.left);tgt.y=e.clientY-b.top;tgt.r=0;}if(r!==row){row=r;cur.x=tgt.x;cur.y=tgt.y;cur.r=0;}if(!raf)raf=requestAnimationFrame(tick);};document.addEventListener(\"pointermove\",move,{passive:true});return()=>{document.removeEventListener(\"pointermove\",move);cancelAnimationFrame(raf);window.clearTimeout(rotT);};},[canvas,listHover,reduce]);// count-up on the native CMS metric values (case studies), like the original: from 0 when 92 % into view, 1.6 s power4.out\nReact.useEffect(()=>{if(canvas||!listHover||reduce||typeof window===\"undefined\"||!(\"IntersectionObserver\"in window))return;const SEL=[\"Metric 1 value\",\"Metric 2 value\",\"Metric 3 value\",\"FtM1V\",\"FtM2V\",\"FtM3V\"].map(n=>`[data-framer-name=\"${n}\"] .framer-text`).join(\",\");const done=new WeakSet;const run=el=>{const fin=el.textContent||\"\";const m=fin.match(/^(.*?)(-?[\\d.,]*\\d)(.*)$/);if(!m)return;const raw=m[2].replace(/^-/,\"\"),neg=m[2].startsWith(\"-\");const to=parseFloat(raw.replace(/,/g,\"\")),dec=(raw.split(\".\")[1]||\"\").length,comma=raw.includes(\",\");const t0=performance.now();const step=now=>{const q=Math.min(1,(now-t0)/1600),x=to*(1-Math.pow(1-q,4));el.textContent=q<1?m[1]+(neg?\"-\":\"\")+(comma?Math.round(x).toLocaleString(\"en-US\"):x.toFixed(dec))+m[3]:fin;if(q<1)requestAnimationFrame(step);};requestAnimationFrame(step);};const io=new IntersectionObserver(es=>es.forEach(e=>{if(e.isIntersecting&&!done.has(e.target)){done.add(e.target);io.unobserve(e.target);run(e.target);}}),{rootMargin:\"0px 0px -8% 0px\"});const scan=()=>document.querySelectorAll(SEL).forEach(el=>{if(!done.has(el)&&el.getBoundingClientRect().bottom>0)io.observe(el);});const t=window.setTimeout(scan,300);return()=>{window.clearTimeout(t);io.disconnect();};},[canvas,listHover,reduce]);// native CMS titles (article, case, role) blur in per character after the intro, like the original; article and\n// role bodies rise in block by block on scroll\nReact.useEffect(()=>{if(canvas||!listHover||reduce||!introDone||typeof window===\"undefined\")return;const hs=Array.from(document.querySelectorAll('[data-framer-name=\"TitleWrap\"] h1.framer-text,[data-framer-name=\"HeadGrid\"] [data-framer-name=\"Title\"] h1.framer-text,[data-framer-name=\"HeadL\"] > [data-framer-name=\"Headline\"] h1.framer-text'));hs.forEach(h=>{if(h.classList.contains(\"nl-split\")||h.childElementCount>0){h.classList.add(\"nl-split\");return;}const words=(h.textContent||\"\").split(\" \");let n=0;h.innerHTML=\"\";words.forEach((wd,wi)=>{const w=document.createElement(\"span\");w.className=\"nl-w\";for(const ch of Array.from(wd)){const c=document.createElement(\"span\");c.className=\"nl-c\";c.textContent=ch;c.style.animationDelay=(.15+n++*.021).toFixed(3)+\"s\";w.appendChild(c);}h.appendChild(w);if(wi<words.length-1)h.appendChild(document.createTextNode(\" \"));});h.setAttribute(\"aria-label\",words.join(\" \"));h.classList.add(\"nl-split\");});const blocks=Array.from(document.querySelectorAll('[data-framer-name=\"Content\"][data-framer-component-type=\"RichTextContainer\"] > *')).filter(b=>b.getBoundingClientRect().top>window.innerHeight*.9);blocks.forEach(b=>b.classList.add(\"nl-rise\"));const io=new IntersectionObserver(es=>es.forEach(e=>{if(e.isIntersecting){e.target.classList.add(\"in\");io.unobserve(e.target);}}),{rootMargin:\"0px 0px -10% 0px\"});blocks.forEach(b=>io.observe(b));return()=>io.disconnect();},[canvas,listHover,reduce,introDone]);// Chrome/Edge render backdrop-filter: url(#svg) (the original's chromatic blur); others keep the CSS blur\nReact.useEffect(()=>{if(canvas||typeof window===\"undefined\")return;const css=window.CSS// the module-level CSS string shadows the global CSS object\n;setSvgBlur(!!window.chrome&&!!(css&&css.supports&&css.supports(\"backdrop-filter\",\"url(#nl-kb-0)\")));},[canvas]);// layout follows the component's own width (correct on the Tablet/Phone canvas too)\nReact.useLayoutEffect(()=>{const el=root.current;if(!el)return;const ro=new ResizeObserver(()=>setW(el.offsetWidth));ro.observe(el);setW(el.offsetWidth);return()=>ro.disconnect();},[]);React.useEffect(()=>{if(canvas)return;const onS=()=>{setScrolled(window.scrollY>20);const max=document.documentElement.scrollHeight-window.innerHeight;const r=max>0?Math.min(1,window.scrollY/max):0;if(fill.current)fill.current.style.transform=`scaleY(${r})`;if(pct.current)pct.current.textContent=String(Math.round(r*100)).padStart(3,\"0\");};onS();window.addEventListener(\"scroll\",onS,{passive:true});return()=>window.removeEventListener(\"scroll\",onS);},[canvas]);const openRef=React.useRef(open);openRef.current=open;const setMenu=React.useCallback(o=>{if(o&&!reduce){setAnim(true);requestAnimationFrame(()=>requestAnimationFrame(()=>{setOpen(true);setAnim(false);}));}else setOpen(o);if(o)setTimeout(()=>firstLink.current?.focus({preventScroll:true}),60);},[reduce]);React.useEffect(()=>{if(canvas)return;const onKey=e=>{const t=(document.activeElement?.tagName||\"\").toUpperCase();if((e.key===\"m\"||e.key===\"M\")&&!e.metaKey&&!e.ctrlKey&&!/INPUT|TEXTAREA|SELECT/.test(t))setMenu(!openRef.current);if(e.key===\"Escape\")setMenu(false);};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[canvas,setMenu]);const gut=Math.max(16,Math.min(32,w*.022));const cls=[\"nl-nv\",w<=960?\"is-md\":\"\",w<=600?\"is-sm\":\"\",bare?\"is-bare\":\"\",scrolled?\"is-scrolled\":\"\",open?\"is-open\":\"\",anim?\"is-anim\":\"\",canvas?\"is-canvas\":\"\",preloader&&!canvas?\"has-ld\":\"\"].join(\" \");return /*#__PURE__*/_jsxs(\"div\",{ref:root,className:cls,style:{...p.style,[\"--gut\"]:gut+\"px\",position:\"relative\"},children:[fontsLink(),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),formStyle&&!canvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:FORM_CSS}}),listHover&&!canvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:HOVER_CSS}}),/*#__PURE__*/_jsx(\"header\",{className:\"nv-bar\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"nv-in\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"nv-l\",children:[/*#__PURE__*/_jsxs(\"a\",{href:logoLink||\"/\",className:\"nv-logo\",\"aria-label\":`${logo} home`,children:[/*#__PURE__*/_jsx(Mark,{}),logo]}),/*#__PURE__*/_jsx(\"span\",{className:\"nv-sep\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{className:\"nv-c mono\",children:coords})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"nv-r\",children:[showLinks&&(links||[]).map((l,i)=>/*#__PURE__*/_jsx(\"a\",{className:\"lk\"+(current&&current===l.label?\" cur\":\"\"),href:linkOf(l,LINKS),children:l.label},i)),/*#__PURE__*/_jsx(\"a\",{className:\"pill\",href:ctaLink||\"/contact-01\",children:cta}),/*#__PURE__*/_jsxs(\"button\",{className:\"mbtn\",type:\"button\",\"aria-expanded\":open,\"aria-controls\":\"nl-panel\",onClick:()=>setMenu(!open),children:[/*#__PURE__*/_jsxs(\"span\",{className:\"lbl\",children:[/*#__PURE__*/_jsx(\"span\",{children:\"Menu\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Close\"})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"ic\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{})]})]})]})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"scrim\",onClick:()=>setMenu(false)}),/*#__PURE__*/_jsxs(\"div\",{className:\"panel\",id:\"nl-panel\",role:\"dialog\",\"aria-label\":\"Menu\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"panel-top\",children:[/*#__PURE__*/_jsx(Mark,{size:14}),/*#__PURE__*/_jsxs(\"span\",{className:\"mono\",children:[\"Press \",/*#__PURE__*/_jsx(\"kbd\",{children:\"M\"}),\" to toggle\"]})]}),/*#__PURE__*/_jsx(\"nav\",{children:(items||[]).map((it,i)=>/*#__PURE__*/_jsxs(\"a\",{ref:i===0?firstLink:undefined,href:linkOf(it,ITEMS),onClick:()=>setMenu(false),style:{transitionDelay:open?`${.05+i*.045}s`:\"0s\"},children:[/*#__PURE__*/_jsx(\"span\",{className:\"pl\",children:/*#__PURE__*/_jsxs(\"span\",{className:\"rl\",children:[/*#__PURE__*/_jsx(\"i\",{children:it.label}),/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":\"true\",children:it.label})]})}),/*#__PURE__*/_jsx(\"span\",{className:\"mono\",children:it.note})]},i))}),/*#__PURE__*/_jsxs(\"div\",{className:\"pf\",style:{transitionDelay:open?`${.05+(items||[]).length*.045}s`:\"0s\"},children:[/*#__PURE__*/_jsxs(\"a\",{className:\"mono\",href:allPagesLink||\"/\",children:[allPages,\" \",arrowSvg(\"ne\",12)]}),/*#__PURE__*/_jsx(\"a\",{className:\"pill\",href:ctaLink||\"/contact-01\",children:cta})]})]}),preloader&&!canvas&&/*#__PURE__*/_jsx(\"div\",{className:\"ld\"+(introDone?\" done\":\"\"),\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 20 20\",children:[/*#__PURE__*/_jsx(\"rect\",{className:\"m1\",x:\"2\",y:\"2\",width:\"3.6\",height:\"16\"}),/*#__PURE__*/_jsx(\"polygon\",{className:\"m2\",points:\"6.7,2 10,2 13.3,18 10,18\"}),/*#__PURE__*/_jsx(\"rect\",{className:\"m3\",x:\"14.4\",y:\"2\",width:\"3.6\",height:\"16\"})]})}),bottomBlur&&/*#__PURE__*/_jsxs(\"div\",{className:\"bb\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(BlurFilters,{}),KB.map(k=>/*#__PURE__*/_jsx(\"i\",{style:svgBlur?{backdropFilter:`url(#${k.id})`,WebkitBackdropFilter:`url(#${k.id})`}:undefined},k.id))]}),rail&&!bare&&/*#__PURE__*/_jsxs(\"div\",{className:\"rail\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{ref:fill}),/*#__PURE__*/_jsx(\"span\",{className:\"mono\",ref:pct,children:\"000\"})]})]});}Nav.defaultProps={logo:\"Nordlys\",logoLink:\"/\",coords:\"69.6492\\xb0 N — Arctic compute\",links:LINKS,current:\"\",cta:\"Plan capacity\",ctaLink:\"/contact-01\",items:ITEMS,allPages:\"All pages\",allPagesLink:\"/\",bare:false,rail:true,showLinks:false,bottomBlur:true,preloader:true,formStyle:true,listHover:true};addPropertyControls(Nav,{logo:{type:ControlType.String,title:\"Logo\"},logoLink:{type:ControlType.Link,title:\"Logo link\",description:\"Where the logo goes (default: the Overview page)\"},coords:{type:ControlType.String,title:\"Coordinates\"},showLinks:{type:ControlType.Boolean,title:\"Show links\",description:\"Page links in the bar (off in the original design; the Menu lists every page)\"},links:{type:ControlType.Array,title:\"Links\",hidden:p=>!p.showLinks,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\"},link:{type:ControlType.Link,title:\"Link\"}}}},current:{type:ControlType.String,title:\"Current\",description:\"Label of the link to light up on this page\",hidden:p=>!p.showLinks},cta:{type:ControlType.String,title:\"Button\"},ctaLink:{type:ControlType.Link,title:\"Button link\"},items:{type:ControlType.Array,title:\"Menu items\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\"},note:{type:ControlType.String,title:\"Note\"},link:{type:ControlType.Link,title:\"Link\"}}}},allPages:{type:ControlType.String,title:\"All pages\"},allPagesLink:{type:ControlType.Link,title:\"All pages link\"},bare:{type:ControlType.Boolean,title:\"Bare\",description:\"Logo only (404 page)\"},rail:{type:ControlType.Boolean,title:\"Scroll rail\"},bottomBlur:{type:ControlType.Boolean,title:\"Bottom blur\",description:\"Graduated blur along the bottom of the window\"},preloader:{type:ControlType.Boolean,title:\"Preloader\",description:\"Split-N mark intro on page load (2.25 s, skipped with reduced motion)\"},formStyle:{type:ControlType.Boolean,title:\"Form style\",description:\"Original underline look for every native form (no input borders, violet focus line)\"},listHover:{type:ControlType.Boolean,title:\"List hovers\",description:\"Original hovers on the CMS rows and cards (underline, title, arrow, floating photo) and the filter tab look\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Nav\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1280\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"65\",\"framerSupportedLayoutHeight\":\"auto\"}},\"Mark\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Nav.map"],"mappings":"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"}