1import{r as e,t}from"./jsx-runtime-DGeXAQPT.js";import{t as n}from"./react-vt4WmSOl.js";import{t as r}from"./link-DfXvwZHU.js";var i=e(n()),a=t(),o=`https://calendar.app.google/VjtDSiVx43MuKSHx5`;function s(){return(0,a.jsxs)(`section`,{className:`relative overflow-hidden`,children:[(0,a.jsx)(`div`,{className:`pointer-events-none absolute inset-0 opacity-[0.06]`,style:{backgroundImage:`linear-gradient(to right, #ffffff 1px, transparent 1px), linear-gradient(to bottom, #ffffff 1px, transparent 1px)`,backgroundSize:`56px 56px`,maskImage:`radial-gradient(ellipse at top, black 40%, transparent 75%)`}}),(0,a.jsx)(`div`,{className:`pointer-events-none absolute left-1/2 top-[-10%] h-[520px] w-[900px] -translate-x-1/2 rounded-full opacity-30 blur-3xl`,style:{background:`radial-gradient(circle, #56e273 0%, transparent 60%)`}}),(0,a.jsxs)(`div`,{className:`relative mx-auto w-full max-w-6xl px-6 md:px-8 pb-32 pt-24 md:pt-32 text-center`,children:[(0,a.jsx)(`p`,{className:`mb-6 text-xs font-semibold uppercase tracking-[0.24em] text-primary text-center`,children:`Contact`}),(0,a.jsxs)(`h1`,{className:`font-[family-name:var(--font-heading)] text-4xl font-bold leading-[1.05] tracking-tight text-foreground md:text-6xl lg:text-7xl`,children:[`Let's `,(0,a.jsx)(`span`,{className:`text-primary`,children:`talk.`})]}),(0,a.jsx)(`p`,{className:`mx-auto mt-8 max-w-3xl text-pretty text-lg leading-relaxed text-muted-foreground md:text-xl`,children:`Discovery call first. We take a look inside your CRM and analytics, tell you honestly whether we can help, and only then talk scope. Fast when it's a fit.`}),(0,a.jsxs)(`div`,{className:`mt-12`,children:[(0,a.jsx)(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center rounded-full bg-primary px-10 py-5 text-lg font-semibold text-primary-foreground transition-transform hover:scale-[1.02]`,children:`Book a Discovery Call`}),(0,a.jsxs)(`p`,{className:`mt-6 text-base text-muted-foreground`,children:[`Prefer email?`,` `,(0,a.jsx)(`a`,{href:`mailto:[email protected]`,className:`font-semibold text-foreground underline-offset-4 hover:text-primary hover:underline`,children:`[email protected]`})]})]}),(0,a.jsx)(c,{}),(0,a.jsxs)(`div`,{className:`mt-16 rounded-2xl border border-border/60 bg-[#36454F]/40 p-8`,children:[(0,a.jsx)(`p`,{className:`text-base leading-relaxed text-muted-foreground md:text-lg`,children:`Not ready for a call? Run the 2-minute GTM Scorecard and bring us the score.`}
1),(0,a.jsx)(r,{to:`/gtm-scorecard`,className:`mt-6 inline-flex items-center justify-center rounded-full border border-border/70 bg-transparent px-6 py-3 text-sm font-semibold text-foreground transition-colors hover:border-primary/60`,children:`Run the GTM Scorecard â`})]})]})]})}function c(){let[e,t]=(0,i.useState)(``),[n,r]=(0,i.useState)(``),[o,s]=(0,i.useState)(``),[c,l]=(0,i.useState)(``),[u,d]=(0,i.useState)(``),[f,p]=(0,i.useState)(`idle`),[m,h]=(0,i.useState)(null);async function g(i){i.preventDefault(),p(`submitting`),h(null);try{let i=await fetch(`/api/public/submit-contact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({firstName:e,lastName:n,email:o,challenge:c,source:u})}),a=await i.json().catch(()=>({}));if(!i.ok){h(a?.error||`Something went wrong. Please try again.`),p(`error`);return}p(`success`),t(``),r(``),s(``),l(``),d(``)}catch{h(`Network error. Please try again.`),p(`error`)}}let _=`w-full rounded-lg border border-border/60 bg-[#1a2326] px-4 py-3 text-base text-foreground placeholder:text-muted-foreground/60 focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary`,v=`mb-2 block text-sm font-medium text-foreground`;return(0,a.jsxs)(`div`,{className:`mt-16 rounded-2xl border border-border/60 bg-[#36454F]/40 p-8`,children:[(0,a.jsx)(`h2`,{className:`font-[family-name:var(--font-heading)] text-2xl font-bold text-foreground md:text-3xl`,children:`Or send us a note.`}),(0,a.jsx)(`p`,{className:`mt-2 text-base text-muted-foreground`,children:`Tell us what you're working on. We'll respond within one business day.`}),f===`success`?(0,a.jsxs)(`div`,{className:`mt-8 rounded-lg border border-primary/40 bg-primary/10 p-6`,children:[(0,a.jsx)(`p`,{className:`font-semibold text-foreground`,children:`Thanks â message received.`}),(0,a.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`We'll be in touch within one business day. In the meantime, feel free to book a discovery call directly.`})]}):(0,a.jsxs)(`form`,{onSubmit:g,className:`mt-8 space-y-6`,children:[(0,a.jsxs)(`div`,{className:`grid gap-6 md:grid-cols-2`,children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`label`,{htmlFor:`firstName`,className:v,children:`First name`}),(0,a.jsx)(`input`,{id:`firstName`,required:!0,value:e,onChange:e=>t(e.target.value),maxLength:100,className:_})]}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`label`,{htmlFor:`lastName`,className:v,children:`Last name`}),(0,a.jsx)(`input`,{id:`lastName`,required:!0,value:n,onChange:e=>r(e.target.value),maxLength:100,className:_})]})]}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`label`,{htmlFor:`email`,className:v,children:`Email`}),(0,a.jsx)(`input`,{id:`email`,type:`email`,required:!0,value:o,onChange:e=>s(e.target.value),maxLength:255,className:_})]}),(0,a.jsxs)(`div`,{children:[(0,a.jsxs)(`label`,{htmlFor:`challenge`,className:v,children:[`What's your GTM challenge? `,(0,a.jsx)(`span`,{className:`text-muted-foreground/70`,children:`(optional)`})]}),(0,a.jsx)(`textarea`,{id:`challenge`,rows:4,value:c,onChange:e=>l(e.target.value),maxLength:5e3,className:_})]}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`label`,{htmlFor:`source`,className:v,children:`How did you hear about us?`}),(0,a.jsx)(`input`,{id:`source`,required:!0,value:u,onChange:e=>d(e.target.value),maxLength:500,className:_,placeholder:`LinkedIn, referral from a friend, podcast, etc.`})]}),f===`error`&&m&&(0,a.jsx)(`p`,{className:`rounded-lg border border-red-500/40 bg-red-500/10 p-3 text-sm text-red-300`,children:m}),(0,a.jsx)(`button`,{type:`submit`,disabled:f===`submitting`,className:`inline-flex items-center justify-center rounded-full bg-primary px-8 py-4 text-base font-semibold text-primary-foreground transition-transform hover:scale-[1.02] disabled:cursor-not-allowed disabled:opacity-60`,children:f===`submitting`?`Sendingâ¦`:`Send message`})]})]})}export{s as component};
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.