1import{r as u,j as e,ah as f,E as N,ai as w,n as y,aj as k,A as E,ak as I}from"./index-DhEyj7hC.js";const q=[{q:"What do you actually build?",a:"GoHighLevel automation, AI automations on n8n, Zapier, and Make, CRM setup, funnels, custom websites, and small apps. Most of it for coaches and agencies who are losing leads to manual follow-up."},{q:"How fast can you start?",a:"Same week for small fixes. Larger builds get a kickoff call within 48 hours. I work Manila time and overlap most US and EU schedules."},{q:"Do I have to be on GoHighLevel?",a:"No. Most of my work is GHL because that is where the certification is, but I have also built on Zapier, n8n, and custom CRMs. If your stack is a bad fit I will say so upfront."},{q:"How much do you charge?",a:"Depends on the build. We hop on a discovery call so I can see the actual problem, then I send a written proposal with scope and price. No padded estimates."},{q:"What happens after I write?",a:"I read it the same day and reply within one business day. You get a plan if I can automate it, or a straight no if I cannot."}],g="[email protected]",d=80,_=254,p=5e3,v=new RegExp("[\\u0000-\\u001F\\u007F]","g"),S=new RegExp("[\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]","g"),C=new RegExp("[\\u200B-\\u200F\\u202A-\\u202E\\u2060\\uFEFF]","g");function o(a,s=!1){const n=s?S:v;return a.replace(n,"").replace(C,"")}const L=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function F(a){const s=o(String(a.get("firstName")??"").trim()).slice(0,d),n=o(String(a.get("lastName")??"").trim()).slice(0,d),l=o(String(a.get("email")??"").trim()).slice(0,_),c=o(String(a.get("message")??"").trim(),!0).slice(0,p);if(!s||!n||!l||!c||!L.test(l))return null;const m=String(a.get("website")??"");return{firstName:s,lastName:n,email:l,message:c,website:m}}class $ extends Error{}async function A(a){const s=`Project inquiry from ${a.firstName} ${a.lastName}`,n=[`Name: ${a.firstName} ${a.lastName}`,`Email: ${a.email}`,"",a.message].join(` 2`);return window.location.href=`mailto:${encodeURIComponent(g)}?subject=${encodeURIComponent(s)}&body=${encodeURIComponent(n)}`,{via:"mailto"}}const R=650,M=a=>new Promise(s=>setTimeout(s,a));function W(){const[a,s]=u.useState({kind:"idle"}),[n,l]=u.useState(0),[c,m]=u.useState(0),x=async i=>{i.preventDefault();const r=F(new FormData(i.currentTarget));if(!r){s({kind:"error",note:"Add your name, a real email, and a short note."}),l(t=>t+1);return}s({kind:"sending"});try{const[t]=await Promise.all([A(r),M(R)]);s({kind:"sent",via:t.via})}catch(t){const b=t instanceof $?t.message:"That did not go through. Email me directly instead.";s({kind:"error",note:b}),l(j=>j+1)}},h=a.kind==="sending";return e.jsxs("section",{className:"pgrid cgrid","aria-labelledby":"contact-title",children:[e.jsxs("header",{className:"pgrid__head",children:[e.jsx("span",{className:"pgrid__eyebrow",children:"FAQs / Contact"}),e.jsx("h1",{className:"pgrid__title",id:"contact-title",children:"Work worth doing. Tools worth building."}),e.jsx("p",{className:"pgrid__lede",children:"Tell me what is eating your week. If I can automate it you will get a plan back, and if I cannot I will say so."})]}),e.jsxs("div",{className:"home__glass cgrid__glass",children:[e.jsxs("aside",{className:"cgrid__aside","aria-labelledby":"contact-faq",children:[e.jsxs("div",{className:"cgrid__aside-head",children:[e.jsx("span",{className:"cgrid__eyebrow",children:"FAQs"}),e.jsxs("h2",{className:"cgrid__aside-title",id:"contact-faq",children:["Quick answers.",e.jsx("br",{}),e.jsx("span",{children:"Still have one? Write below."})]})]}),e.jsx("ul",{className:"cgrid__faqs",role:"list",children:q.map((i,r)=>{const t=c===r;return e.jsxs("li",{className:`cgrid__faq${t?" is-open":""}`,children:[e.jsxs("button",{type:"button",className:"cgrid__faq-q",onClick:()=>m(t?null:r),"aria-expanded":t,"aria-controls":`cfaq-${r}`,children:[e.jsx("span",{className:"cgrid__step-index","aria-hidden":"true",children:String(r+1).padStart(2,"0")}),e.jsx("span",{className:"cgrid__faq-text",children:i.q}),e.jsx(f,{size:14,weight:"bold",className:"cgrid__faq-caret","aria-hidden":"true"})]}
2),e.jsx("div",{className:"cgrid__faq-a",id:`cfaq-${r}`,hidden:!t,children:e.jsx("p",{children:i.a})})]},i.q)})}),e.jsxs("div",{className:"cgrid__direct",children:[e.jsxs("a",{className:"cgrid__mail",href:`mailto:${g}`,children:[e.jsx(N,{size:16,weight:"fill","aria-hidden":"true"}),e.jsx("span",{children:g})]}),e.jsx("ul",{className:"cgrid__socials",role:"list",children:w.socials.map(i=>e.jsx("li",{children:e.jsx("a",{className:"cgrid__social",href:i.href,target:"_blank",rel:"noopener noreferrer","aria-label":i.label,children:e.jsx("img",{src:i.iconPath,alt:"",loading:"lazy",decoding:"async"})})},i.href))})]})]}),e.jsx("div",{className:"cgrid__panel",children:a.kind==="sent"?e.jsxs("div",{className:"cgrid__done",role:"status",children:[e.jsx("span",{className:"cgrid__done-mark","aria-hidden":"true",children:e.jsx(y,{size:30,weight:"fill"})}),e.jsx("h2",{className:"cgrid__done-title",children:a.via==="webhook"?"Got it.":"Your mail app has it."}),e.jsx("p",{className:"cgrid__done-body",children:a.via==="webhook"?"It is in my inbox and on my phone. You will hear back within one business day.":"The message is laid out and addressed. Press send there and you will hear back within one business day."}),e.jsx("button",{type:"button",className:"cgrid__again",onClick:()=>s({kind:"idle"}),children:"Write another"})]}):e.jsxs("form",{className:`cgrid__form${h?" is-sending":""}`,onSubmit:x,noValidate:!0,children:[e.jsx("input",{type:"text",name:"website",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"cgrid__trap"}),e.jsxs("div",{className:"cgrid__row",children:[e.jsxs("label",{className:"cgrid__field",children:[e.jsx("span",{className:"cgrid__label",children:"First name"}),e.jsx("input",{type:"text",name:"firstName",autoComplete:"given-name",required:!0,maxLength:d,placeholder:"Kenneth"})]}),e.jsxs("label",{className:"cgrid__field",children:[e.jsx("span",{className:"cgrid__label",children:"Last name"}),e.jsx("input",{type:"text",name:"lastName",autoComplete:"family-name",required:!0,maxLength:d,placeholder:"Villar"})]})]}),e.jsxs("label",{className:"cgrid__field",children:[e.jsx("span",{className:"cgrid__label",children:"Email"}),e.jsx("input",{type:"email",name:"email",autoComplete:"email",required:!0,maxLength:_,placeholder:"[email protected]"})]}),e.jsxs("label",{className:"cgrid__field cgrid__field--grow",children:[e.jsx("span",{className:"cgrid__label",children:"Tell me more about your business"}),e.jsx("textarea",{name:"message",required:!0,maxLength:p,placeholder:"What is the bottleneck? Where do leads stop? What are you running it on?"})]}),e.jsxs("div",{className:"cgrid__actions",children:[e.jsxs("button",{type:"submit",className:`cgrid__submit${h?" is-sending":""}${a.kind==="error"?" is-shaking":""}`,disabled:!0,"aria-disabled":!0,children:[e.jsx("span",{className:"cgrid__submit-plane","aria-hidden":"true",children:e.jsx(k,{size:17,weight:"fill"})}),e.jsx("span",{className:"cgrid__submit-label",children:h?"Sending":"Work in Progress"}),e.jsx(E,{className:"cgrid__submit-arrow",size:15,weight:"bold","aria-hidden":"true"})]},n),a.kind==="error"?e.jsxs("span",{className:"cgrid__status",role:"alert",children:[e.jsx(I,{size:16,weight:"fill","aria-hidden":"true"}),a.note]}):e.jsx("span",{className:"cgrid__hint",children:"One business day. No newsletter, no drip."})]})]})})]})]})}export{W 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.