1import{r as s,j as e,L as j,s as N}from"./index-CbvCveKN.js";const $="cubic-bezier(.2,.7,.2,1)",t={ground:"#07090d",text:"#e6ebf2",text2:"#8b97a8",text3:"#6b7788",dot:"#2f3947",hair:"#ffffff12",accent:"#f26a1b"},z=` 2.ek-final .ekc-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 55% 60% at 50% 55%,#000 20%,transparent 100%);mask-image:radial-gradient(ellipse 55% 60% at 50% 55%,#000 20%,transparent 100%);pointer-events:none} 3.ek-final .ekc-glow{position:absolute;bottom:-350px;left:50%;transform:translateX(-50%);width:1100px;height:700px;background:radial-gradient(ellipse at center,#f26a1b33,transparent 65%);pointer-events:none} 4.ek-final .ekc-wrap{position:relative;max-width:1040px;width:100%;box-sizing:border-box;margin:0 auto;padding:128px 32px 96px;display:flex;flex-direction:column;justify-content:center;gap:64px} 5.ek-final .ekc-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px} 6.ek-final .ekc-label{font-size:12px;letter-spacing:.08em;color:${t.accent}} 7.ek-final .ekc-h{font-size:clamp(44px,6vw,76px);font-weight:600;letter-spacing:-.04em;line-height:1;text-wrap:balance;max-width:900px;margin:0} 8.ek-final .ekc-h span{display:block} 9.ek-final .ekc-h .l1{color:${t.text3}} 10.ek-final .ekc-sub{font-size:17px;color:${t.text2};line-height:1.55;max-width:460px;text-wrap:pretty;margin:0} 11.ek-final .ekc-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px} 12.ek-final .ekc-pwrap{position:relative} 13.ek-final .ekc-ring{position:absolute;inset:0;border-radius:999px;border:1px solid ${t.accent};opacity:0;pointer-events:none} 14.ek-final .ekc-ring.go{animation:ekc-ring 2.4s ease-out infinite} 15.ek-final .ekc-primary{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;height:56px;padding:0 28px;border-radius:999px;background:${t.accent};color:#fff;font-size:15.5px;font-weight:600;box-shadow:0 0 50px #f26a1b66;border:0;cursor:pointer;font-family:inherit;transition:transform .2s} 16.ek-final .ekc-primary:hover{transform:translateY(-1px)} 17.ek-final .ekc-primary:disabled{opacity:.75;cursor:default} 18.ek-final .ekc-sheen{position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:translateX(-120%) skewX(-20deg);pointer-events:none} 19.ek-final .ekc-sheen.go{animation:ekc-shimmer 2.4s ease-in-out infinite} 20.ek-final .ekc-g{position:relative;width:22px;height:22px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none} 21.ek-final .ekc-primary > span:last-child{position:relative} 22.ek-final .ekc-secondary{display:flex;align-items:center;justify-content:center;height:56px;padding:0 28px;border-radius:999px;border:1px solid #ffffff22;color:${t.text};font-size:15.5px;font-weight:500;text-decoration:none;transition:border-color .2s} 23.ek-final .ekc-secondary:hover{border-color:#ffffff55;color:${t.text}} 24.ek-final .ekc-sure{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;font-size:13px;color:${t.text3}} 25.ek-final .ekc-sure i{font-style:normal;color:${t.dot}} 26.ek-final .ekc-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid ${t.hair};border-bottom:1px solid ${t.hair}} 27.ek-final .ekc-cell{padding:28px 24px;border-right:1px solid ${t.hair}} 28.ek-final .ekc-cell:first-child{padding-left:0} 29.ek-final .ekc-cell:last-child{padding-right:0;border-right:0} 30.ek-final .ekc-num{font-size:34px;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums} 31.ek-final .ekc-num.hot{color:${t.accent}} 32.ek-final .ekc-num small{color:${t.text3};font-size:18px} 33.ek-final .ekc-cap{font-size:13px;color:${t.text2};margin-top:10px} 34@keyframes ekc-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}} 35@keyframes ekc-fade{from{opacity:0}to{opacity:1}} 36@keyframes ekc-drift{from{background-position:0 0,0 0}to{background-position:80px 80px,80px 80px}} 37@keyframes ekc-breathe{0%,100%{opacity:.6;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.15)}} 38@keyframes ekc-shimmer{from{transform:translateX(-120%) skewX(-20deg)}to{transform:translateX(320%) skewX(-20deg)}}
39@keyframes ekc-ring{from{transform:scale(1);opacity:.6}to{transform:scale(1.5);opacity:0}} 40@media (max-width:700px){ 41 .ek-final .ekc-wrap{padding:88px 20px 72px;gap:44px} 42 .ek-final .ekc-head{gap:22px} 43 .ek-final .ekc-ctas{flex-direction:column;align-items:stretch;width:100%} 44 .ek-final .ekc-primary{width:100%;justify-content:center} 45 .ek-final .ekc-proof{grid-template-columns:1fr} 46 .ek-final .ekc-cell{padding:20px 0;border-right:0;border-top:1px solid ${t.hair}} 47 .ek-final .ekc-cell:first-child{border-top:0} 48} 49`,S=o=>1-Math.pow(1-o,4),w=(o,r,d,n,k,x)=>{const[m,p]=s.useState(n);return s.useEffect(()=>{if(!o)return;if(r){p(n);return}p(d);let f=0;const u=window.setTimeout(()=>{const g=performance.now();f=window.setInterval(()=>{const h=Math.min(1,(performance.now()-g)/x);p(Math.round(d+(n-d)*S(h))),h>=1&&window.clearInterval(f)},32)},k);return()=>{window.clearTimeout(u),window.clearInterval(f)}},[o,r,d,n,k,x]),m},C=()=>{const o=s.useRef(null),[r,d]=s.useState(!1),[n,k]=s.useState(!1),[x,m]=s.useState(!1),[p,f]=s.useState(!1);s.useEffect(()=>{const a=window.matchMedia("(prefers-reduced-motion: reduce)");k(a.matches);const i=l=>k(l.matches);return a.addEventListener("change",i),()=>a.removeEventListener("change",i)},[]),s.useEffect(()=>{const a=o.current;if(!a)return;const i=new IntersectionObserver(([l])=>{l.isIntersecting&&(d(!0),i.disconnect())},{threshold:.2});return i.observe(a),()=>i.disconnect()},[]),s.useEffect(()=>{if(!r)return;if(n){m(!0);return}const a=window.setTimeout(()=>m(!0),2e3);return()=>window.clearTimeout(a)},[r,n]);const u=w(r,n,45,5,1200,1400),g=w(r,n,400,49,1200,1400),h=async()=>{f(!0),await N("/dashboard")&&(f(!1),window.location.assign("/signup"))},c=(a,i,l,v=$)=>n?{}:r?{animation:`${a} ${i}s ${v} ${l}s both`}:{opacity:0},y=(a,i,l)=>n||!r?{}:{animation:`${a} ${i}s ${l} infinite`},b=x&&!n;return e.jsxs("section",{ref:o,"aria-label":"Get started",className:"ek-onest ek-final section-clip-odd relative overflow-hidden",style:{zIndex:6,background:t.ground,color:t.text,WebkitFontSmoothing:"antialiased"},children:[e.jsx("style",{dangerouslySetInnerHTML:{__html:z}}),e.jsx("div",{className:"ekc-grid","aria-hidden":!0,style:y("ekc-drift",18,"linear")}),e.jsx("div",{className:"ekc-glow","aria-hidden":!0,style:y("ekc-breathe",7,"ease-in-out")}),e.jsxs("div",{className:"ekc-wrap",children:[e.jsxs("div",{className:"ekc-head",children:[e.jsx("div",{className:"ekc-label ek-mono",style:c("ekc-fade",.8,0,"ease"),children:"GET STARTED TODAY"}),e.jsxs("h2",{className:"ekc-h",children:[e.jsx("span",{className:"l1",style:c("ekc-rise",.9,.1),children:"Stop overpaying."}),e.jsx("span",{style:c("ekc-rise",.9,.3),children:"Start running your business."})]}),e.jsx("p",{className:"ekc-sub",style:c("ekc-rise",.9,.5),children:"Built for small HVAC shops done paying enterprise prices for software they barely use."}),e.jsxs("div",{className:"ekc-ctas",style:c("ekc-rise",.9,.7),children:[e.jsxs("div",{className:"ekc-pwrap",children:[e.jsx("div",{className:`ekc-ring${b?" go":""}`,"aria-hidden":!0}),e.jsxs("button",{type:"button",className:"ekc-primary",onClick:h,disabled:p,children:[e.jsx("div",{className:`ekc-sheen${b?" go":""}`,"aria-hidden":!0}),e.jsx("span",{className:"ekc-g","aria-hidden":!0,children:e.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 48 48",children:[e.jsx("path",{fill:"#EA4335",d:"M24 9.5c3.5 0 6.6 1.2 9.1 3.6l6.8-6.8C35.8 2.4 30.3 0 24 0 14.6 0 6.5 5.4 2.6 13.2l7.9 6.1C12.4 13.6 17.7 9.5 24 9.5z"}),e.jsx("path",{fill:"#4285F4",d:"M46.5 24.5c0-1.6-.1-3.1-.4-4.5H24v9h12.7c-.6 3-2.2 5.5-4.7 7.2l7.6 5.9c4.4-4.1 6.9-10.1 6.9-17.6z"}),e.jsx("path",{fill:"#FBBC05",d:"M10.5 28.7A14.6 14.6 0 0 1 9.5 24c0-1.6.3-3.2.8-4.7l-7.9-6.1A24 24 0 0 0 0 24c0 3.9.9 7.5 2.6 10.8l7.9-6.1z"}),e.jsx("path",{fill:"#34A853",d:"M24 48c6.3 0 11.7-2.1 15.6-5.7l-7.6-5.9c-2.1 1.4-4.8 2.3-8 2.3-6.3 0-11.6-4.1-13.5-9.9l-7.9 6.1C6.5 42.6 14.6 48 24 48z"})]})}),e.jsx("span",{children:p?"Opening Googleâ¦":"Sign up with Google"})]})]}),e.jsx(j,{to:"/signup",className:"ekc-secondary",children:"Start with email"})]}),e.jsxs("div",{className:"ekc-sure",style:c("ekc-fade",1,.9,"ease"),children:[e.jsx("span",{children:"Free to start"}),e.jsx("i",{children:"·"}),e.jsx("span",{children:"No credit card required"}),e.jsx("i",{children:"·"}),e.jsx("span",{children:"Cancel anytime"})]})]}),e.jsxs("div",{className:"ekc-proof",style:c("ekc-rise",1,1.1),children:[e.jsxs("div",{className:"ekc-cell",children:[e.jsxs("div",{className:"ekc-num ek-mono",children:[u,e.jsx("small",{children:" min"})]}),e.jsx("div",{className:"ekc-cap",children:"to set up"})]}),e.jsxs("div",{className:"ekc-cell",children:[e.jsxs("div",{className:"ekc-num ek-mono hot",children:["$",g,e.jsx("small",{children:" /mo"})]}),e.jsx("div",{className:"ekc-cap",children:"flat, everything included"})]}),e.jsxs("div",{className:"ekc-cell",children:[e.jsx("div",{className:"ekc-num ek-mono",children:"0"}),e.jsx("div",{className:"ekc-cap",children:"contracts, cancel anytime"})]})]})]})]})};export{C as default};
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.