PageSourceSearch

https://www.nomipass.com/_next/static/chunks/0ulh90pip7ixx.js?dpl=dpl_G1U1eNpJaS9VpUqt2JgXuccBN7La

js nomipass.com collected 2026-10-02 16:03:31 UTC 46,204 bytes, 3 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18581,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useMergedRef",{enumerable:!0,get:function(){return n}});let s=e.r(71645);function n(e,t){let a=(0,s.useRef)(null),n=(0,s.useRef)(null);return(0,s.useCallback)(s=>{if(null===s){let e=a.current;e&&(a.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(a.current=i(e,s)),t&&(n.current=i(t,s))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},67423,(e,t,a)=>{"use strict";function s({widthInt:e,heightInt:t,blurWidth:a,blurHeight:n,blurDataURL:i,objectFit:r}){let l=a?40*a:e,o=n?40*n:t,d=l&&o?`viewBox='0 0 ${l} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===r?"xMidYMid":"cover"===r?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImageBlurSvg",{enumerable:!0,get:function(){return s}})},87690,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return r}};for(var n in s)Object.defineProperty(a,n,{enumerable:!0,get:s[n]});let i=["default","imgix","cloudinary","akamai","custom"],r={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},8927,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(33525);let s=e.r(43369),n=e.r(67423),i=e.r(87690),r=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:a=!1,priority:c=!1,preload:u=!1,loading:p,className:m,quality:g,width:h,height:f,fill:x=!1,style:b,overrideSrc:v,onLoad:j,onLoadingComplete:y,placeholder:k="empty",blurDataURL:w,fetchPriority:N,decoding:E="async",layout:_,objectFit:P,objectPosition:C,lazyBoundary:S,lazyRoot:O,...R},T){var A;let I,M,L,{imgConf:z,showAltText:$,blurComplete:K,defaultLoader:q}=T,D=z||i.imageConfigDefault;if("allSizes"in D)I=D;else{let e=[...D.deviceSizes,...D.imageSizes].sort((e,t)=>e-t),t=D.deviceSizes.sort((e,t)=>e-t),a=D.qualities?.sort((e,t)=>e-t);I={...D,allSizes:e,deviceSizes:t,qualities:a}}if(void 0===q)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let B=R.loader||q;delete R.loader,delete R.srcSet;let F="__next_img_default"in B;if(F){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,
2configurable:!0})}else{let e=B;B=t=>{let{config:a,...s}=t;return e(s)}}if(_){"fill"===_&&(x=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[_];e&&(b={...b,...e});let a={responsive:"100vw",fill:"100vw"}[_];a&&!t&&(t=a)}let W="",U=o(h),V=o(f);if((A=e)&&"object"==typeof A&&(l(A)||void 0!==A.src)){let t=l(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(M=t.blurWidth,L=t.blurHeight,w=w||t.blurDataURL,W=t.src,!x)if(U||V){if(U&&!V){let e=U/t.width;V=Math.round(t.height*e)}else if(!U&&V){let e=V/t.height;U=Math.round(t.width*e)}}else U=t.width,V=t.height}let G=!c&&!u&&("lazy"===p||void 0===p);(!(e="string"==typeof e?e:W)||e.startsWith("data:")||e.startsWith("blob:"))&&(a=!0,G=!1),I.unoptimized&&(a=!0),F&&!I.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(a=!0);let H=o(g),J=Object.assign(x?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:P,objectPosition:C}:{},$?{}:{color:"transparent"},b),Y=K||"empty"===k?null:"blur"===k?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:U,heightInt:V,blurWidth:M,blurHeight:L,blurDataURL:w||"",objectFit:J.objectFit})}")`:`url("${k}")`,X=r.includes(J.objectFit)?"fill"===J.objectFit?"100% 100%":"cover":J.objectFit,Q=Y?{backgroundSize:X,backgroundPosition:J.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Z=function({config:e,src:t,unoptimized:a,width:n,quality:i,sizes:r,loader:l}){if(a){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,s.getDeploymentId)();if(e){let a=t.indexOf("?");if(-1!==a){let s=new URLSearchParams(t.slice(a+1));s.get("dpl")||(s.append("dpl",e),t=t.slice(0,a)+"?"+s.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:o,kind:d}=function({deviceSizes:e,allSizes:t},a,s){if(s){let a=/(^|\s)(1?\d?\d)vw/g,n=[];for(let e;e=a.exec(s);)n.push(parseInt(e[2]));if(n.length){let a=.01*Math.min(...n);return{widths:t.filter(t=>t>=e[0]*a),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof a?{widths:e,kind:"w"}:{widths:[...new Set([a,2*a].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,r),c=o.length-1;return{sizes:r||"w"!==d?r:"100vw",srcSet:o.map((a,s)=>`${l({config:e,src:t,quality:i,width:a})} ${"w"===d?a:s+1}${d}`).join(", "),src:l({config:e,src:t,quality:i,width:o[c]})}}({config:I,src:e,unoptimized:a,width:U,quality:H,sizes:t,loader:B}),ee=G?"lazy":p;return{props:{...R,loading:ee,fetchPriority:N,width:U,height:V,decoding:E,className:m,style:{...J,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:v||Z.src},meta:{unoptimized:a,preload:u||c,placeholder:k,fill:x}}}},98879,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return l}});let s=e.r(71645),n="u"<typeof window,i=n?()=>{}:s.useLayoutEffect,r=n?()=>{}:s.useEffect;function l(e){let{headManager:t,reduceComponentsToState:a}=e;function l(){if(t&&t.mountedInstances){let e=s.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(a(e))}}return n&&(t?.mountedInstances?.add(e.children),l()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),r(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s={default:function(){return h},defaultHead:function(){return u}};for(var n in s)Object.defineProperty(a,n,{enumerable:!0,get:s[n]});let i=e.r(55682),r=e.r(90809),l=e.r(43476),o=r._(e.r(71645)),d=i._(e.r(98879)),c=e.r(42732);function u(){return[(0,l.jsx)("meta",{charSet:"utf-8"},"charset"),(0,l.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>
2"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let m=["name","httpEquiv","charSet","itemProp"];function g(e){let t,a,s,n;return e.reduce(p,[]).reverse().concat(u().reverse()).filter((t=new Set,a=new Set,s=new Set,n={},e=>{let i=!0,r=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){r=!0;let a=e.key.slice(e.key.indexOf("$")+1);t.has(a)?i=!1:t.add(a)}switch(e.type){case"title":case"base":a.has(e.type)?i=!1:a.add(e.type);break;case"meta":for(let t=0,a=m.length;t<a;t++){let a=m[t];if(e.props.hasOwnProperty(a))if("charSet"===a)s.has(a)?i=!1:s.add(a);else{let t=e.props[a],s=n[a]||new Set;("name"!==a||!r)&&s.has(t)?i=!1:(s.add(t),n[a]=s)}}}return i})).reverse().map((e,t)=>{let a=e.key||t;return o.default.cloneElement(e,{key:a})})}let h=function({children:e}){let t=(0,o.useContext)(c.HeadManagerContext);return(0,l.jsx)(d.default,{reduceComponentsToState:g,headManager:t,children:e})};("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},18556,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let s=e.r(55682)._(e.r(71645)),n=e.r(87690),i=s.default.createContext(n.imageConfigDefault)},65856,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"RouterContext",{enumerable:!0,get:function(){return s}});let s=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,a)=>{"use strict";function s(e,t){let a=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-a)<Math.abs(e-a)?t:e,t.qualities[0]):a}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"findClosestQuality",{enumerable:!0,get:function(){return s}})},1948,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return r}});let s=e.r(70965),n=e.r(43369);function i({config:e,src:t,width:a,quality:r}){let l=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let a=new URLSearchParams(t.slice(e+1)),s=a.get("dpl");if(s){l=s,a.delete("dpl");let n=a.toString();t=t.slice(0,e)+(n?"?"+n:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let o=(0,s.findClosestQuality)(r,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${a}&q=${o}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}i.__next_img_default=!0;let r=i},85437,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"Image",{enumerable:!0,get:function(){return j}});let s=e.r(55682),n=e.r(90809),i=e.r(43476),r=n._(e.r(71645)),l=s._(e.r(74080)),o=s._(e.r(25633)),d=e.r(8927),c=e.r(87690),u=e.r(18556);e.r(33525);let p=e.r(65856),m=s._(e.r(1948)),g=e.r(18581),h={deviceSizes:[640,750,828,1080,1200,1920],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function f(e,t,a,s,n,i,r){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),a?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let s=!1,n=!1;a.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>s,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{s=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}s?.current&&s.current(e)}}))}function x(e){return r.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,r.forwardRef)(({src:e,srcSet:t,sizes:a,height:s,width:n,decoding:l,className:o,style:d,fetchPriority:c,placeholder:u,loading:p,unoptimized:m,fill:h,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:j,setShowAltText:y,sizesInput:k,onLoad:w,onError:N,...E},_)=>{let P=(0,r.useCallback)(e=>{e&&(N&&(e.src=e.src),e.complete&&f(e,u,b,v,j,m,k))},[e,u,b,v,j,N,m,k]),C=(0,g.useMergedRef)(_,P);return(0,i.jsx)("img",{...E,...x(c),loading:p,width:n,height:s,decoding:l,"data-nimg":h?"fill":"1",className:o,style:d,sizes:a,srcSet:t,src:e,ref:C,onLoad:e=>{f(e.currentTarget,u,b,v,j,m,k)},onError:e=>{y(!0),"empty"!==u&&j(!0),N&&N(e)}})});function v({isAppRouter:e,imgAttributes:t}){let a={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...x(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,a),null):(0,i.jsx)(o.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...a},"__nimg-"+t.src+t.srcSet+t.sizes)})}let j=(0,r.forwardRef)((e,t)=>{let a=(0,r.useContext)(p.RouterContext),s=(0,r.useContext)(u.ImageConfigContext),n=(0,r.useMemo)(()=>{let e=h||s||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
3e-t),a=e.deviceSizes.sort((e,t)=>e-t),n=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:a,qualities:n,localPatterns:"u"<typeof window?s?.localPatterns:e.localPatterns}},[s]),{onLoad:l,onLoadingComplete:o}=e,g=(0,r.useRef)(l);(0,r.useEffect)(()=>{g.current=l},[l]);let f=(0,r.useRef)(o);(0,r.useEffect)(()=>{f.current=o},[o]);let[x,j]=(0,r.useState)(!1),[y,k]=(0,r.useState)(!1),{props:w,meta:N}=(0,d.getImgProps)(e,{defaultLoader:m.default,imgConf:n,blurComplete:x,showAltText:y});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{...w,unoptimized:N.unoptimized,placeholder:N.placeholder,fill:N.fill,onLoadRef:g,onLoadingCompleteRef:f,setBlurComplete:j,setShowAltText:k,sizesInput:e.sizes,ref:t}),N.preload?(0,i.jsx)(v,{isAppRouter:!a,imgAttributes:w}):null]})});("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},94909,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s={default:function(){return c},getImageProps:function(){return d}};for(var n in s)Object.defineProperty(a,n,{enumerable:!0,get:s[n]});let i=e.r(55682),r=e.r(8927),l=e.r(85437),o=i._(e.r(1948));function d(e){let{props:t}=(0,r.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,a]of Object.entries(t))void 0===a&&delete t[e];return{props:t}}let c=l.Image},57688,(e,t,a)=>{t.exports=e.r(94909)},93529,e=>{"use strict";var t=e.i(43476),a=e.i(71645);e.s(["default",0,function({children:e,className:s="",delay:n=0}){let i=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=i.current;if(!e)return;let t=new IntersectionObserver(([a])=>{a.isIntersecting&&(n&&(e.style.transitionDelay=`${n}s`),e.classList.add("revealed"),t.unobserve(e))},{rootMargin:"-80px"});return t.observe(e),()=>t.disconnect()},[n]),(0,t.jsx)("div",{ref:i,className:`scroll-reveal ${s}`,children:e})}])},30642,e=>{"use strict";e.s(["FALLBACK_ACTIVE_DEAL_COUNT",0,229,"FALLBACK_PARTNER_COUNT",0,119,"plus",0,function(e){return`${e}+`}])},74473,e=>{"use strict";var t=e.i(43476),a=e.i(57688),s=e.i(71645);let n=[{slug:"olde-hansa",name:"Olde Hansa",scale:1.05},{slug:"fika",name:"Fika"},{slug:"troika",name:"Troika",scale:1.25},{slug:"labocca",name:"La Bocca",scale:.95},{slug:"elevant",name:"Elevant",scale:1.25},{slug:"db",name:"DB",scale:1.2},{slug:"lapizzeria",name:"La Pizzeria di Orm Oja"},{slug:"gourmet-club",name:"Gourmet Club",scale:1.2},{slug:"varav",name:"Värav"},{slug:"junimperium",name:"Junimperium",scale:1.15},{slug:"como",name:"Como Restoran",scale:1.15},{slug:"lennusulps",name:"Lennusulps",scale:1.1},{slug:"ferment",name:"Ferment",scale:1.2},{slug:"brooder",name:"Brööder",scale:1.1},{slug:"veino",name:"Veino"},{slug:"kivi-paber-kaarid",name:"Kivi Paber Käärid",scale:1.2},{slug:"fire-and-ice",name:"Fire and Ice",scale:1.05},{slug:"my-sushi",name:"My Sushi"},{slug:"fotografiska",name:"Fotografiska",scale:1.1},{slug:"pegasus",name:"Pegasus",scale:1.1},{slug:"nomade",name:"Nomade",scale:1.05},{slug:"arkel",name:"Ärkel",scale:1.1}];var i=e.i(30642);e.s(["default",0,function({partnerCount:e=i.FALLBACK_PARTNER_COUNT,activeDealCount:r=i.FALLBACK_ACTIVE_DEAL_COUNT,underNavbar:l=!0,showDealCount:o=!0}){let d=[...n,...n],c=(0,s.useRef)(null),u=e=>{let t=c.current?.getAnimations?.()[0];t&&(t.playbackRate=e)};return(0,t.jsxs)("section",{className:`${l?"pt-[82px] md:pt-[74px]":"pt-10 md:pt-12"} pb-6 md:pb-8 bg-background`,children:[(0,t.jsxs)("div",{className:"partner-marquee relative overflow-hidden bg-[#c4a77d] border-y border-black/10 py-2.5 md:py-3",onMouseEnter:()=>u(.2),onMouseLeave:()=>u(1),children:[(0,t.jsx)("div",{className:"pointer-events-none absolute inset-y-0 left-0 z-10 w-16 md:w-32 bg-gradient-to-r from-[#c4a77d] to-transparent"}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-0 z-10 w-16 md:w-32 bg-gradient-to-l from-[#c4a77d] to-transparent"}),(0,t.jsx)("ul",{ref:c,className:"partner-marquee-track items-center [--logo-h:22px] md:[--logo-h:26px] [--logo-w:104px] md:[--logo-w:140px]",children:d.map((e,s)=>(0,t.jsx)("li",{className:"flex-shrink-0 flex items-center justify-center mr-10 md:mr-14","aria-hidden":s>=n.length,children:(0,t.jsx)(a.default,{src:`/partners/logos-white/${e.slug}.png`,alt:e.name,title:e.name,width:200,height:52,className:"w-auto h-auto object-contain opacity-90",style:{maxHeight:`calc(var(--logo-h) * ${e.scale??1})`,maxWidth:"var(--logo-w)"}})},`${e.slug}-${s}`))})]}),(0,t.jsxs)("p",{className:"mt-3.5 text-center font-label uppercase tracking-[0.3em] text-[10px] text-outline/60",children:[(0,t.jsx)("span",{className:"text-primary",children:(0,i.plus)(e)})," ",(0,t.jsx)("span",{"data-lang":"en",children:"Partners"}),(0,t.jsx)("span",{"data-lang":"et",children:"Partnerit"}),o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"mx-2 text-outline/30",children:"·"}),(0,t.jsx)("span",{className:"text-primary",children:(0,i.plus)(r)})," ",(0,t.jsx)("span",{"data-lang":"en",children:"Active Deals"}),(0,t.jsx)("span",{"data-lang":"et",children:"Aktiivset Pakkumist"})]})]})]})}],74473)},50266,e=>{"use strict";var t=e.i(43476),a=e.i(71645);e.s(["default",0,function(){let[e,s]=(0,a.useState)(!1);async function n(e){e.preventDefault(),s(!0);let t=new FormData(e.currentTarget);try{await Promise.all([fetch("https://formspree.io/f/xqeljbjz",{method:"POST",body:t,headers:{Accept:"application/json"}}),fetch("https://n8n-na.windgrowth.com/webhook/nomipass-partners",{method:"POST",headers:{"Content-Type":"application/json","X-Webhook-Secret":"proteccthehookmane"},body:JSON.stringify({email:t.get("email"),segment:"partner",partnerStatus:"applied",source:"website",city:"tallinn",restaurant:t.get("venue_name"),contact:t.get("contact_name"),phone:t.get("phone"),location:t.get("location")||"",notes:t.get("notes")||""})}).catch(()=>{}),fetch("/api/partner-lead/",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({venue_name:t.get("venue_name"),contact_name:t.get("contact_name"),email:t.get("email"),phone:t.get("phone")||"",location:t.get("location")||"",notes:t.get("notes")||"",company_website:t.get("company_website")||""}),signal:AbortSignal.timeout(1e4)}).catch(()=>{})]),window.location.href="/partners/thankyou/"}catch{alert("Something went wrong. Please try again.")}finally{s(!1)}}let i="w-full bg-surface-container border border-outline-variant/20 rounded-lg px-4 py-3 text-sm text-on-surface placeholder:text-outline/50 focus:border-primary focus:outline-none transition-colors focus:shadow-[0_0_20px_rgba(225,194,150,0.1)]";return(0,t.jsx)("section",{id:"apply",className:"py-24 md:py-32 px-6 md:px-12 lg:px-24",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto",children:[(0,t.jsxs)("div",{className:"text-center mb-12",children:[(0,t.jsxs)("span",{className:"font-label text-primary uppercase tracking-[0.3em] text-xs block mb-4",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Apply Now"}),(0,t.jsx)("span",{"data-lang":"et",children:"Liitu kohe"})]}),(0,t.jsxs)("h2",{className:"font-headline text-4xl md:text-5xl text-on-surface mb-4",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Become a Nomi Pass Partner"}),(0,t.jsx)("span",{"data-lang":"et",children:"Hakka Nomi Passi partneriks"})]}),(0,t.jsxs)("p",{className:"text-outline text-base",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Fill in the form and we'll get back to you within 24 hours."}),(0,t.jsx)("span",{"data-lang":"et",children:"Täida vorm ja võtame teiega ühendust 24 tunni jooksul."})]})]}),(0,t.jsx)("div",{className:"bg-surface-container border border-outline-variant/10 rounded-2xl p-8 md:p-10",children:(0,t.jsxs)("form",{onSubmit:n,className:"space-y-5",children:[(0,t.jsx)("input",{type:"text",name:"company_website",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden"}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs font-label text-outline mb-2 uppercase tracking-wider",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Venue Name"}),(0,t.jsx)("span",{"data-lang":"et",children:"Koha nimi"})]}),(0,t.jsx)("input",{type:"text",name:"venue_name",required:!0,placeholder:"e.g. Rataskaevu 16",className:i})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs font-label text-outline mb-2 uppercase tracking-wider",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Contact Name"}),(0,t.jsx)("span",{"data-lang":"et",children:"Kontaktisik"})]}),(0,t.jsx)("input",{type:"text",name:"contact_name",required:!0,placeholder:"e.g. Mari Tamm",className:i})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs font-label text-outline mb-2 uppercase tracking-wider",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Email"}),(0,t.jsx)("span",{"data-lang":"et",children:"E-post"})]}),(0,t.jsx)("input",{type:"email",name:"email",required:!0,placeholder:"[email protected]",className:i})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs font-label text-outline mb-2 uppercase tracking-wider",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Phone"}),(0,t.jsx)("span",{"data-lang":"et",children:"Telefon"})]}),(0,t.jsx)("input",{type:"tel",name:"phone",placeholder:"+372 ...",className:i})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs font-label text-outline mb-2 uppercase tracking-wider",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Location / Address"}),(0,t.jsx)("span",{"data-lang":"et",children:"Asukoht / Aadress"})]}),(0,t.jsx)("input",{type:"text",name:"location",placeholder:"e.g. Rataskaevu 16, Tallinn",className:i})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-xs font-label text-outline mb-2 uppercase tracking-wider",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Anything else you'd like us to know?"}),(0,t.jsx)("span",{"data-lang":"et",children:"Kas soovite veel midagi lisada?"})]}),(0,t.jsx)("textarea",{name:"notes",rows:3,placeholder:"",className:`${i} resize-none`})]}),(0,t.jsx)("button",{type:"submit",disabled:e,className:"premium-gradient text-on-primary w-full py-4 font-label text-xs uppercase tracking-widest font-bold hover:opacity-90 transition-all disabled:opacity-50 rounded-lg",children:e?"...":(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{"data-lang":"en",children:"Submit Application"}),(0,t.jsx)("span",{"data-lang":"et",children:"Saada avaldus"})]})})]})})]})})}])},50815,e=>{"use strict";var t=e.i(43476),a=e.i(71645);let s=[{qEn:"What's the catch? How do you make money?",qEt:"Mis on konks? Kuidas te raha teenite?",aEn:"We charge members a subscription fee (€69/year). Venues pay nothing. No signup fee, no commission, no hidden costs.",aEt:"Me võtame liikmetelt aastamaksu (€69/aastas). Kohad ei maksa midagi. Liitumistasu pole, vahendustasu pole, peidetud kulusid pole."},{qEn:"How is this different from Chilli.ee?",qEt:"Kuidas see erineb Chilli.ee-st?",aEn:"Chilli sells vouchers and takes a commission from you on every sale. With Nomi Pass, you pay nothing. No commission, no campaign fees. Customers pay us directly for their membership, and you just honor the deal when they visit.",aEt:"Chilli müüb vautsereid ja võtab igalt müügilt vahendustasu. Nomi Passiga te ei maksa midagi. Vahendustasu pole, kampaaniatasusid pole. Kliendid maksavad meile oma liikmelisuse eest ja teie lihtsalt raken
3date pakkumist, kui nad kohale tulevad."},{qEn:"How is this different from Wolt or Bolt Food?",qEt:"Kuidas see erineb Woltist või Bolt Foodist?",aEn:"Wolt and Bolt take 20-30% of every order to deliver food to people’s homes. We bring people to your venue instead, and we don’t take a cent. No commission, no fees, no cut of your sales.",aEt:"Wolt ja Bolt võtavad 20-30% igalt tellimiselt toidu kohaletoimetamiseks. Meie toome inimesed hoopis teie ukse taha ja me ei võta sentigi. Vahendustasu pole, tasusid pole, teie müügist ei võta me midagi."},{qEn:"What kind of deal do I have to offer?",qEt:"Millist pakkumist pean tegema?",aEn:"You choose. Most venues offer 2-for-1 on mains, 25% off the bill, or a free appetizer/drink. You set the days, times, and any conditions that work for your business.",aEt:"Teie otsustate. Enamik kohti pakub 2-eest-1 põhiroogadele, 25% soodustust arvelt või tasuta eelrooga/jooki. Teie määrate päevad, kellaajad ja tingimused, mis teie ettevõttele sobivad."},{qEn:"How does the verification work?",qEt:"Kuidas kinnitus toimib?",aEn:"Simple: the customer enters their PIN, then your staff enters your venue’s 4-digit PIN. No POS integration, no tablets, no new hardware. Takes 3 seconds.",aEt:"Lihtne: klient sisestab oma PIN-koodi, seejärel sisestab teie töötaja teie koha 4-kohalise PIN-koodi. Ei vaja kassaliidestust, tahvelarvutit ega uut riistvara. Võtab 3 sekundit."},{qEn:"Can I cancel?",qEt:"Kas saan loobuda?",aEn:"Yes, anytime. Give us 30 days notice and you’re out. No penalties, no questions asked.",aEt:"Jah, igal ajal. Andke 30 päeva ette teada ja oletegi vabad. Trahve pole, küsimusi ei esitata."},{qEn:"When are you launching?",qEt:"Millal te käivitute?",aEn:"We’re onboarding partners now for launch in Tallinn and Tartu. Apply today and we’ll be in touch within 24 hours.",aEt:"Kogume praegu Tallinnas ja Tartus partnereid enne käivitamist. Liituge Nomiga juba täna ja võtame ühendust 24 tunni jooksul."}];e.s(["default",0,function(){let[e,n]=(0,a.useState)(null);return(0,t.jsx)("section",{id:"faq",className:"py-24 md:py-32 px-6 md:px-12 lg:px-24",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,t.jsxs)("div",{className:"text-center mb-16",children:[(0,t.jsxs)("span",{className:"font-label text-primary uppercase tracking-[0.3em] text-xs block mb-4",children:[(0,t.jsx)("span",{"data-lang":"en",children:"FAQ"}),(0,t.jsx)("span",{"data-lang":"et",children:"KKK"})]}),(0,t.jsxs)("h2",{className:"font-headline text-4xl md:text-5xl text-on-surface",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Questions? We've got answers."}),(0,t.jsx)("span",{"data-lang":"et",children:"Küsimused ja vastused"})]})]}),(0,t.jsx)("div",{className:"space-y-3",children:s.map((a,s)=>(0,t.jsxs)("div",{className:"border border-outline-variant/10 rounded-xl overflow-hidden",children:[(0,t.jsxs)("button",{onClick:()=>n(e===s?null:s),className:"w-full flex justify-between items-center p-6 text-left hover:bg-surface-container/50 transition-colors",children:[(0,t.jsxs)("span",{className:"font-headline text-base md:text-lg text-on-surface pr-4",children:[(0,t.jsx)("span",{"data-lang":"en",children:a.qEn}),(0,t.jsx)("span",{"data-lang":"et",children:a.qEt})]}),(0,t.jsx)("span",{className:`material-symbols-outlined text-primary transition-transform duration-300 flex-shrink-0 ${e===s?"rotate-45":""}`,children:"add"})]}),(0,t.jsx)("div",{className:`overflow-hidden transition-all duration-300 ${e===s?"max-h-96 pb-6":"max-h-0"}`,children:(0,t.jsxs)("p",{className:"px-6 text-sm text-outline leading-relaxed",children:[(0,t.jsx)("span",{"data-lang":"en",children:a.aEn}),(0,t.jsx)("span",{"data-lang":"et",children:a.aEt})]})})]},s))})]})})}])},29655,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(57688);let n=[{id:"dashboard",labelEn:"Analytics Dashboard",labelEt:"Analüütika",icon:"monitoring",titleEn:"See exactly what's working.",titleEt:"Näe täpselt, mis töötab.",descEn:"Real-time analytics on every deal, every customer, every euro earned. Track redemptions, revenue impact, peak hours, customer demographics, and deal performance. All from one dashboard built for venue owners, not data scientists.",descEt:"Reaalajas analüütika iga pakkumise, iga kliendi ja iga teenitud euro kohta. Jälgi lunastusi, käibem
3õju, tipptunde, kliendidemograafiat ja pakkumiste tulemuslikkust. Kõik ühest juhtpaneelist, mis on loodud kohaomanikele.",tagEn:"Real-Time Insights",tagEt:"Reaalajas ülevaade",replacesEn:"Included with your partnership",replacesEt:"Kaasas teie partnerlusega",screenLayout:"overlapping",screens:[{src:"/images/app/partner-dashboard.png"},{src:"/images/app/partner-analytics.png"}],bullets:{en:["Track every redemption in real-time","Revenue impact and ROI breakdown","Customer demographics and return rates","Peak hours and deal performance"],et:["Jälgi iga lunastust reaalajas","Käibemõju ja ROI ülevaade","Kliendidemograafia ja tagasipöördumismäär","Tipptunnid ja pakkumiste tulemuslikkus"]}},{id:"loyalty",labelEn:"Loyalty Program",labelEt:"Püsikliendiprogramm",icon:"loyalty",titleEn:"Your own digital punch card. Zero cost.",titleEt:"Teie oma digitaalne kliendikaart. Nullkuluga.",descEn:"Create custom loyalty programs for your venue in minutes. Customers earn punches with every visit and unlock rewards you define: a free beer, a complimentary dessert, a discount on their next bill. No paper stamps, no third-party apps, no monthly fees.",descEt:"Looge oma kohale kohandatud püsikliendiprogramm minutitega. Kliendid koguvad templeid iga külastusega ja avavad teie määratud preemiaid: tasuta õlu, komplimentaarne magustoit, soodustus järgmiselt arvelt. Ilma paberkaartide, kolmandate äppide ja kuutasudeta.",tagEn:"Rewards Program",tagEt:"Preemiaprogramm",replacesEn:"Replaces loyalty apps (from €49/mo)",replacesEt:"Asendab lojaalsusäppe (alates €49/kuu)",replacesPrice:"€49/mo",screenLayout:"perspective-laptop",screens:[{src:"/images/app/partner-loyalty-setup.png"}],bullets:{en:["Create unlimited loyalty programs per venue","Set your own rewards and visit thresholds","Customers see progress in the Nomi Pass app","Track which programs drive the most return visits"],et:["Looge piiramatult püsikliendiprogramme","Määrake ise preemiad ja külastuste läved","Kliendid näevad edenemist Nomi Passi äpis","Jälgige, millised programmid toovad kõige rohkem tagasipöördumisi"]}},{id:"bookings",labelEn:"Booking System",labelEt:"Broneerimissüsteem",icon:"calendar_month",titleEn:"Reservations, managed. For free.",titleEt:"Broneeringud, hallatud. Tasuta.",descEn:"A full booking system that embeds on your website, Google Business Profile, social media, or anywhere you need it. Customers don't need the Nomi Pass app to book — but members who have it can manage all their reservations in one place. No-show tracking, source analytics, and popular time slots, all built in. No tablets, no subscriptions, no per-cover fees.",descEt:"Täielik broneerimissüsteem, mis integreerub teie veebisaidiga, Google'i äriprofiiliga, sotsiaalmeediaga või kuhu iganes vaja. Kliendid ei vaja broneerimiseks Nomi Passi äppi — aga liikmed, kellel see on, saavad kõiki broneeringuid hallata ühest kohast. Mitteilmumiste jälgimine, allika-analüütika ja populaarsed ajad, kõik sisseehitatud. Ilma tahvlite, tellimuste ja kohatasudeta.",tagEn:"Table Management",tagEt:"Laudade haldamine",replacesEn:"Replaces booking software (up to €150/mo)",replacesEt:"Asendab broneerimstarkvara (kuni €150/kuu)",replacesPrice:"€150/mo",screenLayout:"overlapping",screens:[{src:"/images/app/partner-reservation-analytics.png"},{src:"/images/app/partner-booking-page.png"}],bullets:{en:["Embeds on your website, Google Business Profile, and social media","Customers don't need the app — anyone can book","Manage all reservations from one dashboard","No-show tracking, source analytics, and peak time insights"],et:["Integreerub teie veebisaidi, Google'i äriprofiili ja sotsiaalmeediaga","Kliendid ei vaja äppi — igaüks saab broneerida","Hallake kõiki broneeringuid ühelt juhtpaneelilt","Mitteilmumiste jälgimine, allika-analüütika ja tippaegade ülevaated"]}},{id:"app",labelEn:"Customer Experience",labelEt:"Kliendikogemus",icon:"smartphone",titleEn:"What your customers see.",titleEt:"Mida teie kliendid näevad.",descEn:"Members browse deals on the home screen, discover your venue on the map, view your page with reviews and offers, and redeem with a simple PIN. The whole experience is designed to bring people through your door.",descEt:"Liikmed sirvivad pakkumisi avakuval, avastavad teie kohta kaardilt, vaatavad teie lehte arvustuste ja pakkumistega ning lunastavad lihtsa PIN-koodiga. Kogu kogemus on loodud inimeste teie ukse taha toomiseks.",tagEn:"The App Experience",tagEt:"Äpi kogemus",replacesEn:"Your venue, featured to thousands",replacesEt:"Teie koht, tuhandete ees",screenLayout:"phones",screens:[{src:"/images/app/partners-home.png"},{src:"/images/app/partners-venue.png"},{src:"/images/app/partners-discover.png"},{src:"/images/app/partners-redeeming.png"}],layout:"phones",bullets:{en:["Featured to all paying members in Tallinn and Tartu","Venue page with photos, reviews, and deals","Map discovery shows you to nearby diners","3-second redemption with dual PIN verification"],et:["
3Nähtav kõigile maksvatele liikmetele Tallinnas ja Tartus","Koha leht fotode, arvustuste ja pakkumistega","Kaardivaade näitab teid lähedal olevatel sööjatel","3-sekundiline lunastamine topelt-PIN kinnitusega"]}}];function i(){return(0,t.jsxs)("div",{className:"bg-[#1a1a1a] px-3 py-1.5 flex items-center gap-2 border-b border-outline-variant/10",children:[(0,t.jsxs)("div",{className:"flex gap-1.5",children:[(0,t.jsx)("div",{className:"w-2 h-2 rounded-full bg-[#ff5f57]"}),(0,t.jsx)("div",{className:"w-2 h-2 rounded-full bg-[#febc2e]"}),(0,t.jsx)("div",{className:"w-2 h-2 rounded-full bg-[#28c840]"})]}),(0,t.jsx)("div",{className:"flex-1 flex justify-center",children:(0,t.jsxs)("div",{className:"bg-[#0e0e0e] rounded-md px-3 py-0.5 flex items-center gap-1",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-[9px] text-outline",children:"lock"}),(0,t.jsx)("span",{className:"text-[8px] text-outline tracking-wider",children:"dashboard.nomipass.com"})]})})]})}function r({src:e,alt:a}){return(0,t.jsxs)("div",{className:"relative group",children:[(0,t.jsx)("div",{className:"absolute -inset-4 bg-primary/5 blur-[40px] rounded-xl pointer-events-none animate-glow-pulse"}),(0,t.jsxs)("div",{className:"relative rounded-xl overflow-hidden border border-outline-variant/15 shadow-2xl group-hover:shadow-[0_0_50px_rgba(225,194,150,0.06)] group-hover:border-primary/20 transition-all duration-500",children:[(0,t.jsx)(i,{}),(0,t.jsx)(s.default,{src:e,alt:a,width:1200,height:800,sizes:"(max-width: 768px) 100vw, 50vw",className:"w-full object-cover object-top"})]})]})}function l({src:e,alt:a}){return(0,t.jsxs)("div",{className:"relative group",children:[(0,t.jsx)("div",{className:"absolute -inset-12 bg-primary/8 blur-[80px] rounded-full pointer-events-none animate-glow-pulse"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"bg-[#0c0c0c] rounded-t-2xl p-[6px] pb-0 border border-[#333] border-b-0",children:(0,t.jsxs)("div",{className:"rounded-t-xl overflow-hidden",children:[(0,t.jsx)(i,{}),(0,t.jsx)(s.default,{src:e,alt:a,width:1200,height:800,sizes:"(max-width: 768px) 100vw, 50vw",className:"w-full object-cover object-top"})]})}),(0,t.jsx)("div",{className:"h-[6px] bg-gradient-to-b from-[#333] to-[#222] rounded-b-sm"}),(0,t.jsx)("div",{className:"bg-[#1a1a1a] border border-t-0 border-[#2a2a2a] rounded-b-xl overflow-hidden",style:{height:28},children:(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)("div",{className:"w-24 h-[14px] rounded-md border border-[#333] bg-[#161616] mt-[2px]"})})}),(0,t.jsx)("div",{className:"h-[2px] bg-[#111] rounded-b-2xl mx-2 shadow-[0_4px_20px_rgba(0,0,0,0.4)]"})]})]})}e.s(["default",0,function(){let[e,i]=(0,a.useState)(0),[o,d]=(0,a.useState)(!1),c=(0,a.useRef)(null),[u,p]=(0,a.useState)(!1),m=n[e];(0,a.useEffect)(()=>{let e=c.current;if(!e)return;let t=new IntersectionObserver(([e])=>p(e.isIntersecting),{rootMargin:"-200px"});return t.observe(e),()=>t.disconnect()},[]);let[g,h]=(0,a.useState)(0),f=(0,a.useCallback)(()=>{i(e=>(e+1)%n.length),h(e=>e+1)},[]);return(0,a.useEffect)(()=>{if(!u||o)return;let e=setInterval(f,7e3);return()=>clearInterval(e)},[u,o,f]),(0,t.jsx)("section",{ref:c,className:"py-24 md:py-32 px-6 md:px-12 lg:px-24 bg-surface-container-lowest border-y border-outline-variant/10 overflow-hidden",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto",children:[(0,t.jsxs)("div",{className:"text-center mb-12",children:[(0,t.jsxs)("span",{className:"font-label text-primary uppercase tracking-[0.3em] text-xs block mb-4",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Built For Venues"}),(0,t.jsx)("span",{"data-lang":"et",children:"Loodud kohtadele"})]}),(0,t.jsxs)("h2",{className:"font-headline text-3xl md:text-4xl lg:text-5xl text-on-surface mb-4",children:[(0,t.jsxs)("span",{"data-lang":"en",children:["Tools that replace ",(0,t.jsx)("span",{className:"text-primary",children:"€200+/mo"})," ","in software."]}),(0,t.jsxs)("span",{"data-lang":"et",children:["Tööriistad, mis asendavad"," ",(0,t.jsx)("span",{className:"text-primary",children:"€200+/kuu"})," tarkvara."]})]}),(0,t.jsxs)("p",{className:"text-outline text-base max-w-2xl mx-auto",children:[(0,t.jsx)("span",{"data-lang":"en",children:"All included with your Nomi Pass partnership at launch. No add-ons, no tiers, no surprises."}),(0,t.jsx)("span",{"data-lang":"et",children:"Kõik kaasas teie Nomi Passi partnerlusega käivitamisel. Ilma lisatasude, pakettide ja üllatusteta."})]})]}),(0,t.jsx)("div",{className:"flex flex-wrap justify-center gap-2 md:gap-3 mb-12",children:n.map((a,s)=>(0,t.jsxs)("button",{onClick:()=>{i(s),h(e=>e+1),d(!0),setTimeout(()=>d(!1),15e3)},className:`relative flex items-center gap-2 px-5 py-2.5 rounded-full font-label text-xs uppercase tracking-widest transition-all duration-300 overflow-hidden ${e===s?"premium-gradient text-on-primary font-bold":"bg-surface-container border border-outline-variant/15 text-outline hover:text-on-surface hover:border-primary/30"}`,children:[e===s&&!o&&u&&(0,t.jsx)("div",{className:"absolute bottom-0 left-0 h-[2px] bg-on-primary/30 animate-progress-fill",style:{animationDuration:"7000ms"}},g),(0,t.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:a.icon}),(0,t.jsx)("span",{"data-lang":"en",children:a.labelEn}),(0,t.jsx)("span",{"data-lang":"et",children:a.labelEt})]},a.id))}),(0,t.jsxs)("div",{className:"animate-fade-up",children:[(0,t.jsx)("div",{className:"flex justify-center mb-8",children:(0,t.jsxs)("div",{className:"inline-flex flex-wrap items-center justify-center gap-x-2 gap-y-1 bg-[#2ecc71]/10 border border-[#2ecc71]/20 rounded-2xl px-5 py-2.5",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-[#2ecc71] text-[16px]",children:"check_circle"}),(0,t.jsxs)("span",{className:"text-[#2ecc71] text-sm font-semibold",children:[(0,t.jsx)("span",{"data-lang":"en",children:m.replacesEn}),(0,t.jsx)("span",{"data-lang":"et",children:m.replacesEt})]}),m.replacesPrice&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-outline line-through text-xs",children:m.replacesPrice}),(0,t.jsx)("span",{className:"text-[#2ecc71] text-xs font-bold",children:"→ Included"})]})]})}),(0,t.jsxs)("div",{className:`${"phones"===m.layout?"flex flex-col gap-12":"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16"} items-center`,children:["phones"===m.layout?(0,t.jsx)("div",{className:"flex gap-6 md:gap-8 overflow-x-auto pb-6 justify-start md:justify-center",children:m.screens.map((e,a)=>(0,t.jsx)("div",{className:"flex-shrink-0 animate-fade-up",style:{animationDelay:`${.1*a}s`},children:(0,t.jsxs)("div",{className:"relative",style:{width:220,height:450},children:[(0,t.jsx)("div",{className:"absolute -inset-[2px] rounded-[36px] opacity-40",style:{background:"linear-gradient(135deg, rgba(225,194,150,0.4) 0%, transparent 40%, transparent 60%, rgba(196,167,125,0.3) 100%)"}}),(0,t.jsx)("div",{className:"absolute inset-0 rounded-[34px] bg-[#111]",style:{boxShadow:"inset 0 0 0 2px #333, inset 0 0 0 4px #1a1a1a, 0 0 40px rgba(225,194,150,0.08), 0 20px 40px rgba(0,0,0,0.3)"}}),(0,t.jsx)("div",{className:"absolute inset-[10px] rounded-[25px] overflow-hidden bg-[#0d0d0d]",children:(0,t.jsx)(s.default,{src:e.src,alt:`App screen ${a+1}`,fill:!0,sizes:"220px",className:"object-cover object-top"})})]})},e.src))}):"perspective-laptop"===m.screenLayout?(0,t.jsxs)("div",{className:"relative flex justify-center",children:[(0,t.jsx)("div",{className:"absolute -inset-12 bg-primary/8 blur-[80px] rounded-full pointer-events-none animate-glow-pulse"}),(0,t.jsx)("div",{className:"relative animate-fade-up",style:{perspective:1200},children:(0,t.jsx)("div",{style:{transform:"rotateY(16deg) rotateX(3deg)"},children:(0,t.jsx)(l,{src:m.screens[0].src,alt:m.titleEn})})})]}):"overlapping"===m.screenLayout?(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"animate-fade-up",children:(0,t.jsx)(r,{src:m.screens[0].src,alt:`${m.titleEn} - main`})}),m.screens.length>1&&(0,t.jsx)("div",{className:"absolute -bottom-8 -right-4 md:right-[-5%] w-[55%] shadow-[0_20px_60px_rgba(0,0,0,0.5)] animate-fade-up",style:{animationDelay:"0.3s"},children:(0,t.jsx)(r,{src:m.screens[1].src,alt:`${m.titleEn} - detail`})}),(0,t.jsx)("div",{className:"h-16"})]}):null,(0,t.jsxs)("div",{children:[(0,t.jsxs)("span",{className:"font-label text-primary uppercase tracking-[0.3em] text-xs block mb-4",children:[(0,t.jsx)("span",{"data-lang":"en",children:m.tagEn}),(0,t.jsx)("span",{"data-lang":"et",children:m.tagEt})]}),(0,t.jsxs)("h3",{className:"font-headline text-2xl md:text-3xl lg:text-4xl text-on-surface mb-6",children:[(0,t.jsx)("span",{"data-lang":"en",children:m.titleEn}),(0,t.jsx)("span",{"data-lang":"et",children:m.titleEt})]}),(0,t.jsxs)("p",{className:"text-outline text-base leading-relaxed mb-8",children:[(0,t.jsx)("span",{"data-lang":"en",children:m.descEn}),(0,t.jsx)("span",{"data-lang":"et",children:m.descEt})]}),(0,t.jsx)("ul",{className:"space-y-3",children:m.bullets.en.map((e,a)=>(0,t.jsxs)("li",{className:"flex items-start gap-3",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-primary text-lg mt-0.5",children:"check_circle"}),(0,t.jsxs)("span",{className:"text-sm text-on-surface",children:[(0,t.jsx)("span",{"data-lang":"en",children:e}),(0,t.jsx)("span",{"data-lang":"et",children:m.bullets.et[a]})]})]},a))})]})]})]},m.id)]})})}])},12950,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(30642);e.s(["default",0,function({partnerCount:e=s.FALLBACK_PARTNER_COUNT}){let[n,i]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{function e(){let e=window.scrollY,t=document.getElementById("apply");if(t){let a=t.getBoundingClientRect();i(e>600&&a.top>window.innerHeight)}else i(e>600)}return window.addEventListener("scroll",e,{passive:!0}
3),e(),()=>window.removeEventListener("scroll",e)},[]),n)?(0,t.jsxs)("div",{className:"fixed bottom-0 left-0 right-0 z-50 bg-surface-container/95 backdrop-blur-md border-t border-outline-variant/15 py-3 px-6 flex items-center justify-between gap-4 animate-in slide-in-from-bottom duration-300",children:[(0,t.jsxs)("p",{className:"text-sm text-on-surface hidden sm:block",children:[(0,t.jsxs)("span",{"data-lang":"en",children:["Join ",(0,t.jsxs)("strong",{className:"text-primary",children:[e," venues"]})," ","already partnered with Nomi Pass"]}),(0,t.jsxs)("span",{"data-lang":"et",children:["Liitu ",(0,t.jsxs)("strong",{className:"text-primary",children:[e," kohaga"]}),", kes on juba Nomi Passi partnerid"]})]}),(0,t.jsxs)("a",{href:"#apply",className:"premium-gradient text-on-primary px-8 py-2.5 font-label text-xs uppercase tracking-widest font-bold hover:opacity-90 transition-all whitespace-nowrap ml-auto",children:[(0,t.jsx)("span",{"data-lang":"en",children:"Apply Now"}),(0,t.jsx)("span",{"data-lang":"et",children:"Liitu kohe"})]})]}):null}])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.