{"version":3,"file":"LeadQualificationForm.5_eSP2DS.mjs","names":["w","useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/bOqQkwMlUXsrpFea4MWT/0tej5CzObAXfV5X5PVm7/LeadQualificationForm.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef,useCallback}from\"react\";/**\n * ============================================================================\n * BAGS — Lead Qualification Form\n * ============================================================================\n * Standalone multi-step lead qualification form.\n *\n * HubSpot access is server-side only. This component NEVER calls HubSpot\n * directly and NEVER holds the HubSpot Service Key — it only calls the two\n * proxy endpoints below (HUBSPOT_PROXY), which must be deployed as a\n * server-side function (serverless function or backend route) that holds\n * the Service Key. See the companion files:\n *   - hubspot-incremental-proxy.js  (Contacts batch upsert)\n *   - hubspot-submit-proxy.js       (final Forms API submission)\n * ============================================================================\n */// ----------------------------------------------------------------------------\n// COPY — every user-facing string lives here. Edit copy only in this object.\n// ----------------------------------------------------------------------------\nconst COPY={brand:\"Bags\",intro:{headline:\"Let's find out if we're a \",headlineHighlight:\"fit.\",subhead:\"A few quick questions before we get you on the calendar.\",helper:\"Takes about two minutes\",cta:\"Start\"},step1:{stepNumber:1,gateLabel:null,q1:{question:\"How are you currently managing your books?\",required:true,placeholder:\"Select an option\",options:[{value:\"diy\",label:\"Doing it myself\"},{value:\"bookkeeper\",label:\"Using a bookkeeper or accountant\"},{value:\"software\",label:\"Software only (QuickBooks, Wave, etc.)\"},{value:\"nothing\",label:\"Nothing in place\"}],error:\"Pick the option that fits best.\"},q2:{question:\"What does your business do?\",required:true,placeholder:\"A sentence is plenty\",error:\"Tell us a bit about the business.\"},q3:{question:\"Email\",required:true,placeholder:\"name@company.com\",helperPrefix:\"We won't spam you. By submitting this form I agree to be contacted by Bags including by text message. Read our \",helperLinkLabel:\"Privacy Policy\",helperLinkHref:\"https://securebags.com/privacy\",helperSuffix:\".\",error:\"Please enter a valid email address\"}},step2:{stepNumber:2,gateLabel:null,q1:{question:\"First name\",required:true,placeholder:\"Your first name\",error:\"First name is required.\"},q2:{question:\"Last name\",required:true,placeholder:\"Your last name\",error:\"Last name is required.\"},q3:{question:\"Phone number\",required:false,placeholder:\"(555) 000-0000\",error:\"Please enter a valid phone number\"},q4:{question:\"State\",required:false,placeholder:\"Select your state\"}},step3:{stepNumber:3,gateLabel:\"Gate\",q1:{question:\"What's your monthly revenue?\",required:true,helper:\"This tells us which kind of support actually fits.\",options:[{value:\"0-20k\",label:\"$0–$20k\"},{value:\"20-50k\",label:\"$20k–$50k\"},{value:\"50-100k\",label:\"$50k–$100k\"},{value:\"100-150k\",label:\"$100k–$150k\"},{value:\"150k-plus\",label:\"$150k+\"}],error:\"Pick the range closest to your monthly revenue.\"},q2:{question:\"What's the one thing you most want to get out of having clean books?\",required:false,helper:\"Optional, but it helps us prepare for the call.\",placeholder:\"Whatever's on your mind\"}},nav:{next:\"Next\",back:\"Back\",submit:\"Submit\"},stepLabel:(step,total)=>`Step ${step} of ${total}`,stepLabelShort:(step,total)=>`${step}/${total}`,// Placeholder copy pending client approval. Build as written — do not rewrite.\nend1:{headline:\"Got it. Now pick a time.\",subhead:\"Twenty minutes with someone who'll have looked at your answers before the call.\",calendarUrl:\"https://meetings.hubspot.com/daniel2155/website-lead-form-scheduler\"},end2:{headline:\"Not quite yet. But keep going.\",body:[\"If your business isn't past $20K a month yet, this isn't the right fit. We'd rather tell you that now than sign you up for something you don't need.\",\"There's still something useful here. Connect your QuickBooks and get a free read on your books. When the numbers grow, come back.\"],primaryCta:{label:\"Check your books for free\",href:\"/books-review\"}},booked:{headline:\"You're booked.\",body:\"We'll review your answers before the call. Twenty minutes. Come with a sense of your monthly revenue and what's feeling unclear.\",secondaryCta:{label:\"Check your books for free while you wait\",href:\"/books-review\"},closeHint:\"Or close this window and we'll see you on the call.\"}};const TOTAL_STEPS=3;// This is the option value (from step3.q1.options above) that triggers the\n// disqualification branch. Must match one of the `value`s in q1.options.\nconst DISQUALIFYING_REVENUE_VALUE=\"0-20k\";// ----------------------------------------------------------------------------\n// HUBSPOT WIRING\n// ----------------------------------------------------------------------------\n// Portal ID (24385105), Form GUID (aba6252b-e735-4ce6-85d2-e754b698e087), and\n// the Service Key all live server-side only, in the two proxy functions this\n// component calls. Nothing secret is ever embedded here.\nconst HUBSPOT_PROXY={incrementalUrl:\"https://api.securebags.com/marketing/book-a-call/upsert\",finalUrl:\"https://api.securebags.com/marketing/book-a-call/submit\"};// Local form-data key -> the proxy's flat field name. Every request body sent\n// to the proxy is flat — no \"properties\" wrapper, no \"fields\" array. The\n// proxy's schema uses extra=\"forbid\", so any unrecognized key 422s.\nconst HUBSPOT_FIELD_MAPPING={bookManagement:\"book_management\",businessDescription:\"business_description\",firstName:\"first_name\",email:\"email\",monthlyRevenue:\"monthly_revenue\",lastName:\"last_name\",phone:\"phone\",state:\"state\",cleanBooksGoal:\"discovery_goal\"};// Computed context (not a user-entered FormData field) -> proxy field name.\n// Value is computed dynamically at submit time, never hardcoded.\nconst HUBSPOT_CONTEXT_FIELD_MAPPING={sourcePage:\"source_page\"};// The proxy also accepts \"turnstile_token\" (Cloudflare Turnstile), but this\n// form doesn't implement Turnstile — the field is optional, so it's simply\n// never included rather than sent empty.\n// Explicitly NOT sent: \"lead_source\" is already a hidden field with a fixed\n// default on the HubSpot form — do not send it from here.\n// Local option value -> the proxy's enum value, per select-type question.\nconst HUBSPOT_OPTION_VALUES={bookManagement:{diy:\"doing_it_myself\",bookkeeper:\"bookkeeper_or_accountant\",software:\"software_only\",nothing:\"nothing_in_place\"},monthlyRevenue:{\"0-20k\":\"under_20k\",\"20-50k\":\"20k_to_50k\",\"50-100k\":\"50k_to_100k\",\"100-150k\":\"100k_to_150k\",\"150k-plus\":\"over_150k\"}};const INITIAL_FORM_DATA={bookManagement:\"\",businessDescription:\"\",firstName:\"\",email:\"\",monthlyRevenue:\"\",lastName:\"\",phone:\"\",state:\"\",cleanBooksGoal:\"\"};// ----------------------------------------------------------------------------\n// HubSpot helpers — all network calls go to OUR proxy, never to HubSpot\n// directly. The proxy is the only thing that holds the Service Key.\n// ----------------------------------------------------------------------------\nfunction resolveFieldValue(key,rawValue){const optionMap=HUBSPOT_OPTION_VALUES[key];return optionMap?optionMap[rawValue]??rawValue:rawValue;}// Builds { hubspotPropertyName: value } for every FormData field that has\n// both a non-empty value and a confirmed HubSpot property mapping.\nfunction buildHubspotProperties(data){const properties={};for(const key of Object.keys(data)){const rawValue=data[key];if(!rawValue)continue;const propertyName=HUBSPOT_FIELD_MAPPING[key];if(!propertyName){// eslint-disable-next-line no-console\nconsole.warn(`[LeadQualificationForm] No HubSpot property mapped for \"${key}\" — skipping field.`);continue;}properties[propertyName]=resolveFieldValue(key,rawValue);}const sourcePageProperty=HUBSPOT_CONTEXT_FIELD_MAPPING.sourcePage;const sourcePage=getSourcePage();if(sourcePageProperty&&sourcePage){properties[sourcePageProperty]=sourcePage;}return properties;}// A 429 from the proxy either means \"solve a Turnstile challenge before we'll\n// accept this\" (challenge_required) or \"the token you retried with didn't\n// work, try again\" (challenge_failed). Either way we pause here, let the\n// mounted Turnstile widget produce a token, and retry the identical request\n// with turnstile_token attached — looping until it succeeds, comes back with\n// some other status, or we give up after too many rounds.\nconst MAX_CHALLENGE_ATTEMPTS=5;async function postToProxy(url,body){if(!url){// eslint-disable-next-line no-console\nconsole.warn(\"[LeadQualificationForm] Proxy endpoint not configured yet — skipping call.\",body);return;}let payload=body;for(let attempt=0;attempt<MAX_CHALLENGE_ATTEMPTS;attempt++){let response;try{response=await fetch(url,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(payload)});}catch(err){// eslint-disable-next-line no-console\nconsole.error(\"[LeadQualificationForm] Proxy call failed.\",err);activeChallengeBridge?.dismiss();return;}if(response.status!==429){if(attempt>0)activeChallengeBridge?.dismiss();return;}// The proxy signals which case this is via `status`, not a boolean\n// flag: \"challenge_required\" the first time, \"challenge_failed\" if a\n// previously-submitted token didn't pass. `challenge_required` stays\n// true in both bodies, so it alone can't tell them apart.\nlet challengeBody=null;try{challengeBody=await response.json();}catch{challengeBody=null;}const isChallengeFailed=challengeBody?.status===\"challenge_failed\";const needsChallenge=isChallengeFailed||challengeBody?.status===\"challenge_required\"||!!challengeBody?.challenge_required;if(!needsChallenge){// eslint-disable-next-line no-console\nconsole.warn(\"[LeadQualificationForm] Proxy returned 429 without a usable challenge.\",challengeBody);return;}if(!activeChallengeBridge){// eslint-disable-next-line no-console\nconsole.warn(\"[LeadQualificationForm] Challenge required but no Turnstile handler is mounted.\");return;}const token=await activeChallengeBridge.getToken(isChallengeFailed);payload={...body,turnstile_token:token};}// eslint-disable-next-line no-console\nconsole.error(\"[LeadQualificationForm] Gave up after repeated Turnstile challenge failures.\");activeChallengeBridge?.dismiss();}// Incremental save — fired once a valid email exists, then again on every\n// subsequent step transition. Never fired on individual keystrokes. Upserts\n// the in-progress contact via our proxy (idProperty = email, server-side).\nasync function sendIncrementalUpdate(data){const email=data.email.trim();if(!email)return;// nothing to upsert on yet\nawait postToProxy(HUBSPOT_PROXY.incrementalUrl,buildHubspotProperties(data));}// Final submission — fired exactly once per completed form (qualified or\n// disqualified), via the Forms API proxy. This is the one HubSpot counts\n// toward form conversion analytics. Call-once is enforced by the caller (a\n// ref inside the component), not here, so this stays a pure function.\nasync function sendFinalSubmission(data,outcome){const body={...buildHubspotProperties(data),outcome};const hutk=getHubspotUtk();if(hutk)body.hutk=hutk;await postToProxy(HUBSPOT_PROXY.finalUrl,body);}const UTM_KEYS=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\"];// Capture UTM params from the URL. Call this once, at mount, before any\n// client-side navigation can drop them from the address bar.\nfunction getUtmParamsFromLocation(){if(typeof window===\"undefined\")return{};const searchParams=new URLSearchParams(window.location.search);const utm={};for(const key of UTM_KEYS){const value=searchParams.get(key);if(value)utm[key]=value;}return utm;}// Appends any captured UTM params onto a redirect link (used by the\n// disqualified end screen's CTAs) so attribution survives the handoff.\nfunction appendUtmParams(href,utm){const entries=Object.entries(utm).filter(([,v])=>!!v);if(entries.length===0)return href;const separator=href.includes(\"?\")?\"&\":\"?\";const query=entries.map(([key,value])=>`${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join(\"&\");return`${href}${separator}${query}`;}// HubSpot's tracking cookie, used as `hutk` in the Forms API context object\n// so the submission ties back to the visitor's tracked session. Requires the\n// HubSpot tracking code to be loaded on the page.\nfunction getHubspotUtk(){if(typeof document===\"undefined\")return undefined;const match=document.cookie.match(/(?:^|;\\s*)hubspotutk=([^;]+)/);return match?decodeURIComponent(match[1]):undefined;}// Computed dynamically from the current page path — never hardcoded.\nfunction getSourcePage(){if(typeof window===\"undefined\")return\"\";return window.location.pathname;}// ----------------------------------------------------------------------------\n// Phone + email field formatting/validation\n// ----------------------------------------------------------------------------\n// Formats a raw digit string as (555) 000-0000, progressively — used only\n// for display. The digits themselves (never the punctuation) are what's\n// stored in form state.\nfunction formatUsPhoneDigits(digits){if(digits.length===0)return\"\";if(digits.length<=3)return`(${digits}`;if(digits.length<=6)return`(${digits.slice(0,3)}) ${digits.slice(3)}`;return`(${digits.slice(0,3)}) ${digits.slice(3,6)}-${digits.slice(6,10)}`;}// Called from the phone input's onChange. International numbers (leading\n// \"+\") are passed through untouched — no stripping, no masking. US-style\n// entries have every non-digit character stripped and are capped at 10\n// digits; the mask is derived from this at render time, never stored.\nfunction sanitizePhoneInput(rawValue){if(rawValue.trim().startsWith(\"+\"))return rawValue;return rawValue.replace(/\\D/g,\"\").slice(0,10);}// What the input actually displays — the raw international value as typed,\n// or the progressively-masked US number.\nfunction formatPhoneForDisplay(rawValue){if(rawValue.trim().startsWith(\"+\"))return rawValue;return formatUsPhoneDigits(rawValue);}// Blur-time validation. Phone is optional, so empty is always valid.\n// International numbers just need 7+ digits; US-style entries must be\n// exactly 10 digits. Returns undefined when valid, or the inline error\n// message when not — never blocks form progression either way.\nfunction validatePhoneOnBlur(rawValue){const trimmed=rawValue.trim();if(!trimmed)return undefined;if(trimmed.startsWith(\"+\")){const digitCount=trimmed.replace(/\\D/g,\"\").length;return digitCount>=7?undefined:\"Please enter a valid phone number\";}const digitsOnly=trimmed.replace(/\\D/g,\"\");return digitsOnly.length===10?undefined:\"Please enter a valid phone number\";}const EMAIL_PATTERN=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;function isValidEmail(value){return EMAIL_PATTERN.test(value.trim());}// ----------------------------------------------------------------------------\n// TOKENS\n// ----------------------------------------------------------------------------\nconst TOKENS={card:\"#FFFCF2\",header:\"#022c22\",lime:\"#BEF264\",white:\"#ffffff\",border:\"rgba(2,44,34,.16)\",borderHover:\"rgba(2,44,34,.42)\",muted:\"#6b7c73\",body:\"#3a4b43\",link:\"#106a42\",track:\"rgba(2,44,34,.1)\",focusRing:\"rgba(190,242,100,.35)\",keycapBorder:\"rgba(2,44,34,.18)\",keycapText:\"#9aa8a1\",placeholder:\"#9aa8a1\"};const FONT=\"'Be Vietnam Pro', system-ui, sans-serif\";const ROOT_CLASS=\"bqf-root\";function letterFor(index){return String.fromCharCode(65+index);}// ----------------------------------------------------------------------------\n// Small presentational pieces\n// ----------------------------------------------------------------------------\nfunction Header({step,total,onClose}){return /*#__PURE__*/_jsxs(\"div\",{className:\"bqf-header\",children:[/*#__PURE__*/_jsx(BagsLogo,{}),step!==null&&/*#__PURE__*/_jsxs(\"span\",{className:\"bqf-step-label\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"bqf-step-label-long\",children:COPY.stepLabel(step,total)}),/*#__PURE__*/_jsx(\"span\",{className:\"bqf-step-label-short\",children:COPY.stepLabelShort(step,total)})]}),/*#__PURE__*/_jsx(CloseButton,{onClose:onClose})]});}function ProgressBar({step,total}){const pct=Math.max(0,Math.min(100,step/total*100));return /*#__PURE__*/_jsx(\"div\",{className:\"bqf-progress-track\",children:/*#__PURE__*/_jsx(\"div\",{className:\"bqf-progress-fill\",style:{width:`${pct}%`}})});}function BagsLogo(){return /*#__PURE__*/_jsx(\"svg\",{className:\"bqf-brand-logo\",width:\"80\",height:\"18.58\",viewBox:\"0 0 86.171 20\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M 19.71 5.051 C 19.71 2.262 17.482 0 14.733 0 L 0 0 L 0 11.567 C 0 16.224 3.721 20 8.311 20 L 14.774 20 C 17.5 20 19.71 17.758 19.71 14.992 C 19.71 12.458 17.686 10.404 15.189 10.404 C 17.686 10.404 19.71 7.585 19.71 5.051 Z M 11.412 14.13 L 9.262 14.13 L 9.262 13.02 L 11.411 13.02 C 11.746 13.02 12.017 13.269 12.017 13.575 C 12.017 13.881 11.746 14.13 11.411 14.13 Z M 11.412 6.979 L 9.262 6.979 L 9.262 5.869 L 11.411 5.869 C 11.746 5.869 12.017 6.118 12.017 6.424 C 12.017 6.73 11.746 6.979 11.411 6.979 Z M 22.131 8.093 L 22.131 20 L 27.911 20 C 29.86 20 31.367 18.398 31.367 16.421 L 31.367 14.131 L 32.579 14.131 L 32.579 20 L 34.953 20 C 38.756 20 41.84 16.872 41.84 13.012 L 41.84 0 L 30.105 0 C 25.701 0 22.13 3.623 22.13 8.093 Z M 31.368 6.98 L 32.58 6.98 L 32.58 9.775 L 31.368 9.775 Z M 54.966 6.979 L 59.484 6.979 C 61.981 6.979 64.006 5.097 64.006 2.564 L 64.006 0 L 52.607 0 C 48.017 0 44.295 3.776 44.295 8.434 L 44.295 20 L 64.005 20 L 64.005 8.262 L 59.486 8.262 C 56.99 8.262 54.66 10.488 54.66 13.021 L 53.567 13.021 L 53.567 6.978 L 54.965 6.978 M 81.651 5.869 C 84.147 5.869 86.171 3.815 86.171 1.281 L 86.171 0 L 74.773 0 C 70.182 0 66.461 3.776 66.461 8.434 C 66.461 10.967 68.485 13.021 70.982 13.021 L 75.809 13.021 L 75.809 14.131 L 70.982 14.131 C 68.485 14.131 66.461 16.185 66.461 18.718 L 66.461 20 L 77.86 20 C 82.45 20 86.171 16.224 86.171 11.567 C 86.171 9.033 84.147 6.979 81.651 6.979 L 77.441 6.979 L 77.441 5.869 L 81.651 5.869 Z\",fill:\"#ffffff\"})});}function CloseButton({onClose}){return /*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"bqf-close-btn\",\"aria-label\":\"Close\",onClick:onClose,children:\"\\xd7\"});}function RequiredMark(){return /*#__PURE__*/_jsx(\"span\",{style:{color:TOKENS.link},children:\" *\"});}function OptionRow({letter,label,selected,onSelect}){return /*#__PURE__*/_jsxs(\"div\",{role:\"radio\",\"aria-checked\":selected,tabIndex:0,className:`bqf-option${selected?\" bqf-option-selected\":\"\"}`,onClick:onSelect,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();onSelect();}},children:[/*#__PURE__*/_jsx(\"span\",{className:`bqf-keycap${selected?\" bqf-keycap-selected\":\"\"}`,children:letter}),/*#__PURE__*/_jsx(\"span\",{className:\"bqf-option-label\",children:label})]});}function FieldError({message}){if(!message)return null;return /*#__PURE__*/_jsx(\"div\",{className:\"bqf-field-error\",children:message});}// ----------------------------------------------------------------------------\n// HubSpot Meetings embed\n// ----------------------------------------------------------------------------\n// Pre-fills the HubSpot Meetings embed with whatever contact info was\n// collected earlier in the form, so the visitor doesn't have to retype it.\n// Fields left blank are omitted entirely rather than sent as empty strings.\nfunction buildMeetingsUrl(baseUrl,data){const params=[\"embed=true\"];const firstName=data.firstName.trim();const lastName=data.lastName.trim();const email=data.email.trim();if(firstName)params.push(`firstname=${encodeURIComponent(firstName)}`);if(lastName)params.push(`lastname=${encodeURIComponent(lastName)}`);if(email)params.push(`email=${encodeURIComponent(email)}`);return`${baseUrl}?${params.join(\"&\")}`;}function HubspotMeetingsEmbed({src}){useEffect(()=>{if(typeof document===\"undefined\")return;const scriptSrc=\"https://static.hsappstatic.net/MeetingsEmbed/ex/MeetingsEmbedCode.js\";if(document.querySelector(`script[src=\"${scriptSrc}\"]`))return;const script=document.createElement(\"script\");script.src=scriptSrc;script.async=true;document.body.appendChild(script);},[]);return /*#__PURE__*/_jsx(\"div\",{className:\"meetings-iframe-container\",\"data-src\":src});}// ----------------------------------------------------------------------------\n// Cloudflare Turnstile — only ever loaded/rendered when the proxy has\n// actually challenged a request (see postToProxy above). Never shown during\n// a normal submission.\n// ----------------------------------------------------------------------------\nconst TURNSTILE_SITEKEY=\"0x4AAAAAAEMauI1zshcrgLxW\";const TURNSTILE_SCRIPT_SRC=\"https://challenges.cloudflare.com/turnstile/v0/api.js\";function loadTurnstileScript(){if(typeof document===\"undefined\")return Promise.resolve();const w=window;if(w.turnstile)return Promise.resolve();const existing=document.querySelector(`script[src=\"${TURNSTILE_SCRIPT_SRC}\"]`);if(existing){return new Promise(resolve=>{existing.addEventListener(\"load\",()=>resolve());});}return new Promise(resolve=>{const script=document.createElement(\"script\");script.src=TURNSTILE_SCRIPT_SRC;script.async=true;script.defer=true;script.onload=()=>resolve();document.head.appendChild(script);});}function TurnstileWidget({onVerified,onError,apiRef}){const containerRef=useRef(null);const widgetIdRef=useRef(null);useEffect(()=>{let cancelled=false;loadTurnstileScript().then(()=>{if(cancelled||!containerRef.current)return;const w=window;if(!w.turnstile)return;widgetIdRef.current=w.turnstile.render(containerRef.current,{sitekey:TURNSTILE_SITEKEY,callback:token=>onVerified(token),\"error-callback\":()=>onError(),\"expired-callback\":()=>onError()});apiRef.current={reset:()=>{if(widgetIdRef.current){w.turnstile?.reset(widgetIdRef.current);}}};});return()=>{cancelled=true;const w=window;if(widgetIdRef.current)w.turnstile?.remove(widgetIdRef.current);apiRef.current=null;};},[onVerified,onError,apiRef]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,className:\"bqf-turnstile-widget\"});}let activeChallengeBridge=null;function useTurnstileChallenge(){const[visible,setVisible]=useState(false);const[errorMessage,setErrorMessage]=useState(null);const resolverRef=useRef(null);const widgetApiRef=useRef(null);const getToken=useCallback(afterFailure=>{if(afterFailure){setErrorMessage(\"That didn't go through — please try again.\");widgetApiRef.current?.reset();}else{setErrorMessage(null);setVisible(true);}return new Promise(resolve=>{resolverRef.current=resolve;});},[]);const handleVerified=useCallback(token=>{resolverRef.current?.(token);resolverRef.current=null;},[]);const handleWidgetError=useCallback(()=>{setErrorMessage(\"Verification expired — please try again.\");widgetApiRef.current?.reset();},[]);const dismiss=useCallback(()=>{setVisible(false);setErrorMessage(null);resolverRef.current=null;},[]);return{visible,errorMessage,getToken,handleVerified,handleWidgetError,dismiss,widgetApiRef};}// ----------------------------------------------------------------------------\n// Main component\n// ----------------------------------------------------------------------------\nexport default function LeadQualificationForm({onClose}={}){const[screen,setScreen]=useState(\"intro\");const[formData,setFormData]=useState(INITIAL_FORM_DATA);const[errors,setErrors]=useState({});// Captured once, at mount, before any client-side navigation can drop\n// the query params from the address bar.\nconst[utm]=useState(()=>getUtmParamsFromLocation());const screenRef=useRef(screen);const formDataRef=useRef(formData);const finalSubmittedRef=useRef(false);screenRef.current=screen;formDataRef.current=formData;const challenge=useTurnstileChallenge();const{getToken:challengeGetToken,dismiss:challengeDismiss}=challenge;// Registers this mounted instance as the one postToProxy talks to when\n// the proxy comes back with a Turnstile challenge.\nuseEffect(()=>{activeChallengeBridge={getToken:challengeGetToken,dismiss:challengeDismiss};return()=>{activeChallengeBridge=null;};},[challengeGetToken,challengeDismiss]);const setField=useCallback((key,value)=>{setFormData(prev=>({...prev,[key]:value}));setErrors(prev=>{if(!prev[key])return prev;const next={...prev};delete next[key];return next;});},[]);// Sets or clears a single field's inline error — used by blur-time\n// validation (phone, email), which never affects the other fields.\nconst setFieldError=useCallback((key,message)=>{setErrors(prev=>{if(!message){if(!prev[key])return prev;const next={...prev};delete next[key];return next;}if(prev[key]===message)return prev;return{...prev,[key]:message};});},[]);const handlePhoneChange=useCallback(rawValue=>{setField(\"phone\",sanitizePhoneInput(rawValue));},[setField]);const handlePhoneBlur=useCallback(()=>{setFieldError(\"phone\",validatePhoneOnBlur(formDataRef.current.phone));},[setFieldError]);const handleEmailBlur=useCallback(()=>{const email=formDataRef.current.email.trim();if(email&&!isValidEmail(email)){setFieldError(\"email\",COPY.step1.q3.error);}},[setFieldError]);const goTo=useCallback(next=>{setScreen(next);if(typeof window!==\"undefined\"){window.scrollTo({top:0,behavior:\"smooth\"});}},[]);const validateStep1=useCallback(()=>{const next={};if(!formDataRef.current.bookManagement)next.bookManagement=COPY.step1.q1.error;if(!formDataRef.current.businessDescription.trim())next.businessDescription=COPY.step1.q2.error;const email=formDataRef.current.email.trim();if(!email||!isValidEmail(email))next.email=COPY.step1.q3.error;setErrors(next);return Object.keys(next).length===0;},[]);const validateStep2=useCallback(()=>{const next={};if(!formDataRef.current.firstName.trim())next.firstName=COPY.step2.q1.error;if(!formDataRef.current.lastName.trim())next.lastName=COPY.step2.q2.error;// Phone is optional and never blocks progression — invalid entries\n// are only ever flagged inline on blur (see the phone input's\n// onBlur), not here.\nsetErrors(next);return Object.keys(next).length===0;},[]);const validateStep3=useCallback(()=>{const next={};if(!formDataRef.current.monthlyRevenue)next.monthlyRevenue=COPY.step3.q1.error;setErrors(next);return Object.keys(next).length===0;},[]);const handleAdvance=useCallback(()=>{const current=screenRef.current;if(current===\"intro\"){goTo(\"step1\");return;}if(current===\"step1\"){if(!validateStep1())return;// First point a valid email exists — kick off the incremental\n// upsert (email, book_management, business_description, plus\n// source_page). This is what captures anyone who drops off here.\nsendIncrementalUpdate(formDataRef.current).catch(()=>{});goTo(\"step2\");return;}if(current===\"step2\"){if(!validateStep2())return;// Cumulative upsert now also carries first_name, last_name,\n// phone, state.\nsendIncrementalUpdate(formDataRef.current).catch(()=>{});goTo(\"step3\");return;}if(current===\"step3\"){if(!validateStep3())return;// Cumulative upsert now also carries monthly_revenue and\n// discovery_goal, then the final submission fires with the\n// outcome the qualifying gate determines.\nsendIncrementalUpdate(formDataRef.current).catch(()=>{});const disqualified=formDataRef.current.monthlyRevenue===DISQUALIFYING_REVENUE_VALUE;if(!finalSubmittedRef.current){finalSubmittedRef.current=true;sendFinalSubmission(formDataRef.current,disqualified?\"disqualified\":\"completed\").catch(()=>{});}goTo(disqualified?\"end2\":\"end1\");return;}},[goTo,validateStep1,validateStep2,validateStep3]);const handleBack=useCallback(()=>{const backMap={step1:\"intro\",step2:\"step1\",step3:\"step2\"};const prev=backMap[screenRef.current];if(prev)goTo(prev);},[goTo]);const selectOptionByIndex=useCallback(index=>{const current=screenRef.current;if(current===\"step3\"){const option=COPY.step3.q1.options[index];if(option)setField(\"monthlyRevenue\",option.value);}},[setField]);// Global keyboard shortcuts: Enter advances, A–E select options.\n// Skipped entirely when focus is inside an input/textarea/select so\n// typing (including the letters a–e) is never hijacked.\nuseEffect(()=>{function onKeyDown(e){const target=e.target;const tag=target?.tagName;if(tag===\"INPUT\"||tag===\"TEXTAREA\"||tag===\"SELECT\"){return;}if(e.key===\"Enter\"){e.preventDefault();handleAdvance();return;}const letterIndex=\"ABCDE\".indexOf(e.key.toUpperCase());if(letterIndex!==-1){selectOptionByIndex(letterIndex);}}document.addEventListener(\"keydown\",onKeyDown);return()=>document.removeEventListener(\"keydown\",onKeyDown);},[handleAdvance,selectOptionByIndex]);// HubSpot's Meetings embed posts this message to the parent window the\n// moment a visitor successfully books a slot. Swap the embed out for a\n// custom confirmation screen when it fires.\nuseEffect(()=>{if(typeof window===\"undefined\")return;function onMessage(event){if(event.data&&event.data.meetingBookingSuccessful&&screenRef.current===\"end1\"){goTo(\"booked\");}}window.addEventListener(\"message\",onMessage);return()=>window.removeEventListener(\"message\",onMessage);},[goTo]);function handleInputEnter(e){if(e.key===\"Enter\"){e.preventDefault();handleAdvance();}}const stepNumberFor={step1:1,step2:2,step3:3};const currentStepNumber=stepNumberFor[screen]??null;return /*#__PURE__*/_jsxs(\"div\",{className:ROOT_CLASS,children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),/*#__PURE__*/_jsx(\"div\",{className:\"bqf-outer\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-card\",children:[/*#__PURE__*/_jsx(Header,{step:currentStepNumber,total:TOTAL_STEPS,onClose:onClose}),currentStepNumber!==null&&/*#__PURE__*/_jsx(ProgressBar,{step:currentStepNumber,total:TOTAL_STEPS}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-body\",children:[screen===\"intro\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-screen\",children:[/*#__PURE__*/_jsxs(\"h1\",{className:\"bqf-intro-headline\",children:[COPY.intro.headline,/*#__PURE__*/_jsx(\"span\",{className:\"bqf-lime-text\",children:COPY.intro.headlineHighlight})]}),/*#__PURE__*/_jsx(\"p\",{className:\"bqf-subhead\",children:COPY.intro.subhead}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-intro-footer\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"bqf-helper\",children:COPY.intro.helper}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"bqf-primary-btn\",onClick:handleAdvance,children:[COPY.intro.cta,\" →\"]})]})]}),screen===\"step1\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-screen\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-question\",children:[COPY.step1.q1.question,COPY.step1.q1.required&&/*#__PURE__*/_jsx(RequiredMark,{})]}),/*#__PURE__*/_jsxs(\"select\",{className:\"bqf-input bqf-select\",value:formData.bookManagement,onChange:e=>setField(\"bookManagement\",e.target.value),children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:COPY.step1.q1.placeholder}),COPY.step1.q1.options.map(opt=>/*#__PURE__*/_jsx(\"option\",{value:opt.value,children:opt.label},opt.value))]}),/*#__PURE__*/_jsx(FieldError,{message:errors.bookManagement})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-question\",children:[COPY.step1.q2.question,COPY.step1.q2.required&&/*#__PURE__*/_jsx(RequiredMark,{})]}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",className:\"bqf-input\",placeholder:COPY.step1.q2.placeholder,value:formData.businessDescription,onChange:e=>setField(\"businessDescription\",e.target.value),onKeyDown:handleInputEnter}),/*#__PURE__*/_jsx(FieldError,{message:errors.businessDescription})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-question\",children:[COPY.step1.q3.question,COPY.step1.q3.required&&/*#__PURE__*/_jsx(RequiredMark,{})]}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",className:\"bqf-input\",placeholder:COPY.step1.q3.placeholder,value:formData.email,onChange:e=>setField(\"email\",e.target.value),onBlur:handleEmailBlur,onKeyDown:handleInputEnter}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-helper bqf-helper-tight bqf-helper-small\",children:[COPY.step1.q3.helperPrefix,/*#__PURE__*/_jsx(\"a\",{href:COPY.step1.q3.helperLinkHref,target:\"_blank\",rel:\"noopener noreferrer\",className:\"bqf-privacy-link\",children:COPY.step1.q3.helperLinkLabel}),COPY.step1.q3.helperSuffix]}),/*#__PURE__*/_jsx(FieldError,{message:errors.email})]}),/*#__PURE__*/_jsx(StepNav,{onBack:handleBack,onNext:handleAdvance,nextLabel:COPY.nav.next})]}),screen===\"step2\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-screen\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-row\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-question\",children:[COPY.step2.q1.question,COPY.step2.q1.required&&/*#__PURE__*/_jsx(RequiredMark,{})]}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",className:\"bqf-input\",placeholder:COPY.step2.q1.placeholder,value:formData.firstName,onChange:e=>setField(\"firstName\",e.target.value),onKeyDown:handleInputEnter}),/*#__PURE__*/_jsx(FieldError,{message:errors.firstName})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-question\",children:[COPY.step2.q2.question,COPY.step2.q2.required&&/*#__PURE__*/_jsx(RequiredMark,{})]}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",className:\"bqf-input\",placeholder:COPY.step2.q2.placeholder,value:formData.lastName,onChange:e=>setField(\"lastName\",e.target.value),onKeyDown:handleInputEnter}),/*#__PURE__*/_jsx(FieldError,{message:errors.lastName})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-question\",children:[COPY.step2.q3.question,COPY.step2.q3.required&&/*#__PURE__*/_jsx(RequiredMark,{})]}),/*#__PURE__*/_jsx(\"input\",{type:\"tel\",className:\"bqf-input\",placeholder:COPY.step2.q3.placeholder,value:formatPhoneForDisplay(formData.phone),onChange:e=>handlePhoneChange(e.target.value),onBlur:handlePhoneBlur,onKeyDown:handleInputEnter}),/*#__PURE__*/_jsx(FieldError,{message:errors.phone})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"bqf-question\",children:COPY.step2.q4.question}),/*#__PURE__*/_jsxs(\"select\",{className:\"bqf-input bqf-select\",value:formData.state,onChange:e=>setField(\"state\",e.target.value),children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:COPY.step2.q4.placeholder}),US_STATES.map(s=>/*#__PURE__*/_jsx(\"option\",{value:s,children:s},s))]})]}),/*#__PURE__*/_jsx(StepNav,{onBack:handleBack,onNext:handleAdvance,nextLabel:COPY.nav.next})]}),screen===\"step3\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-screen\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-question\",children:[COPY.step3.q1.question,COPY.step3.q1.required&&/*#__PURE__*/_jsx(RequiredMark,{})]}),/*#__PURE__*/_jsx(\"div\",{className:\"bqf-helper bqf-helper-tight\",children:COPY.step3.q1.helper}),/*#__PURE__*/_jsx(\"div\",{className:\"bqf-options\",role:\"radiogroup\",children:COPY.step3.q1.options.map((opt,i)=>/*#__PURE__*/_jsx(OptionRow,{letter:letterFor(i),label:opt.label,selected:formData.monthlyRevenue===opt.value,onSelect:()=>setField(\"monthlyRevenue\",opt.value)},opt.value))}),/*#__PURE__*/_jsx(FieldError,{message:errors.monthlyRevenue})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-field-block\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"bqf-question\",children:COPY.step3.q2.question}),/*#__PURE__*/_jsx(\"div\",{className:\"bqf-helper bqf-helper-tight\",children:COPY.step3.q2.helper}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",className:\"bqf-input\",placeholder:COPY.step3.q2.placeholder,value:formData.cleanBooksGoal,onChange:e=>setField(\"cleanBooksGoal\",e.target.value),onKeyDown:handleInputEnter})]}),/*#__PURE__*/_jsx(StepNav,{onBack:handleBack,onNext:handleAdvance,nextLabel:COPY.nav.submit})]}),screen===\"end1\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-screen bqf-end-screen\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"bqf-check-badge\",children:\"✓\"}),/*#__PURE__*/_jsx(\"h2\",{className:\"bqf-end-headline\",children:COPY.end1.headline}),/*#__PURE__*/_jsx(\"p\",{className:\"bqf-subhead\",children:COPY.end1.subhead}),/*#__PURE__*/_jsx(HubspotMeetingsEmbed,{src:buildMeetingsUrl(COPY.end1.calendarUrl,formData)})]}),screen===\"end2\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-screen bqf-end-screen\",children:[/*#__PURE__*/_jsx(\"h2\",{className:\"bqf-end-headline\",children:COPY.end2.headline}),COPY.end2.body.map((para,i)=>/*#__PURE__*/_jsx(\"p\",{className:\"bqf-subhead\",children:para},i)),/*#__PURE__*/_jsx(\"div\",{className:\"bqf-end2-actions\",children:/*#__PURE__*/_jsx(\"a\",{className:\"bqf-primary-btn bqf-primary-btn-dark\",href:appendUtmParams(COPY.end2.primaryCta.href,utm),children:COPY.end2.primaryCta.label})})]}),screen===\"booked\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-screen bqf-end-screen\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"bqf-check-badge\",children:\"✓\"}),/*#__PURE__*/_jsx(\"h2\",{className:\"bqf-end-headline\",children:COPY.booked.headline}),/*#__PURE__*/_jsx(\"p\",{className:\"bqf-subhead\",children:COPY.booked.body}),/*#__PURE__*/_jsx(\"a\",{className:\"bqf-secondary-btn\",href:COPY.booked.secondaryCta.href,target:\"_blank\",rel:\"noopener noreferrer\",children:COPY.booked.secondaryCta.label}),/*#__PURE__*/_jsx(\"p\",{className:\"bqf-helper\",children:COPY.booked.closeHint})]}),challenge.visible&&/*#__PURE__*/_jsxs(\"div\",{className:\"bqf-challenge-overlay\",children:[/*#__PURE__*/_jsx(\"p\",{className:\"bqf-challenge-title\",children:\"Quick check before we continue\"}),/*#__PURE__*/_jsx(\"p\",{className:\"bqf-challenge-subtext\",children:\"This keeps spam out — it only takes a second.\"}),/*#__PURE__*/_jsx(TurnstileWidget,{onVerified:challenge.handleVerified,onError:challenge.handleWidgetError,apiRef:challenge.widgetApiRef}),challenge.errorMessage&&/*#__PURE__*/_jsx(\"p\",{className:\"bqf-challenge-error\",children:challenge.errorMessage})]})]})]})})]});}function StepNav({onBack,onNext,nextLabel}){return /*#__PURE__*/_jsxs(\"div\",{className:\"bqf-step-nav\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"bqf-back-link\",onClick:onBack,children:[\"← \",COPY.nav.back]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"bqf-primary-btn\",onClick:onNext,children:[nextLabel,\" →\"]})]});}const US_STATES=[\"AL\",\"AK\",\"AZ\",\"AR\",\"CA\",\"CO\",\"CT\",\"DE\",\"FL\",\"GA\",\"HI\",\"ID\",\"IL\",\"IN\",\"IA\",\"KS\",\"KY\",\"LA\",\"ME\",\"MD\",\"MA\",\"MI\",\"MN\",\"MS\",\"MO\",\"MT\",\"NE\",\"NV\",\"NH\",\"NJ\",\"NM\",\"NY\",\"NC\",\"ND\",\"OH\",\"OK\",\"OR\",\"PA\",\"RI\",\"SC\",\"SD\",\"TN\",\"TX\",\"UT\",\"VT\",\"VA\",\"WA\",\"WV\",\"WI\",\"WY\"];// ----------------------------------------------------------------------------\n// CSS — hover / focus / media-query rules inline styles can't express.\n// ----------------------------------------------------------------------------\nconst CSS=`\n.${ROOT_CLASS} {\n  width: 100%;\n  display: flex;\n  justify-content: center;\n  font-family: ${FONT};\n  box-sizing: border-box;\n}\n.${ROOT_CLASS} *, .${ROOT_CLASS} *::before, .${ROOT_CLASS} *::after {\n  box-sizing: border-box;\n}\n\n.bqf-outer {\n  width: 100%;\n  max-width: 720px;\n  padding: 0;\n}\n\n.bqf-card {\n  position: relative;\n  background: ${TOKENS.card};\n  border-radius: 12px;\n  overflow: hidden;\n  box-shadow: 0 22px 55px rgba(2,44,34,0.13);\n  width: 100%;\n}\n\n.bqf-header {\n  position: relative;\n  background: ${TOKENS.header};\n  color: ${TOKENS.white};\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 26px 64px 26px 40px;\n}\n\n.bqf-close-btn {\n  position: absolute;\n  top: 50%;\n  right: 12px;\n  transform: translateY(-50%);\n  width: 44px;\n  height: 44px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: none;\n  border: none;\n  padding: 0;\n  border-radius: 999px;\n  cursor: pointer;\n  font-size: 24px;\n  line-height: 1;\n  color: ${TOKENS.white};\n  z-index: 5;\n  transition: background 0.15s ease;\n}\n.bqf-close-btn:hover { background: rgba(255,255,255,0.14); }\n.bqf-close-btn:focus-visible {\n  outline: 2px solid ${TOKENS.lime};\n  outline-offset: 2px;\n}\n\n.bqf-brand {\n  font-weight: 700;\n  font-size: 16px;\n  letter-spacing: 0.02em;\n  text-transform: uppercase;\n}\n\n.bqf-brand-logo {\n  flex-shrink: 0;\n  display: block;\n}\n\n.bqf-step-label {\n  font-size: 13px;\n  font-weight: 600;\n  color: rgba(255,255,255,0.82);\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n}\n.bqf-step-label-short { display: none; }\n\n.bqf-progress-track {\n  height: 4px;\n  width: 100%;\n  background: ${TOKENS.track};\n}\n.bqf-progress-fill {\n  height: 100%;\n  background: ${TOKENS.lime};\n  transition: width 0.25s ease;\n}\n\n.bqf-body {\n  position: relative;\n  padding: 48px 40px;\n}\n\n.bqf-challenge-overlay {\n  position: absolute;\n  inset: 0;\n  z-index: 20;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 14px;\n  padding: 32px;\n  text-align: center;\n  background: ${TOKENS.card};\n}\n\n.bqf-challenge-title {\n  font-size: 18px;\n  font-weight: 700;\n  color: ${TOKENS.header};\n}\n\n.bqf-challenge-subtext {\n  font-size: 14px;\n  color: ${TOKENS.muted};\n  margin-top: -8px;\n}\n\n.bqf-challenge-error {\n  font-size: 13px;\n  color: #b3261e;\n}\n\n.bqf-turnstile-widget {\n  min-height: 65px;\n}\n\n.bqf-screen {\n  display: flex;\n  flex-direction: column;\n  gap: 32px;\n}\n\n.bqf-field-block {\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n}\n\n.bqf-field-row {\n  display: flex;\n  flex-direction: row;\n  gap: 20px;\n}\n\n.bqf-field-row > .bqf-field-block {\n  flex: 1;\n  min-width: 0;\n}\n\n.bqf-question {\n  font-size: 19px;\n  font-weight: 700;\n  color: ${TOKENS.header};\n  line-height: 1.35em;\n}\n\n.bqf-subhead {\n  font-size: 16px;\n  color: ${TOKENS.body};\n  line-height: 1.5em;\n  margin: 0;\n}\n\n.bqf-helper {\n  font-size: 15px;\n  color: ${TOKENS.muted};\n}\n.bqf-helper-tight { margin-top: -6px; }\n.bqf-helper-small { font-size: 12px; line-height: 1.5em; }\n\n.bqf-intro-headline {\n  font-size: 40px;\n  font-weight: 700;\n  line-height: 1.15em;\n  color: ${TOKENS.header};\n  text-transform: uppercase;\n  margin: 0;\n}\n.bqf-lime-text { color: ${TOKENS.lime}; }\n.bqf-privacy-link { color: ${TOKENS.header}; }\n\n.bqf-intro-footer {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 24px;\n}\n\n.bqf-options {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n}\n\n.bqf-option {\n  display: flex;\n  align-items: center;\n  gap: 14px;\n  background: ${TOKENS.white};\n  border: 1.5px solid ${TOKENS.border};\n  border-radius: 12px;\n  padding: 14px 18px;\n  cursor: pointer;\n  transition: border-color 0.15s ease;\n  outline: none;\n}\n.bqf-option:hover { border-color: ${TOKENS.borderHover}; }\n.bqf-option:focus-visible { border-color: ${TOKENS.borderHover}; }\n\n.bqf-option-label {\n  font-size: 16px;\n  font-weight: 500;\n  color: ${TOKENS.body};\n}\n\n.bqf-option-selected {\n  background: ${TOKENS.header};\n  border-color: ${TOKENS.header};\n}\n.bqf-option-selected .bqf-option-label { color: ${TOKENS.white}; }\n\n.bqf-keycap {\n  flex: none;\n  width: 22px;\n  height: 22px;\n  border-radius: 6px;\n  border: 1px solid ${TOKENS.keycapBorder};\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 11px;\n  font-weight: 600;\n  color: ${TOKENS.keycapText};\n  background: transparent;\n}\n.bqf-keycap-selected {\n  background: ${TOKENS.lime};\n  border-color: ${TOKENS.lime};\n  color: ${TOKENS.header};\n}\n\n.bqf-input {\n  width: 100%;\n  background: ${TOKENS.white};\n  border: 1.5px solid ${TOKENS.border};\n  border-radius: 12px;\n  padding: 14px 18px;\n  font-size: 16px;\n  font-family: ${FONT};\n  color: ${TOKENS.body};\n  outline: none;\n  transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n.bqf-input::placeholder { color: ${TOKENS.placeholder}; }\n.bqf-input:focus {\n  border-color: ${TOKENS.header};\n  box-shadow: 0 0 0 3px ${TOKENS.focusRing};\n}\n.bqf-select { appearance: auto; }\n.bqf-textarea { resize: vertical; min-height: 110px; font-family: ${FONT}; }\n\n.bqf-field-error {\n  font-size: 14px;\n  color: #b3261e;\n}\n\n.bqf-step-nav {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 20px;\n}\n\n.bqf-primary-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  background: ${TOKENS.lime};\n  color: ${TOKENS.header};\n  font-weight: 700;\n  font-size: 16px;\n  padding: 14px 30px;\n  border-radius: 100px;\n  border: none;\n  cursor: pointer;\n  text-decoration: none;\n  white-space: nowrap;\n  transition: filter 0.15s ease;\n}\n.bqf-primary-btn:hover { filter: brightness(0.96); }\n\n.bqf-primary-btn-dark {\n  background: ${TOKENS.header};\n  color: ${TOKENS.lime};\n}\n\n.bqf-secondary-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background: ${TOKENS.white};\n  color: ${TOKENS.header};\n  font-weight: 700;\n  font-size: 16px;\n  padding: 14px 30px;\n  border-radius: 100px;\n  border: 1.5px solid ${TOKENS.header};\n  cursor: pointer;\n  text-decoration: none;\n  white-space: nowrap;\n}\n\n.bqf-back-link {\n  background: none;\n  border: none;\n  padding: 0;\n  font-size: 14px;\n  font-weight: 600;\n  color: ${TOKENS.muted};\n  cursor: pointer;\n  text-decoration: none;\n}\n.bqf-back-link:hover { color: ${TOKENS.body}; }\n\n.bqf-end-screen { align-items: flex-start; }\n.bqf-end-headline {\n  font-size: 28px;\n  font-weight: 700;\n  color: ${TOKENS.header};\n  margin: 0;\n}\n.bqf-check-badge {\n  width: 40px;\n  height: 40px;\n  border-radius: 999px;\n  background: ${TOKENS.lime};\n  color: ${TOKENS.header};\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 18px;\n  font-weight: 700;\n}\n\n.meetings-iframe-container {\n  width: 100%;\n  min-height: 600px;\n}\n\n.bqf-end2-actions {\n  display: flex;\n  gap: 14px;\n}\n\n/* ---------------- Tablet: <=768px ---------------- */\n@media (max-width: 768px) {\n  .bqf-header { padding: 22px 56px 22px 32px; }\n  .bqf-body { padding: 40px 32px; }\n  .bqf-intro-headline { font-size: 34px; }\n  .bqf-question { font-size: 18px; }\n}\n\n/* ---------------- Mobile: phone-width viewports (375px reference, widened to safely cover modern phones up to ~430px) ---------------- */\n@media (max-width: 430px) {\n  .bqf-outer { padding: 0; }\n  .bqf-header { padding: 18px 56px 18px 20px; }\n  .bqf-body { padding: 32px 20px; }\n  .bqf-intro-headline { font-size: 27px; }\n  .bqf-question { font-size: 17px; }\n  .bqf-helper { font-size: 14px; }\n\n  .bqf-step-label-long { display: none; }\n  .bqf-step-label-short { display: inline; }\n\n  .bqf-intro-footer {\n    flex-direction: column;\n    align-items: stretch;\n    gap: 16px;\n  }\n  .bqf-intro-footer .bqf-primary-btn { width: 100%; }\n  .bqf-intro-footer .bqf-helper { text-align: center; order: 2; }\n\n  .bqf-option { min-height: 46px; }\n  .bqf-primary-btn, .bqf-secondary-btn { min-height: 48px; width: 100%; }\n\n  .bqf-step-nav {\n    flex-direction: column-reverse;\n    align-items: stretch;\n    gap: 14px;\n  }\n  .bqf-step-nav .bqf-back-link { align-self: center; }\n\n  .bqf-end2-actions { flex-direction: column; }\n\n  .bqf-field-row { flex-direction: column; gap: 32px; }\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LeadQualificationForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LeadQualificationForm.map"],"mappings":"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"}