PageSourceSearch

https://www.askjeffy.ai/assets/Helium10Alternative-CJuF9bwf.js

js askjeffy.ai collected 2026-10-02 00:14:16 UTC 99,977 bytes, 524 lines download raw bytes

1import{k as e,u as be,aA as ye,r as n,bs as J,ay as M,f as K,a3 as G,b8 as Me,bt as ve,bu as $e}from"./index-DvZYQDkB.js";import{r as He}from"./index-Da70BV-d.js";const oe="aj_acq_first",ke="aj_acq_last",Je=2160*60*60*1e3,We=720*60*60*1e3,Ye=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gclid","gbraid","wbraid","msclkid","fbclid","via","ref"];function ne(t){try{if(typeof window>"u"||!window.localStorage)return null;const s=window.localStorage.getItem(t);if(!s)return null;const o=JSON.parse(s);return!o||typeof o!="object"?null:o}catch{return null}}function he(t,s){try{if(typeof window>"u"||!window.localStorage)return;window.localStorage.setItem(t,JSON.stringify(s))}catch{}}function Ke(t){try{if(typeof window>"u"||!window.localStorage)return;window.localStorage.removeItem(t)}catch{}}function je(t){if(!t||!t.captured_at)return Number.POSITIVE_INFINITY;const s=Date.parse(t.captured_at);return Number.isNaN(s)?Number.POSITIVE_INFINITY:Date.now()-s}function Ne(){const t={};try{if(typeof window>"u")return t;const s=new URLSearchParams(window.location.search);for(const o of Ye){const a=s.get(o);a&&a.trim()&&(t[o]=a.trim().slice(0,255))}}catch{}return t}function fe(t,s){let o="",a="";try{o=typeof document<"u"&&document.referrer||"",a=typeof window<"u"&&window.location.pathname||""}catch{}return{params:s,referrer:o.slice(0,255),landing_page:a.slice(0,255),funnel:t,captured_at:new Date().toISOString()}}function Fe(t){try{const s=Ne(),o=Object.keys(s).length>0,a=ne(oe);(!a||je(a)>Je)&&(Ke(oe),he(oe,fe(t,s))),o&&he(ke,fe(t,s))}catch{}}function Be(t){let s="",o="";try{s=typeof window<"u"&&window.location.pathname||"",o=typeof document<"u"&&document.referrer||""}catch{}const a={funnel:t,landing_page:s.slice(0,255)};o&&(a.referrer=o.slice(0,255));try{const i=Ne();let r=i;if(Object.keys(i).length===0){const w=ne(ke);w&&je(w)<=We&&w.params&&(r=w.params,!a.referrer&&w.referrer&&(a.referrer=w.referrer))}r.utm_source&&(a.utm_source=r.utm_source),r.utm_medium&&(a.utm_medium=r.utm_medium),r.utm_campaign&&(a.utm_campaign=r.utm_campaign),r.utm_content&&(a.utm_content=r.utm_content),r.utm_term&&(a.utm_term=r.utm_term),r.gclid&&(a.gclid=r.gclid),r.gbraid&&(a.gbraid=r.gbraid),r.wbraid&&(a.wbraid=r.wbraid),r.msclkid&&(a.msclkid=r.msclkid);const c=ne(oe);c&&c.captured_at&&(a.first_seen_at=c.captured_at)}catch{}return a}const Ue="/assets/imgs/funnel";function Se(t,s,o="webp"){return`${Ue}/${t.name}-${s}.${o}`}function xe(t,s="webp"){return t.widths.map(o=>`${Se(t,o,s)} ${Math.min(o,t.width)}w`).join(", ")}function p(t){return t.replace(/Helium 10/g,"Helium 10").replace(/side-by-side/g,"side‑by‑side")}function le(){return e.jsx("svg",{className:"sw-btn-arrow",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e.jsx("path",{d:"M5 12h14M13 6l6 6-6 6"})})}function Ee({label:t,onClick:s,size:o,className:a,tabIndex:i}){return e.jsxs("button",{type:"button",className:`sw-btn${o==="xl"?" sw-btn-xl":""}${a?` ${a}`:""}`,onClick:s,tabIndex:i,children:[e.jsx("span",{className:"sw-btn-label",children:p(t)}),e.jsx(le,{})]})}function V({label:t,reassure:s,trialNote:o,onClick:a,size:i,align:r,tone:c}){return e.jsxs("div",{className:`sw-cta${r==="left"?" sw-cta-left":""}${c==="dark"?" sw-cta-on-dark":""}`,children:[e.jsx(Ee,{label:t,onClick:a,size:i}),e.jsx("p",{className:"sw-cta-reassure",children:p(s)}),o&&e.jsx("p",{className:"sw-cta-trial",children:p(o)})]})}function W({image:t,sizes:s,eager:o,className:a}){const i=t.widths.includes(1600)?1600:t.widths[t.widths.length-1];return e.jsxs("picture",{children:[e.jsx("source",{type:"image/avif",srcSet:xe(t,"avif"),sizes:s}),e.jsx("img",{src:Se(t,i,"webp"),srcSet:xe(t,"webp"),sizes:s,alt:t.alt,width:t.width,height:t.height,loading:o?"eager":"lazy",decoding:o?"sync":"async",fetchpriority:o?"high":"auto",className:`sw-img${a?` ${a}`:""}`})]})}function Y({children:t,tone:s,bar:o,className:a,label:i,labelShort:r}){return e.jsxs("div",{className:`sw-frame sw-frame-${s}${a?` ${a}`:""}`,children:[o&&e.jsxs("div",{className:"sw-frame-bar","aria-hidden":"true",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{}),i&&e.jsx("em",{className:`sw-frame-label${r?" sw-frame-label-long":""}`,children:i}),r&&e.jsx("em",{className:"sw-frame-label sw-frame-label-short",children:r})]}),e.jsx("div",{className:"sw-frame-body",children:t})]})}function Ge(){return e.jsxs("span",{className:"sw-marks","aria-hidden":"true",children:[e.jsxs("svg",{viewBox:"0 0 24 24",children:[e.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2.5"}),e.jsx("path",{d:"M3 9h18"})]}),e.jsxs("svg",{viewBox:"0 0 24 24",children:[e.jsx("rect",{x:"7",y:"2.5",width:"10",height:"19",rx:"2.5"}),e.jsx("path",{d:"M11 18h2"})]}),e.jsxs("svg",{viewBox:"0 0 24 24",children:[e.jsx("rect",{x:"4",y:"3",width:"16",height:"18",rx:"2.5"}),e.jsx("path",{d:"M11 18h2"})]}),e.jsx("svg",{viewBox:"0 0 24 24",children:e.jsx("path",{d:"M9 4a2 2 0 1 1 4 0h3a1 1 0 0 1 1 1v3a2 2 0 1 1 0 4v3a1 1 0 0 1-1 1h-3a2 2 0 1 1-4 0H6a1 1 0 0 1-1-1v-3a2 2 0 1 0 0-4V5a1 1 0 0 1 1-1h3z"})})]})}const N=6,ue=30,Ve=t=>!!t&&(t.includes("No account")||t.includes("no_account")||t.includes("not found")),ie=(t,s)=>/database|internal|500|unexpected end of json|failed to fetch|network/i.test(t)?"Something went wrong on our end. Try again in a moment.":t||s;function Qe({open:t,onClose:s,funnel:o}){const a=be(),{sendOTP:i,verifyOTP:r}=ye(),[c,w]=n.useState("email"),[k,u]=n.useState(""),[h,g]=n.useState(Array(N).fill("")),[b,v]=n.useState(!1),[S,f]=n.useState(""),[_,L]=n.useState(""),[R,E]=n.useState(0),I=n.useRef(null),D=n.useRef(null),z=n.useRef([]),O=n.useRef(null),m=k.trim().toLowerCase();n.useEffect(()=>{if(!t)return;O.current=document.activeElement||null,w("email"),g(Array(N).fill("")),f(""),L(""),v(!1),E(0);const l=document.body.style.overflow;document.body.style.overflow="hidden";const d=window.setTimeout(()=>D.current?.focus({preventScroll:!0}),40);return()=>{window.clearTimeout(d),document.body.style.overflow=l,O.current?.focus?.({preventScroll:!0})}},[t]),n.useEffect(()=>{if(R<=0)return;const l=window.setTimeout(()=>E(d=>d-1),1e3);return()=>window.clearTimeout(l)},[R]);const y=n.useCallback(l=>{if(l.key==="Escape"){l.stopPropagation(),b||s();return}if(l.key!=="Tab"||!I.current)return;const d=I.current.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), [tabindex]:not
1([tabindex="-1"])');if(!d.length)return;const x=d[0],A=d[d.length-1];l.shiftKey&&document.activeElement===x?(l.preventDefault(),A.focus()):!l.shiftKey&&document.activeElement===A&&(l.preventDefault(),x.focus())},[b,s]),j=n.useCallback(async()=>{let l=await i(m,"login");if(!l.ok&&Ve(l.error)){const d=await i(m,"signup");!d.ok&&/already|exists|duplicate|Database error/i.test(d.error||"")?l=await i(m,"login"):l=d}return l},[m,i]),$=async l=>{if(l?.preventDefault(),b)return;if(!m||!m.includes("@")||!m.includes(".")){f("Enter a valid email");return}v(!0),f("");try{const x="https://api.askjeffy.ai",A=Be(o.slug);fetch(`${x}/api/email-capture`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:m,source:o.captureSource,...A})}).catch(()=>{}),J("generate_lead",{funnel:o.slug,method:"email"})}catch{}const d=await j();d.ok?(w("code"),g(Array(N).fill("")),E(ue),L(""),window.setTimeout(()=>z.current[0]?.focus({preventScroll:!0}),60)):f(ie(d.error||"","Could not send the code. Try again in a moment.")),v(!1)},C=async l=>{if(l.length!==N){f("Enter all 6 digits");return}v(!0),f("");const d=await r(m,l);if(d.ok){document.body.style.overflow="",a("/");return}f(ie(d.error||"","That code did not work. Check it and try again.")),v(!1)},F=(l,d)=>{const x=d.replace(/\D/g,"");if(d&&!x)return;if(x.length>=N){const B=x.slice(0,N).split("");g(B),C(B.join(""));return}const A=[...h];if(A[l]=x.slice(-1),g(A),f(""),x&&l<N-1&&z.current[l+1]?.focus(),x&&l===N-1){const B=A.join("");B.length===N&&C(B)}},H=(l,d)=>{if(l.key==="Backspace"&&!h[d]&&d>0){l.preventDefault();const x=[...h];x[d-1]="",g(x),z.current[d-1]?.focus()}else l.key==="ArrowLeft"&&d>0?z.current[d-1]?.focus():l.key==="ArrowRight"&&d<N-1?z.current[d+1]?.focus():l.key==="Enter"&&(l.preventDefault(),C(h.join("")))},X=l=>{l.preventDefault();const d=l.clipboardData.getData("text").replace(/\D/g,"").slice(0,N);if(!d)return;const x=Array(N).fill("");for(let A=0;A<d.length;A++)x[A]=d[A];g(x),f(""),z.current[Math.min(d.length,N-1)]?.focus(),d.length===N&&C(d)},Z=async()=>{if(R>0||b)return;v(!0),f(""),L("");const l=await j();v(!1),E(ue),l.ok?(L("Sent again. It can take a minute to arrive."),g(Array(N).fill("")),window.setTimeout(()=>z.current[0]?.focus(),60)):f(ie(l.error||"","Could not send the code. Try again in a moment."))},ee=()=>{b||(w("email"),g(Array(N).fill("")),f(""),L(""),window.setTimeout(()=>D.current?.focus(),40))};if(!t)return null;const q=o.modal,te=q.codeSub.replace("{email}",m);return e.jsx("div",{className:"sw-modal-backdrop",onMouseDown:l=>{l.target===l.currentTarget&&!b&&s()},children:e.jsxs("div",{ref:I,className:"sw-modal",role:"dialog","aria-modal":"true","aria-labelledby":"sw-modal-title",onKeyDown:y,children:[e.jsx("button",{type:"button",className:"sw-modal-close",onClick:s,"aria-label":"Close",disabled:b,children:e.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round","aria-hidden":"true",children:e.jsx("path",{d:"M6 6l12 12M18 6L6 18"})})}),c==="email"?e.jsxs("form",{onSubmit:$,noValidate:!0,children:[e.jsx("h2",{id:"sw-modal-title",className:"sw-modal-h",children:q.emailHeading}),e.jsx("p",{className:"sw-modal-sub",children:q.emailSub}),e.jsx("label",{htmlFor:"sw-modal-email",className:"sw-modal-label",children:q.emailLabel}),e.jsx("input",{id:"sw-modal-email",ref:D,className:"sw-modal-input",type:"email",name:"email",inputMode:"email",autoComplete:"email",placeholder:"[email protected]",value:k,onChange:l=>{u(l.target.value),f("")},disabled:b,"aria-invalid":!!S,"aria-describedby":S?"sw-modal-error":void 0,required:!0}),S&&e.jsx("p",{id:"sw-modal-error",className:"sw-modal-error",role:"alert",children:S}),e.jsxs("button",{type:"submit",className:"sw-btn sw-btn-block",disabled:b,children:[e.jsx("span",{children:b?"Sending":q.emailButton}),e.jsx(le,{})]}),e.jsx("p",{className:"sw-modal-reassure",children:o.cta.reassure}),e.jsxs("p",{className:"sw-modal-small",children:["By continuing you agree to our ",e.jsx("a",{href:"/terms",target:"_blank",rel:"noopener noreferrer",children:"Terms"})," and"," ",e.jsx("a",{href:"/privacy",target:"_blank",rel:"noopener noreferrer",children:"Privacy Policy"}),"."]})]}):e.jsxs("div",{children:[e.jsx("h2",{id:"sw-modal-title",className:"sw-modal-h",children:q.codeHeading}),e.jsx("p",{className:"sw-modal-sub",children:te}),e.jsx("div",{className:"sw-otp",role:"group","aria-label":"6-digit code",children:h.map((l,d)=>e.jsx("input",{ref:x=>{z.current[d]=x},className:"sw-otp-box",type:"text",inputMode:"numeric",pattern:"[0-9]*",autoComplete:d===0?"one-time-code":"off",maxLength:d===0?N:1,"aria-label":`Digit ${d+1}
1`,value:l,onChange:x=>F(d,x.target.value),onKeyDown:x=>H(x,d),onPaste:X,onFocus:x=>x.target.select(),disabled:b},d))}),S&&e.jsx("p",{className:"sw-modal-error",role:"alert",children:S}),_&&e.jsx("p",{className:"sw-modal-note",role:"status",children:_}),e.jsxs("button",{type:"button",className:"sw-btn sw-btn-block",onClick:()=>C(h.join("")),disabled:b,children:[e.jsx("span",{children:b?"Checking":"Confirm code"}),e.jsx(le,{})]}),e.jsx("p",{className:"sw-modal-reassure",children:o.cta.reassure}),e.jsxs("div",{className:"sw-modal-links",children:[e.jsx("button",{type:"button",className:"sw-link-btn",onClick:Z,disabled:b||R>0,children:R>0?`${q.resendLabel} (${R}s)`:q.resendLabel}),e.jsx("button",{type:"button",className:"sw-link-btn",onClick:ee,disabled:b,children:q.changeEmailLabel})]})]})]})})}const ze=G[0],U=Me[0],se=M.negativeClusters?.[0]??null,Ce=t=>`$${Math.round(t/1e3)}K`,P=t=>t.toLocaleString("en-US"),re=t=>`$${t.toFixed(2)}`,ge=K,Ae=`${K.brand} Ice Cube Trays`,Te=Ce(K.monthlyRevenue),Xe=re(K.price),Ze=`#${P(K.bsr)}`,et=P(K.monthlySales),ce=Ce(U.kro),pe=String(U.ropo),_e=M.sampleSize,Le=M.rating,Re=M.positivePercent,tt=M.negativePercent,st=M.reviewVelocity.trendPercent,at=[...G].sort((t,s)=>s.searchVolume-t.searchVolume).slice(0,5),ot=G.length,rt=Math.min(...G.map(t=>t.cpc)),it=Math.max(...G.map(t=>t.cpc)),nt={askJeffy:"/demo/ask-jeffy"},de="AskJeffy live demo with sample data",lt="askjeffy_public_demo_tour_completed";function qe(){try{window.localStorage.setItem(lt,"true")}catch{}}function Ie(t,s){n.useEffect(()=>{const o=a=>{a.origin!==window.location.origin||!a.data||a.data.type!==$e||!t.current.some(r=>r&&r.contentWindow===a.source)||s()};return window.addEventListener("message",o),()=>window.removeEventListener("message",o)},[t,s])}function De(t,s,o){n.useEffect(()=>{const a=()=>{if(o.current)return;const i=document.activeElement;i&&t.current.some(r=>r===i)&&(o.current=!0,J("funnel_demo_engage",{funnel:s}))};return window.addEventListener("blur",a),()=>window.removeEventListener("blur",a)},[t,s,o])}function dt({request:t,onClose:s,onSignup:o,funnel:a,engagedRef:i}){const r=n.useRef(null),c=n.useRef([]),w=n.useRef(null),k=n.useRef(null),u=!!t;return n.useEffect(()=>{c.current=[r.current]}),Ie(c,o),De(c,a,i),n.useEffect(()=>{if(!u)return;k.current=document.activeElement||null;const h=document.body.style.overflow;document.body.style.overflow="hidden";const g=window.setTimeout(()=>w.current?.focus({preventScroll:!0}),30),b=v=>{if(v.key==="Escape"){v.stopPropagation(),s();return}
1if(v.key==="Tab"){const S=[w.current,r.current].filter(Boolean);if(!S.length)return;const f=S[0],_=S[S.length-1];v.shiftKey&&document.activeElement===f?(v.preventDefault(),_.focus()):!v.shiftKey&&document.activeElement===_&&(v.preventDefault(),f.focus())}};return document.addEventListener("keydown",b),()=>{window.clearTimeout(g),document.removeEventListener("keydown",b),document.body.style.overflow=h,k.current?.focus?.({preventScroll:!0})}},[u,s]),t?(qe(),He.createPortal(e.jsx("div",{className:"sw-demo-modal",onMouseDown:h=>{h.target===h.currentTarget&&s()},role:"dialog","aria-modal":"true","aria-label":de,children:e.jsxs("div",{className:"sw-demo-modal-frame",children:[e.jsxs("button",{ref:w,type:"button",className:"sw-demo-expand sw-demo-close",onClick:s,"aria-label":"Close the live demo",children:[e.jsx("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5","aria-hidden":"true",children:e.jsx("path",{d:"M18 6L6 18M6 6l12 12"})}),"Close"]}),e.jsx("iframe",{ref:r,name:ve,src:t.route,title:de})]})}),document.body)):null}function ct({funnel:t,startRoute:s,poster:o,mobileStill:a,caption:i,onOpenModal:r,onSignup:c,engagedRef:w}){const k=n.useRef(null),u=n.useRef(null),h=n.useRef([]),[g,b]=n.useState(!1),[v,S]=n.useState(!1),[f,_]=n.useState(!1),[L,R]=n.useState(!1);n.useEffect(()=>{h.current=[u.current]}),Ie(h,c),De(h,t,w),n.useEffect(()=>{const m=window.matchMedia("(min-width: 1024px)"),y=window.matchMedia("(prefers-reduced-motion: reduce)"),j=()=>{b(m.matches),R(y.matches)};return j(),m.addEventListener("change",j),y.addEventListener("change",j),()=>{m.removeEventListener("change",j),y.removeEventListener("change",j)}},[]),n.useEffect(()=>{const m=k.current;if(!m)return;const y=()=>
1m.style.setProperty("--sw-demo-scale",String(m.clientWidth/1440));y();const j=new ResizeObserver(y);return j.observe(m),()=>j.disconnect()},[]);const E=n.useCallback(m=>{S(y=>y||(qe(),J("funnel_demo_load",{funnel:t,trigger:m}),!0))},[t]);n.useEffect(()=>{if(!g||v)return;const m=k.current;if(!m||typeof IntersectionObserver>"u")return;let y=!1,j=document.readyState==="complete",$=!1,C=null,F=null;const H=window,X=()=>{$||!y||!j||($=!0,typeof H.requestIdleCallback=="function"?C=H.requestIdleCallback(()=>E("idle"),{timeout:1500}):F=window.setTimeout(()=>E("idle"),1500))},Z=new IntersectionObserver(q=>{q.forEach(te=>{y=te.isIntersecting&&te.intersectionRatio>=.3,X()})},{threshold:[0,.3,.6]});Z.observe(m);const ee=()=>{j=!0,X()};return j||window.addEventListener("load",ee),()=>{Z.disconnect(),window.removeEventListener("load",ee),C!==null&&typeof H.cancelIdleCallback=="function"&&H.cancelIdleCallback(C),F!==null&&window.clearTimeout(F)}},[g,v,E]);const I=()=>{g&&E("interaction")},D=()=>r({route:s,surface:"expand"}),z=()=>r({route:s,surface:"mobile_open"});return e.jsxs("div",{className:"sw-stage",children:[e.jsxs("div",{className:`sw-float sw-fl-1${L?"":" sw-float-anim"}`,"aria-hidden":"true",children:[e.jsx("div",{className:"sw-fl-label",children:Ae}
1),e.jsxs("div",{className:"sw-fl-big",children:[Te,e.jsx("span",{className:"sw-fl-unit",children:"/mo revenue"})]}),e.jsxs("div",{className:"sw-fl-sub",children:[Re,"% positive across ",P(_e)," reviews, ",Le," stars"]})]}),e.jsxs("div",{className:`sw-float sw-fl-2${L?"":" sw-float-anim"}`,"aria-hidden":"true",children:[e.jsx("div",{className:"sw-fl-label",children:"Keyword Revenue Opportunity"}),e.jsxs("div",{className:"sw-fl-big",children:[ce,e.jsx("span",{className:"sw-fl-unit",children:"/mo"})]}),e.jsxs("div",{className:"sw-fl-sub",children:[ze.keyword,", page 1"]})]}),se&&e.jsxs("div",{className:`sw-float sw-fl-3${L?"":" sw-float-anim"}`,"aria-hidden":"true",children:[e.jsx("div",{className:"sw-fl-label",children:"Top complaint"}),e.jsxs("div",{className:"sw-fl-big sw-fl-neg",children:[se.label,e.jsxs("span",{className:"sw-fl-unit",children:[" ",se.percent,"%"]})]}),e.jsx("div",{className:"sw-fl-sub",children:se.description})]}),e.jsxs("div",{className:`sw-float sw-fl-4${L?"":" sw-float-anim"}`,"aria-hidden":"true",children:[e.jsx("div",{className:"sw-fl-label",children:"Rank on Page One"}),e.jsxs("div",{className:"sw-fl-big",children:[pe,e.jsx("span",{className:"sw-fl-unit",children:" sales/day"})]}),e.jsx("div",{className:"sw-fl-sub",children:"to hold a page 1 spot"})]}),e.jsxs("div",{className:"sw-demo-entry",children:[e.jsxs("div",{className:"sw-demo-note","aria-hidden":"true",children:[e.jsx("span",{children:"Try the live demo, click around!"}),e.jsxs("svg",{viewBox:"0 0 90 70",fill:"none",children:[e.jsx("path",{d:"M8 8 C 44 2, 72 20, 78 52",stroke:"#e7983d",strokeWidth:"3.5",strokeLinecap:"round",fill:"none"}),e.jsx("path",{d:"M68 46 L 78 54 L 84 42",stroke:"#e7983d",strokeWidth:"3.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})]}),e.jsx("div",{className:"sw-glow sw-glow-stage","aria-hidden":"true"}),e.jsxs("div",{className:`sw-demo-frame${f?" sw-demo-live":""}`,ref:k,onPointerEnter:I,onPointerDown:I,onFocus:I,onClick:I,children:[e.jsx("div",{className:"sw-demo-poster sw-demo-poster-desktop",children:e.jsx(W,{image:o,sizes:"(min-width: 1200px) 1120px, 92vw",eager:!0})}),e.jsx("div",{className:"sw-demo-poster sw-demo-poster-mobile",children:e.jsx(W,{image:a,sizes:"100vw",eager:!0})}),g&&v&&e.jsx("iframe",{ref:u,name:ve,src:s,title:de,className:"sw-demo-iframe",style:{height:"calc(var(--sw-demo-h, 640px) / var(--sw-demo-scale, 0.78))"},onLoad:()=>_(!0)}),e.jsxs("button",{type:"button",className:"sw-demo-expand sw-demo-expand-desktop",onClick:D,"aria-label":"Expand the live demo",children:[e.jsx("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5","aria-hidden":"true",children:e.jsx("path",{d:"M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7"})}),"Expand"]}),e.jsx("div",{className:"sw-demo-mobile-cta",children:e.jsxs("button",{type:"button",className:"sw-btn2 sw-btn2-big",onClick:z,children:[e.jsx("span",{children:"Open the live demo"}),e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e.jsx("path",{d:"M5 12h14M13 6l6 6-6 6"})})]})})]}),e.jsx("p",{className:"sw-demo-caption",children:i})]})]})}const pt="/assets/ajassets/AskJeffy Logo.png";function mt({funnel:t,ctaLabel:s,onCta:o,ctaRef:a,onOpenDemo:i,onDemoSignup:r,engagedRef:c}){const{hero:w,cta:k,liveDemo:u}=t,[h,g]=w.h1Lines;return e.jsxs("section",{className:"sw-hero",children:[e.jsx("header",{className:"sw-nav",children:e.jsxs("div",{className:"sw-nav-inner",children:[e.jsxs("a",{href:"/",className:"sw-nav-brand","aria-label":"AskJeffy home",children:[e.jsx("img",{src:pt,alt:"",width:30,height:30,className:"sw-nav-logo"}),e.jsx("span",{className:"sw-nav-title",children:"AskJeffy"})]}),e.jsx("a",{href:"/login",className:"sw-nav-login",children:"Log in"})]})}),e.jsxs("div",{className:"sw-hero-inner",children:[e.jsx("p",{className:"sw-visually-hidden",children:w.seoEyebrow}),e.jsx("p",{className:"sw-eyebrow",children:p(w.eyebrow)}),e.jsxs("h1",{className:"sw-h1",children:[e.jsx("span",{className:"sw-h1-line",children:p(h)})," ",e.jsx("span",{className:"sw-h1-line sw-h1-accent",children:p(g)})]}),e.jsx("p",{className:"sw-hero-sub",children:p(w.subline)}),e.jsx("div",{ref:a,className:"sw-hero-cta",children:e.jsx(V,{label:s,reassure:k.reassure,trialNote:k.trialNote,onClick:o,tone:"dark"})}),e.jsxs("p",{className:"sw-hero-proof",children:[e.jsx(Ge,{}),e.jsx("span",{children:w.proofLine})]})]}),e.jsx(ct,{funnel:t.slug,startRoute:u.startRoute,poster:u.poster,mobileStill:u.mobileStill,caption:u.caption,onOpenModal:i,onSignup:r,engagedRef:c})]})}function me({tone:t}){return e.jsx("p",{className:`sw-sample${t==="dark"?" sw-sample-dark":""}`,children:"Sample data from the live demo"})}function we({onClick:t,label:s,tone:o}){return e.jsxs("button",{type:"button",className:`sw-btn2${o==="dark"?" sw-btn2-dark":""}`,onClick:t,children:[e.jsx("span",{children:s??"See it in the live demo"}),e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e.jsx("path",{d:"M5 12h14M13 6l6 6-6 6"})})]})}function T({label:t,value:s,unit:o,sub:a,accent:i,size:r}){return e.jsxs("div",{className:`sw-metric${i?" sw-metric-accent":""}${r==="xl"?" sw-metric-xl":""}`,children:[e.jsx("p",{className:"sw-metric-label",children:t}),e.jsxs("p",{className:"sw-metric-value",children:[s,o&&e.jsx("span",{className:"sw-metric-unit",children:o})]}),a&&e.jsx("p",{className:"sw-metric-sub",children:a})]})}function Pe({compact:t}){return e.jsxs("table",{className:`sw-kt${t?" sw-kt-compact":""}`,children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",children:"Keyword"}),e.jsx("th",{scope:"col",children:"Searches / mo"}),e.jsx("th",{scope:"col",children:"CPC"})]})}),e.jsx("tbody",{children:at.map(s=>e.jsxs("tr",{children:[e.jsx("th",{scope:"row",children:s.keyword}),e.jsx("td",{className:"sw-kt-vol",children:P(s.searchVolume)}),e.jsx("td",{className:"sw-kt-cpc",children:re(s.cpc)})]},s.keyword))})]})}function wt({compact:t}){const s=M,o=(a,i,r)=>e.jsxs("div",{className:`sw-themes-group sw-themes-${r}`,children:[e.jsx("p",{className:"sw-themes-title",children:a}),e.jsx("ul",{className:"sw-themes",children:i.map(c=>e.jsxs("li",{className:"sw-theme",children:[e.jsxs("div",{className:"sw-theme-row",children:[e.jsx("span",{className:"sw-theme-label",children:c.label}),e.jsxs("span",{className:"sw-theme-pct",children:[c.percent,"%"]})]}),e.jsx("div",{className:"sw-theme-bar","aria-hidden":"true",children:e.jsx("i",{style:{width:`${Math.min(100,c.percent*2.5)}%`}})}),!t&&e.jsx("p",{className:"sw-theme-desc",children:c.description})]},c.label))})]});return e.jsxs("div",{className:`sw-themes-wrap${t?" sw-themes-compact":""}`,children:[e.jsxs("div",{className:"sw-themes-head",children:[e.jsxs("span",{className:"sw-themes-sent",children:[s.positivePercent,"% positive"]}),e.jsxs("span",{className:"sw-themes-meta",children:[P(s.sampleSize)," reviews analysed"]})]}
1),o("What buyers love",s.positiveClusters,"pos"),o("What buyers complain about",s.negativeClusters,"neg")]})}function ht({funnel:t,ctaLabel:s,onCta:o,onOpenDemo:a}){const{turningPoint:i,cta:r,hero:c,proof:w}=t,k=c.jeffyOverlay??w.jeffyExchange?.answerImage??(i.jeffyChatConfirmed?i.jeffyChatImage:null);return e.jsx("section",{className:"sw-tp","data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-tp-inner",children:[e.jsx("h2",{className:"sw-visually-hidden",children:i.seoH2}),e.jsxs("p",{className:"sw-statement",children:[e.jsx("span",{className:"sw-statement-line",children:i.statementLines[0]}),e.jsx("span",{className:"sw-statement-line sw-statement-accent",children:i.statementLines[1]})]}),e.jsx("div",{className:"sw-tp-body",children:i.body.map((u,h)=>e.jsx("p",{children:p(u)},h))}),e.jsx("ol",{className:"sw-mech","aria-label":"How AskJeffy gets from data to a decision",children:i.mechanism.map((u,h)=>e.jsxs("li",{className:"sw-mech-step",children:[e.jsx("span",{className:"sw-mech-node","aria-hidden":"true",children:h+1}),e.jsxs("span",{className:"sw-mech-text",children:[e.jsx("span",{className:"sw-mech-label",children:u.label}),e.jsx("span",{className:"sw-mech-caption",children:u.caption})]})]},u.label))}),e.jsxs("div",{className:"sw-tp-visual",children:[e.jsx("div",{className:"sw-glow sw-glow-center","aria-hidden":"true"}),e.jsxs("div",{className:"sw-tp-data",children:[e.jsxs("div",{className:"sw-tp-col",children:[e.jsxs("p",{className:"sw-tp-colhead",children:[e.jsx("span",{className:"sw-tp-colnum",children:"1"})," Data"]}),e.jsx(T,{label:"Review sentiment",value:`${Re}%`,unit:" positive",sub:`${tt}% negative, the rest neutral`,accent:!0}),e.jsxs("div",{className:"sw-tp-pair",children:[e.jsx(T,{label:"Reviews",value:P(_e),sub:`${Le} star average`}),e.jsx(T,{label:"Review growth",value:`+${st}%`,sub:"review velocity"})]})]}),e.jsxs("div",{className:"sw-tp-col",children:[e.jsxs("p",{className:"sw-tp-colhead",children:[e.jsx("span",{className:"sw-tp-colnum",children:"2"})," Context"]}),e.jsx(T,{label:"Keyword Revenue Opportunity",value:ce,unit:"/mo",sub:`Page one earns this for "${ze.keyword}"`}),e.jsx(T,{label:"Rank on Page One",value:pe,unit:" sales/day",sub:"to hold a page one spot"})]})]}),e.jsxs("div",{className:"sw-tp-jeffy",children:[e.jsxs("p",{className:"sw-tp-colhead",children:[e.jsx("span",{className:"sw-tp-colnum",children:"3"})," Jeffy's read"]}),k?e.jsx(Y,{tone:"dark",bar:!0,children:e.jsx(W,{image:k,sizes:"(min-width: 1100px) 520px, 100vw"})}):e.jsxs("div",{className:"sw-tp-jeffy-empty",children:[e.jsx("p",{className:"sw-tp-jeffy-p",children:"Ask about the decision, not the dashboard. The answer is built from the numbers on the left."}),e.jsx(we,{tone:"dark",label:"Ask Jeffy in the live demo",onClick:()=>a({route:nt.askJeffy,surface:"turning_point"})})]}),e.jsx(me,{tone:"dark"})]})]}),e.jsx(V,{label:s,reassure:r.reassure,onClick:o,tone:"dark"})]})})}function ft(){return e.jsxs("div",{className:"sw-skel","aria-hidden":"true",children:[e.jsxs("div",{className:"sw-skel-side",children:[e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{})]}),e.jsxs("div",{className:"sw-skel-main",children:[e.jsx("div",{className:"sw-skel-row sw-skel-row-title"}),e.jsxs("div",{className:"sw-skel-cards",children:[e.jsx("b",{}),e.jsx("b",{}),e.jsx("b",{}),e.jsx("b",{})]}),e.jsx("div",{className:"sw-skel-row"}),e.jsx("div",{className:"sw-skel-row"}),e.jsx("div",{className:"sw-skel-row short"}),e.jsx("div",{className:"sw-skel-row"}),e.jsx("div",{className:"sw-skel-row short"}),e.jsx("div",{className:"sw-skel-row"})]})]})}function xt({funnel:t,ctaLabel:s,onCta:o}){const{offer:a,cta:i}=t;return e.jsx("section",{className:"sw-offer-section",id:"side-by-side-test","data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-offer",children:[e.jsx("div",{className:"sw-offer-rule","aria-hidden":"true"}),e.jsx("div",{className:"sw-glow sw-glow-corner","aria-hidden":"true"}),e.jsxs("div",{className:"sw-offer-grid",children:[e.jsxs("div",{className:"sw-offer-head",children:[e.jsx("p",{className:"sw-offer-label",children:a.label}),e.jsx("h2",{className:"sw-h2 sw-h2-light sw-offer-h2",children:p(a.h2)}),e.jsx("p",{className:"sw-offer-sub",children:p(a.subheading)})]}),e.jsxs("div",{className:"sw-offer-visual",children:[e.jsxs("div",{className:"sw-two",children:[e.jsx("div",{className:"sw-two-a",children:e.jsx(Y,{tone:"dark",bar:!0,label:a.visual.skeletonLabel,labelShort:a.visual.skeletonLabelShort,children:e.jsx(ft,{})})}),e.jsx("div",{className:"sw-two-b",children:e.jsx(Y,{tone:"dark",bar:!0,label:a.visual.appLabel,children:e.jsxs("div",{className:"sw-two-app",children:[e.jsxs("p",{className:"sw-two-app-title",children:["Keywords around ",p(a.visual.productLabel)]}),e.jsx(Pe,{compact:!0}),e.jsx(me,{})]})})})]}),e.jsx("p",{className:"sw-two-caption",children:a.visual.caption})]}),e.jsxs("div",{className:"sw-offer-body",children:[e.jsx("ol",{className:"sw-offer-steps",children:a.steps.map((r,c)=>e.jsxs("li",{children:[e.jsx("span",{className:"sw-offer-num","aria-hidden":"true",children:c+1}),e.jsx("span",{className:"sw-offer-step",children:p(r)})]},r))}),e.jsx("p",{className:"sw-offer-note",children:p(a.note)}),e.jsx(V,{label:s,reassure:i.reassure,trialNote:i.trialNote,onClick:o,size:"xl",align:"left",tone
1:"dark"})]})]})]})})}function ut(){return e.jsxs("div",{className:"sw-comp-grid sw-comp-opportunity",children:[e.jsx("p",{className:"sw-comp-kw sw-comp-kw-product",children:Ae}),e.jsxs("div",{className:"sw-comp-metrics sw-comp-metrics-2",children:[e.jsx(T,{label:"Monthly revenue",value:Te,sub:`${et} units a month at ${Xe}`,accent:!0}),e.jsx(T,{label:"Best seller rank",value:Ze,sub:`${P(ge.reviewCount)} reviews, ${ge.rating} star average`})]}),e.jsx("p",{className:"sw-comp-kw",children:U.keyword}),e.jsxs("div",{className:"sw-comp-metrics sw-comp-metrics-2",children:[e.jsx(T,{label:"Keyword Revenue Opportunity",value:ce,unit:"/mo",sub:"What page one earns every month",accent:!0,size:"xl"}),e.jsx(T,{label:"Rank on Page One",value:pe,unit:" sales/day",sub:"to hold a page one spot",size:"xl"})]}),e.jsxs("div",{className:"sw-comp-metrics sw-comp-metrics-2",children:[e.jsx(T,{label:"Median reviews",value:P(U.avgReviews),sub:"on a typical page one listing"}),e.jsx(T,{label:"Average price",value:`$${Math.round(U.avgPrice)}`,sub:"across page one"})]})]})}function gt(){return e.jsxs("div",{className:"sw-comp-grid sw-comp-money",children:[e.jsxs("div",{className:"sw-comp-metrics sw-comp-metrics-2",children:[e.jsx(T,{label:"Keywords found",value:String(ot),sub:"around the product, ranked by searches",accent:!0}),e.jsx(T,{label:"Cost per click",value:`${re(rt)} to ${re(it)}`,sub:"across those keywords"})]}),e.jsx(Pe,{})]})}function bt(){return e.jsx("div",{className:"sw-comp-grid sw-comp-themes",children:e.jsx(wt,{})})}function yt({funnel:t,onOpenDemo:s}){const{demo:o}=t,a={opportunity:e.jsx(ut,{}),money:e.jsx(gt,{}),themes:e.jsx(bt,{})};return e.jsxs("section",{className:"sw-show",id:"see-it","aria-labelledby":"sw-show-h2",children:[e.jsx("h2",{id:"sw-show-h2",className:"sw-visually-hidden",children:o.h2}),o.panels.map((i,r)=>{const c=r%2===1;return e.jsx("div",{className:`sw-show-block${c?" sw-show-flip":""}${r%2===1?" sw-show-tint":""}`,"data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-show-inner",children:[e.jsxs("div",{className:"sw-show-text",children:[e.jsx("h3",{className:"sw-show-q",children:p(i.title)}),e.jsx("p",{className:"sw-show-p",children:p(i.caption)}),e.jsx(we,{onClick:()=>s({route:i.demoRoute,surface:`showcase_${r+1}`})})]}),e.jsx("div",{className:"sw-show-media",children:e.jsxs("div",{className:"sw-panel-dark",children:[a[i.composition],e.jsx(me,{tone:"dark"})]})})]})},i.title)})]})}function vt({funnel:t}){const{proof:s}=t,o=s.jeffyExchange;if(!o)return null;const[a,i,r]=s.exchangeLabels;return e.jsx("section",{className:"sw-proof","data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-proof-inner",children:[e.jsx("h2",{className:"sw-h2 sw-center",children:p(s.exchangeH2)}),e.jsxs("div",{className:"sw-beat",children:[e.jsx("p",{className:"sw-beat-label",children:a}),e.jsx(Y,{tone:"light",bar:!0,children:e.jsx(W,{image:o.researchImage,sizes:"(min-width: 1200px) 1120px, 100vw"})})]}),e.jsxs("div",{className:"sw-beat",children:[e.jsx("p",{className:"sw-beat-label",children:i}),e.jsx("p",{className:"sw-bubble",children:o.question})]}),e.jsxs("div",{className:"sw-beat",children:[e.jsx("p",{className:"sw-beat-label",children:r}),e.jsx(Y,{tone:"light",bar:!0,children:e.jsx(W,{image:o.answerImage,sizes:"(min-width: 1200px) 1120px, 100vw"})}),o.sourceLabel&&e.jsx("p",{className:"sw-beat-source",children:o.sourceLabel})]}),e.jsx("p",{className:"sw-proof-close",children:p(s.exchangeClosing)})]})})}const kt="A typical research workflow",jt="With AskJeffy";function Nt(){return e.jsx("svg",{className:"sw-q-check",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e.jsx("path",{d:"M5 12.5l4.5 4.5L19 7.5"})})}function St({funnel:t}){const{comparison:s}=t;return e.jsx("section",{className:"sw-q","data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-q-inner",children:[e.jsx("h2",{className:"sw-h2 sw-center",children:p(s.h2)}),e.jsx("div",{className:"sw-q-rows",role:"list",children:s.rows.map(o=>e.jsxs("div",{className:"sw-q-row",role:"listitem",children:[e.jsx("h3",{className:"sw-q-question",children:p(o.question)}),e.jsxs("div",{className:"sw-q-answers",children:[e.jsxs("div",{className:"sw-q-col sw-q-col-typical",children:[e.jsx("p",{className:"sw-q-label",children:kt}),e.jsx("p",{className:"sw-q-text",children:p(o.usualWay)})]}),e.jsxs("div",{className:"sw-q-col sw-q-col-aj",children:[e.jsxs("p",{className:"sw-q-label",children:[e.jsx(Nt,{}),jt]}),e.jsx("p",{className:"sw-q-text",children:p(o.askjeffyWay)})]})]})]},o.question))}),e.jsx("p",{className:"sw-footnote",children:p(s.footnote)})]})})}function Et({funnel:t,ctaLabel:s,onCta:o}){const{price:a,cta:i}=t;return e.jsx("section",{className:"sw-cost",id:"pricing","data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-cost-inner",children:[e.jsx("h2",{className:"sw-h2 sw-center",children:p(a.h2)}),e.jsx("div",{className:"sw-stats",children:a.stats.map(r=>e.jsxs("div",{className:"sw-stat",children:[e.jsx("p",{className:"sw-stat-value",children:r.value}),e.jsx("p",{className:"sw-stat-label",children:p(r.label)}),e.jsx("p",{className:"sw-stat-note",children:p(r.note)})]},`${r.value}-${r.label}`))}),e.jsxs("aside",{className:"sw-ref",children:[e.jsx("p",{children:p(a.competitorReference)}),e.jsx("p",{className:"sw-ref-checked",children:p(a.competitorCheckedLine)})]}),e.jsx("p",{className:"sw-cost-close",children:p(a.closing)}),e.jsx(V,{label:s,reassure:i.reassure,onClick:o})]})})}const Q={apple:"https://apps.apple.com/app/askjeffy-ai-amazon-fba/id6753876440",play:"https://play.google.com/store/apps/details?id=com.askjeffy.android",chrome:"https://chromewebstore.google.com/detail/askjeffy-ai-amazon-fba-pr/mhlejibjpimaaeiogeeapgecmjddmogi",edge:"https://microsoftedge.microsoft.com/addons/detail/nddkglcighdgdkmkaljappcpcljgdfnh",firefox:"https://addons.mozilla.org/en-US/firefox/addon/askjeffy-ai/"},zt=Q.apple,Ct=Q.play,At=Q.chrome,Tt=Q.edge,_t=Q.firefox;function Lt({funnel:t}){const{proof:s,faq:o}=t;return e.jsx("section",{className:"sw-rf","data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-rf-inner",children:[s.reviews.length>0&&e.jsxs("div",{className:"sw-quotes",children:[e.jsx("h2",{className:"sw-h2 sw-center",children:p(s.h2)}),s.reviews.map(a=>e.jsxs("blockquote",{className:"sw-quote",children:[e.jsx("p",{className:"sw-quote-text",children:p(a.text)}),e.jsxs("footer",{className:"sw-quote-by",children:[e.jsx("strong",{children:a.firstName}),a.url?e.jsx("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",children:a.platform}):e.jsx("span",{children:a.platform})]})]},`${a.firstName}-${a.platform}`))]}),e.jsxs("div",{className:"sw-stores",children:[e.jsx("p",{className:"sw-stores-label",children:s.storeBadgesLabel}),e.jsxs("div",{className:"sw-stores-row",children:[e.jsx("a",{href:zt,target:"_blank",rel:"noopener noreferrer","aria-label":"Download on the App Store",children:e.jsx("img",{src:"/badges/app-store.svg",alt:"Download on the App Store",width:132,height:44,loading:"lazy",decoding:"async"})}),e.jsx("a",{href:Ct,target:"_blank",rel:"noopener noreferrer","aria-label":"Get it on Google Play",children:e.jsx("img",{src:"/badges/google-play.png",alt:"Get it on Google Play",width:148,height:44,loading:"lazy",decoding:"async"})}),e.jsx("a",{href:At,target:"_blank",rel:"noopener noreferrer","aria-label":"Available in the Chrome Web Store",children:e.jsx("img",{src:"/badges/chrome.png",alt:"Available in the Chrome Web Store",width:148,height:44,loading:"lazy",decoding:"async"})}),e.jsx("a",{href:Tt,target:"_blank",rel:"noopener noreferrer","aria-label":"Get it from Microsoft Edge",children:e.jsx("img",{src:"/badges/edge.png",alt:"Get it from Microsoft Edge",width:148,height:44,loading:"lazy",decoding:"async"})}),e.jsx("a",{href:_t,target:"_blank",rel:"noopener noreferrer","aria-label":"Get the Firefox add-on",children:e.jsx("img",{src:"/badges/firefox.png",alt:"Get the Firefox add-on",width:148,height:44,loading:"lazy",decoding:"async"})})]})]}),e.jsxs("div",{className:"sw-faq-wrap",id:"faq",children:[e.jsx("h2",{className:"sw-h2",children:p(o.h2)}),e.jsx("div",{className:"sw-faq",children:o.items.map(a=>e.jsxs("details",{className:"sw-faq-item",children:[e.jsxs("summary",{children:[e.jsx("h3",{className:"sw-faq-q",children:p(a.q)}),e.jsx("span",{className:"sw-faq-toggle","aria-hidden":"true"})]}),e.jsx("p",{className:"sw-faq-a",children:p(a.a)})]},a.q))})]})]})})}function Rt({funnel:t,ctaLabel:s,onCta:o,onOpenDemo:a,sectionRef:i}){const{final:r,cta:c,liveDemo:w}=t;return e.jsxs("section",{className:"sw-final",ref:i,children:[e.jsxs("div",{className:"sw-final-inner",children:[e.jsx("h2",{className:"sw-h2 sw-h2-light sw-final-h2",children:p(r.h2)}),r.paragraphs.map((k,u)=>e.jsx("p",{className:"sw-final-p",children:p(k)},u)),e.jsx("div",{className:"sw-final-cta",children:e.jsx(V,{label:s,reassure:c.reassure,trialNote:c.trialNote,onClick:o,size:"xl",tone
1:"dark"})})]}),e.jsxs("div",{className:"sw-final-demo",children:[e.jsx("div",{className:"sw-glow sw-glow-stage","aria-hidden":"true"}),e.jsxs(Y,{tone:"dark",bar:!0,className:"sw-final-frame",children:[e.jsx(W,{image:w.poster,sizes:"(min-width: 1200px) 1000px, 100vw"}),e.jsx("div",{className:"sw-final-demo-cta",children:e.jsx(we,{label:"Open the live demo",onClick:()=>a({route:w.startRoute,surface:"final"})})})]})]})]})}const qt=`
2  .sw-root {
3    --sw-navy: #0f172a; --sw-navy-deep: #0b1120; --sw-tint: #fbf7f2; --sw-white: #ffffff;
4    --sw-text: #0f172a; --sw-muted: #64748b; --sw-muted-dark: #94a3b8; --sw-soft: #cbd5e1;
5    --sw-orange: #e7983d; --sw-orange-deep: #d4882f; --sw-border: #e2e8f0;
6    font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
7    background: var(--sw-white); color: var(--sw-text);
8    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
9    overflow-x: clip;
10  }
11  .sw-root *, .sw-root *::before, .sw-root *::after { box-sizing: border-box; }
12  .sw-root img { max-width: 100%; height: auto; }
13  .sw-root a { color: inherit; }
14  .sw-root :focus-visible { outline: 3px solid var(--sw-orange); outline-offset: 3px; border-radius: 6px; }
15  .sw-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
16
17  /* ── Type ── */
18  .sw-h1 { font-size: clamp(44px, 5.6vw, 84px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; margin: 0 0 22px; color: #fff; text-wrap: balance; }
19  .sw-h1-line { display: block; }
20  .sw-h1-accent { color: var(--sw-orange); }
21  .sw-h2 { font-size: clamp(34px, 4.4vw, 60px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; margin: 0 0 22px; color: var(--sw-text); text-wrap: balance; }
22  .sw-h2-light { color: #fff; }
23  .sw-statement { font-size: clamp(40px, 5.6vw, 76px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; margin: 0 0 30px; color: #fff; text-wrap: balance; }
24  .sw-statement-line { display: block; }
25  .sw-statement-accent { color: var(--sw-orange); }
26  .sw-eyebrow { font-size: 15px; font-weight: 700; color: var(--sw-orange); margin: 0 0 18px; letter-spacing: 0; }
27  .sw-center { text-align: center; }
28  .sw-footnote { font-size: 14px; color: var(--sw-muted); text-align: center; margin: 28px 0 0; line-height: 1.5; }
29
30  /* ── Primary button ── */
31  .sw-btn {
32    display: inline-flex; align-items: center; justify-content: center; gap: 12px;
33    background: linear-gradient(180deg, #edaa57 0%, var(--sw-orange) 38%, var(--sw-orange) 100%);
34    color: #fff; border: none; cursor: pointer;
35    font-family: inherit; font-weight: 700; font-size: 18px; line-height: 1.2;
36    min-height: 60px; padding: 0 32px; border-radius: 12px; text-align: center;
37    box-shadow: 0 10px 28px rgba(231,152,61,0.35), inset 0 1px 0 rgba(255,255,255,0.28);
38    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
39    max-width: 100%;
40  }
41  .sw-btn:hover { background: linear-gradient(180deg, #e39b45 0%, var(--sw-orange-deep) 40%, var(--sw-orange-deep) 100%); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(231,152,61,0.42), inset 0 1px 0 rgba(255,255,255,0.24); }
42  .sw-btn:active { transform: translateY(0); }
43  .sw-btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px rgba(231,152,61,0.45); }
44  .sw-btn:disabled { opacity: .7; cursor: default; transform: none; }
45  .sw-btn-label { display: inline; }
46  .sw-btn-arrow { flex: none; transition: transform .18s ease; }
47  .sw-btn:hover .sw-btn-arrow { transform: translateX(3px); }
48  .sw-btn-xl { font-size: 19px; min-height: 68px; padding: 0 34px; }
49  .sw-btn-block { width: 100%; }
50  @media (min-width: 600px) { .sw-btn { white-space: nowrap; } }
51  @media (max-width: 599px) {
52    .sw-btn { width: 100%; padding: 12px 20px; min-height: 60px; }
53    .sw-btn-xl { font-size: 18px; min-height: 60px; }
54    /* Two-line label: both lines centred, the arrow inline after the last word. */
55    .sw-btn { display: block; }
56    .sw-btn-label { display: inline; }
57    .sw-btn-arrow { display: inline-block; vertical-align: -3px; margin-left: 10px; }
58  }
59  @media (max-width: 419px) { .sw-btn, .sw-btn-xl { font-size: 17px; } }
60
61  /* ── CTA stack ── */
62  .sw-cta { display: flex; flex-direction: column; align-items: center; text-align: center; margin: 0 auto; max-width: 640px; width: 100%; }
63  .sw-cta-left { align-items: flex-start; text-align: left; margin: 0; }
64  .sw-cta-reassure { font-size: 16px; font-weight: 600; color: var(--sw-text); margin: 16px 0 0; line-height: 1.5; }
65  .sw-cta-trial { font-size: 14px; color: var(--sw-muted); margin: 8px 0 0; line-height: 1.55; max-width: 560px; }
66  .sw-cta-on-dark .sw-cta-reassure { color: #fff; }
67  .sw-cta-on-dark .sw-cta-trial { color: var(--sw-muted-dark); }
68
69  /* ── Screen frame ── */
70  .sw-frame { border-radius: 14px; overflow: hidden; background: #fff; position: relative; }
71  .sw-frame-dark { border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 2px 4px rgba(2,6,23,0.35), 0 24px 60px rgba(2,6,23,0.55), 0 60px 120px rgba(2,6,23,0.45); }
72  .sw-frame-light { border: 1px solid var(--sw-border); box-shadow: 0 2px 4px rgba(15,23,42,0.06), 0 22px 56px rgba(15,23,42,0.12), 0 48px 100px rgba(15,23,42,0.10); }
73  .sw-frame-bar { height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 14px; background: #f1f5f9; border-bottom: 1px solid var(--sw-border); }
74  .sw-frame-bar span { width: 10px; height: 10px; border-radius: 50%; background: #cbd5e1; display: block; flex: none; }
75  .sw-frame-label { margin-left: 12px; font-style: normal; font-size: 13px; font-weight: 700; color: var(--sw-muted); letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
76  .sw-frame-label-short { display: none; }
77  @media (max-width: 599px) { .sw-frame-label-long { display: none; } .sw-frame-label-short { display: block; } }
78  .sw-frame-body { line-height: 0; }
79  .sw-frame-dark .sw-frame-bar { background: #111a2e; border-bottom-color: rgba(255,255,255,0.08); }
80  .sw-frame-dark .sw-frame-bar span { background: #334155; }
81  .sw-frame-dark .sw-frame-label { color: var(--sw-muted-dark); }
82  .sw-img { display: block; width: 100%; height: auto; }
83
84  /* ── Glow ── */
85  .sw-glow { position: absolute; pointer-events: none; border-radius: 50%; background: radial-gradient(closest-side, rgba(231,152,61,0.14), rgba(231,152,61,0.06) 45%, rgba(231,152,61,0) 72%); }
86
87  /* ── Nav on hero ── */
88  .sw-nav { position: relative; z-index: 5; }
89  .sw-nav-inner { max-width: 1200px; margin: 0 auto; padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
90  .sw-nav-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: #fff; min-height: 44px; }
91  .sw-nav-logo { width: 30px; height: 30px; border-radius: 8px; }
92  .sw-nav-title { font-weight: 800; font-size: 17px; letter-spacing: -0.01em; }
93  .sw-nav-login { font-size: 15px; font-weight: 600; color: var(--sw-soft); text-decoration: none; min-height: 44px; min-width: 44px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; }
94  .sw-nav-login:hover { color: #fff; }
95
96  /* ── Hero ── */
97  .sw-hero { position: relative; background: radial-gradient(120% 70% at 50% 0%, #17223a 0%, var(--sw-navy) 45%, var(--sw-navy-deep) 100%); color: #fff; overflow: hidden; padding-bottom: 96px; }
98  .sw-hero-inner { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; padding: 32px 24px 0; text-align: center; }
99  .sw-hero-inner .sw-eyebrow, .sw-hero-sub, .sw-hero-cta, .sw-hero-proof { max-width: 900px; margin-left: auto; margin-right: auto; }
100  .sw-hero-sub { font-size: 21px; line-height: 1.5; color: var(--sw-soft); max-width: 640px; margin: 0 auto 30px; text-wrap: pretty; }
101  .sw-hero-proof { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 26px auto 0; font-size: 14px; color: var(--sw-muted-dark); flex-wrap: wrap; }
102  .sw-marks { display: inline-flex; gap: 6px; }
103  .sw-marks svg { width: 18px; height: 18px; fill: none; stroke: var(--sw-muted-dark); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
104  /* ── Live demo stage (hero) ── */
105  .sw-stage { position: relative; max-width: 1120px; margin: 56px auto 0; padding: 0 24px; z-index: 1; }
106  .sw-demo-entry { position: relative; z-index: 2; }
107  .sw-demo-note { position: absolute; top: -46px; right: 10px; display: flex; align-items: flex-start; gap: 7px; z-index: 3; pointer-events: none; }
108  .sw-demo-note span { font-size: 15px; font-weight: 700; font-style: italic; color: var(--sw-orange); letter-spacing: -0.01em; transform: rotate(-2deg); }
109  .sw-demo-note svg { width: 52px; height: 40px; margin-top: 10px; }
110  .sw-glow-stage { width: 120%; height: 130%; left: -10%; top: -18%; }
111  .sw-demo-frame {
112    position: relative; height: var(--sw-demo-h, 640px); border-radius: 20px; overflow: hidden;
113    border: 1px solid rgba(255,255,255,0.10); background: var(--sw-navy-deep);
114    box-shadow: 0 2px 4px rgba(2,6,23,0.4), 0 30px 80px rgba(2,6,23,0.6), 0 70px 140px rgba(2,6,23,0.5);
115  }
116  .sw-demo-poster { position: absolute; inset: 0; }
117  .sw-demo-poster picture, .sw-demo-poster img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; }
118  .sw-demo-poster-mobile { display: none; }
119  .sw-demo-iframe { position: absolute; top: 0; left: 0; width: 1440px; transform: scale(var(--sw-demo-scale, 0.78)); transform-origin: top left; border: 0; display: block; background: #fff; opacity: 0; transition: opacity .2s ease; }
120  .sw-demo-live .sw-demo-iframe { opacity: 1; }
121  .sw-demo-expand { position: absolute; top: 12px; right: 12px; z-index: 5; display: inline-flex; align-items: center; gap: 6px; background: rgba(15,23,42,.72); color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; padding: 8px 12px; min-height: 36px; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; backdrop-filter: blur(4px); transition: background .15s ease; }
122  .sw-demo-expand:hover { background: rgba(15,23,42,.9); }
123  .sw-demo-mobile-cta { display: none; }
124  .sw-demo-caption { text-align: center; font-size: 14px; color: var(--sw-muted-dark); margin: 16px 0 0; }
125  .sw-demo-modal { position: fixed; inset: 0; z-index: 95; background: rgba(11,17,32,.85); backdrop-filter: blur(3px); display: flex; align-items: center; justify-content: center; padding: 20px; }
126  .sw-demo-modal-frame { position: relative; width: 100%; height: 100%; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 40px 120px rgba(0,0,0,.5); }
127  .sw-demo-modal-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
128  .sw-demo-close { top: 10px; right: 10px; }
129  @media (max-width: 599px) { .sw-demo-modal { padding: 0; } .sw-demo-modal-frame { border-radius: 0; } }
130
131  /* Floating data cards (white cards on the dark stage) */
132  .sw-float { position: absolute; z-index: 3; background: #fff; border: 1px solid var(--sw-border); border-radius: 14px; box-shadow: 0 18px 44px rgba(2,6,23,0.45); padding: 14px 16px; width: 232px; color: var(--sw-text); display: none; }
133  .sw-fl-label { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-muted); margin-bottom: 6px; }
134  .sw-fl-big { font-size: 26px; font-weight: 800; color: var(--sw-text); letter-spacing: -.02em; line-height: 1.1; }
135  .sw-fl-neg { font-size: 20px; }
136  .sw-fl-unit { font-size: 13px; color: var(--sw-muted); font-weight: 600; }
137  .sw-fl-sub { font-size: 13px; color: var(--sw-muted); margin-top: 4px; line-height: 1.4; }
138  @media (min-width: 1240px) {
139    /* Four cards, all kept below the demo's title bar and sample-data
140       banner (roughly the top 130px of the frame at these widths) and
141       away from the Expand button; they overlap the frame's outer edges
142       and the sidebar navigation only, never the logo or page title.
143       Between 1240 and 1399 there is little room outside the frame, so
144       the cards sit further in; from 1400 they hang mostly off the edge. */
145    .sw-float { display: block; }
146    .sw-fl-1 { left: -84px; top: 168px; transform: rotate(-2.5deg); }
147    .sw-fl-2 { right: -84px; top: 196px; transform: rotate(2deg); }
148    .sw-fl-3 { left: -80px; bottom: 44px; transform: rotate(1.5deg); width: 244px; }
149    .sw-fl-4 { right: -88px; bottom: 60px; transform: rotate(-2deg); }
150  }
151  @media (min-width: 1400px) {
152    .sw-fl-1 { left: -170px; }
153    .sw-fl-2 { right: -170px; }
154    .sw-fl-3 { left: -166px; }
155    .sw-fl-4 { right: -174px; }
156  }
157  @keyframes sw-floatY { 0%, 100% { translate: 0 0; }
157 50% { translate: 0 -6px; } }
158  .sw-float-anim { animation: sw-floatY 6s ease-in-out infinite; }
159  .sw-fl-2.sw-float-anim { animation-delay: -1.5s; }
160  .sw-fl-3.sw-float-anim { animation-delay: -3s; }
161  .sw-fl-4.sw-float-anim { animation-delay: -4.5s; }
162  @media (max-width: 1023px) {
163    .sw-stage { margin-top: 40px; padding: 0 16px; }
164    .sw-demo-frame { height: auto; aspect-ratio: 2361 / 1160; }
165    .sw-demo-poster-desktop { display: none; }
166    .sw-demo-poster-mobile { display: block; }
167    .sw-demo-poster-mobile img { object-fit: cover; }
168    .sw-demo-expand-desktop { display: none; }
169    .sw-demo-mobile-cta { display: flex; position: absolute; inset: 0; align-items: flex-end; justify-content: center; padding: 18px; background: linear-gradient(180deg, rgba(11,17,32,0) 45%, rgba(11,17,32,0.55) 100%); z-index: 4; }
170    .sw-demo-note { top: -44px; right: 6px; }
171  }
172  @media (max-width: 599px) { .sw-demo-frame { border-radius: 14px; } .sw-demo-note span { font-size: 13px; } .sw-demo-note svg { width: 40px; height: 32px; } .sw-demo-mobile-cta { padding: 14px; } }
173
174  /* Anchor targets for ad sitelinks (#side-by-side-test, #pricing, #faq,
175     #see-it): keep a little air above the heading when the browser jumps. */
176  #side-by-side-test, #pricing, #faq, #see-it { scroll-margin-top: 24px; }
177
178  /* Secondary (white) button */
179  .sw-btn2 { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: #fff; color: var(--sw-text); border: 1px solid var(--sw-border); border-radius: 12px; min-height: 48px; padding: 0 20px; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(15,23,42,0.12); transition: transform .15s ease, box-shadow .15s ease; text-align: center; max-width: 100%; }
180  .sw-btn2:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(15,23,42,0.16); }
181  .sw-btn2-big { min-height: 56px; font-size: 17px; padding: 0 26px; width: 100%; max-width: 360px; }
182  .sw-btn2-dark { box-shadow: 0 10px 28px rgba(2,6,23,0.45); border-color: rgba(255,255,255,0.12); }
183  .sw-sample { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--sw-muted); margin: 14px 0 0; }
184  .sw-sample-dark { color: var(--sw-muted-dark); }
185
186  @media (max-width: 899px) {
187    .sw-hero { padding-bottom: 64px; }
188    .sw-hero-inner { padding-top: 20px; }
189    .sw-hero-proof { flex-direction: column; gap: 10px; }
190  }
191  @media (max-width: 419px) {
192    .sw-hero-inner { padding-top: 12px; }
193    .sw-hero-inner .sw-eyebrow { margin-bottom: 10px; font-size: 14px; }
194    .sw-h1 { margin-bottom: 12px; }
195    .sw-hero-sub { font-size: 18px; margin-bottom: 18px; }
196    .sw-cta-reassure { margin-top: 12px; font-size: 15px; }
197    .sw-cta-trial { margin-top: 6px; font-size: 13px; }
198    .sw-hero-proof { margin-top: 16px; font-size: 13px; gap: 8px; }
199    .sw-stage { margin-top: 58px; }
200    .sw-demo-note { top: -40px; }
201  }
202  @media (min-width: 900px) { .sw-hero { padding-bottom: 150px; } }
203
204  /* ── Why keep it ── */
205  .sw-why { background: var(--sw-white); padding: 88px 24px; }
206  .sw-why-inner { max-width: 880px; margin: 0 auto; }
207  .sw-why-text { max-width: 680px; }
208  .sw-why-prose p { font-size: 19px; line-height: 1.6; color: #334155; margin: 0 0 16px; }
209  .sw-why-prose p:first-child { font-size: 22px; font-weight: 600; color: var(--sw-text); }
210  .sw-why-prose p:last-child { margin-bottom: 0; }
211  .sw-why-strip { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
212  .sw-why-step { position: relative; display: flex; align-items: center; gap: 14px; padding: 18px 20px; border: 1px solid var(--sw-border); border-radius: 16px; background: var(--sw-tint); }
213  .sw-why-icon { flex: none; width: 48px; height: 48px; border-radius: 12px; background: #fff; border: 1px solid var(--sw-border); display: inline-flex; align-items: center; justify-content: center; }
214  .sw-why-icon svg { width: 22px; height: 22px; fill: none; stroke: var(--sw-text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
215  .sw-why-step:last-child .sw-why-icon { background: var(--sw-orange); border-color: var(--sw-orange); }
216  .sw-why-step:last-child .sw-why-icon svg { stroke: #fff; stroke-width: 3; }
217  .sw-why-step-label { font-size: 19px; font-weight: 800; letter-spacing: -0.01em; color: var(--sw-text); }
218  @media (min-width: 700px) {
219    .sw-why-strip { grid-template-columns: repeat(3, 1fr); gap: 28px; }
220    .sw-why-step:not(:last-child)::after { content: ''; position: absolute; right: -20px; top: 50%; width: 10px; height: 10px; border-top: 2px solid var(--sw-muted-dark); border-right: 2px solid var(--sw-muted-dark); transform: translateY(-50%) rotate(45deg); }
221  }
222  @media (min-width: 900px) { .sw-why { padding: 96px 24px; } }
223  @media (max-width: 899px) { .sw-why { padding: 64px 20px; } }
224
225  /* ── Turning point ── */
226  .sw-tp { position: relative; background: var(--sw-navy); color: #fff; padding: 112px 24px 120px; overflow: hidden; }
227  .sw-tp-inner { max-width: 1200px; margin: 0 auto; text-align: center; }
228  .sw-tp-body { max-width: 640px; margin: 0 auto 56px; }
229  .sw-tp-body p { font-size: 20px; line-height: 1.6; color: var(--sw-soft); margin: 0 0 14px; }
230  .sw-mech { list-style: none; margin: 0 auto 64px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; max-width: 1080px; position: relative; text-align: left; }
231  .sw-mech::before { content: ''; position: absolute; left: 12.5%; right: 12.5%; top: 20px; height: 1px; background: rgba(255,255,255,0.16); }
232  .sw-mech-step { position: relative; padding: 0 18px; display: flex; flex-direction: column; align-items: center; text-align: center; }
233  .sw-mech-node { width: 40px; height: 40px; border-radius: 50%; background: var(--sw-navy); border: 1px solid rgba(255,255,255,0.22); color: var(--sw-orange); font-weight: 800; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; position: relative; z-index: 1; }
234  .sw-mech-step:last-child .sw-mech-node { background: var(--sw-orange); color: #fff; border-color: var(--sw-orange); }
235  .sw-mech-text { display: flex; flex-direction: column; align-items: center; }
236  .sw-mech-label { font-size: 20px; font-weight: 800; letter-spacing: -0.01em; margin-bottom: 6px; }
237  .sw-mech-caption { font-size: 15px; line-height: 1.5; color: var(--sw-muted-dark); max-width: 220px; }
238  .sw-tp-visual { position: relative; max-width: 1180px; margin: 0 auto 64px; display: grid; grid-template-columns: 1fr; gap: 24px; text-align: left; }
239  .sw-glow-center { width: 110%; height: 110%; left: -5%; top: -8%; }
240  .sw-tp-data { position: relative; display: grid; grid-template-columns: 1fr; gap: 20px; }
241  .sw-tp-col { display: grid; gap: 12px; align-content: start; }
242  .sw-tp-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
243  .sw-tp-colhead { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 800; color: #fff; margin: 0 0 4px; letter-spacing: -0.01em; }
244  .sw-tp-colnum { width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.22); color: var(--sw-orange); font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
245  .sw-tp-jeffy { position: relative; display: grid; align-content: start; gap: 12px; }
246  .sw-tp-jeffy-empty { background: rgba(255,255,255,0.04); border: 1px dashed rgba(255,255,255,0.18); border-radius: 20px; padding: 32px 28px; display: grid; gap: 20px; justify-items: start; min-height: 260px; align-content: center; }
247  .sw-tp-jeffy-p { font-size: 20px; line-height: 1.5; color: var(--sw-soft); margin: 0; max-width: 420px; }
248  @media (min-width: 900px) {
249    .sw-tp-visual { grid-template-columns: 1.15fr 0.85fr; gap: 32px; }
250    .sw-tp-data { grid-template-columns: 1fr 1fr; }
251  }
252  @media (max-width: 899px) {
253    .sw-tp { padding: 72px 20px 80px; }
254    .sw-mech { grid-template-columns: 1fr; gap: 22px; max-width: 420px; text-align: left; }
255    .sw-mech::before { left: 19px; right: auto; top: 20px; bottom: 20px; width: 1px; height: auto; }
256    .sw-mech-step { flex-direction: row; align-items: flex-start; text-align: left; padding: 0; gap: 16px; }
257    .sw-mech-node { flex: none; margin: 0; }
258    .sw-mech-text { align-items: flex-start; padding-top: 6px; }
259    .sw-mech-caption { max-width: none; }
260  }
261
262  /* ── Showcase ── */
263  .sw-show-block { padding: 96px 0; overflow: hidden; }
264  .sw-show-tint { background: var(--sw-tint); }
265  .sw-show-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
266  .sw-show-q { font-size: clamp(28px, 3vw, 40px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.08; color: var(--sw-text); margin: 0 0 16px; text-wrap: balance; }
267  .sw-show-p { font-size: 18px; line-height: 1.6; color: #334155; margin: 0; max-width: 460px; }
268  .sw-show-media { position: relative; }
269  .sw-show-text .sw-btn2 { margin-top: 22px; }
270  @media (min-width: 900px) {
271    .sw-show-block { padding: 120px 0; }
272    .sw-show-inner { grid-template-columns: 38fr 62fr; gap: 48px; }
273    .sw-show-flip .sw-show-text { order: 2; }
274    .sw-show-flip .sw-show-media { order: 1; }
275    .sw-show-media { min-width: 640px; }
276  }
277  @media (max-width: 899px) {
278    .sw-show-block { padding: 64px 0 72px; }
279    .sw-panel-dark { padding: 20px; border-radius: 18px; }
280  }
281
282  /* ── Data compositions (values from demo-data.ts) ── */
283  .sw-panel-dark { background: linear-gradient(180deg, #121c33 0%, var(--sw-navy) 70%, var(--sw-navy-deep) 100%); color: #fff; border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; padding: 28px; box-shadow: 0 30px 80px rgba(15,23,42,0.22), 0 10px 24px rgba(15,23,42,0.12); }
284  .sw-metric { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; padding: 18px 20px; min-width: 0; }
285  .sw-metric-accent { background: rgba(231,152,61,0.10); border-color: rgba(231,152,61,0.35); }
286  .sw-metric-label { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-muted-dark); margin: 0 0 8px; }
287  .sw-metric-value { font-size: 34px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: #fff; margin: 0; }
288  .sw-metric-xl .sw-metric-value { font-size: 52px; }
289  .sw-metric-unit { font-size: 15px; font-weight: 600; color: var(--sw-muted-dark); letter-spacing: 0; margin-left: 2px; }
290  .sw-metric-sub { font-size: 14px; color: var(--sw-soft); margin: 8px 0 0; line-height: 1.45; }
291  .sw-comp-grid { display: grid; gap: 16px; }
292  .sw-comp-kw { margin: 0 0 2px; font-size: 15px; font-weight: 700; color: var(--sw-soft); }
293  .sw-comp-kw::before { content: 'Keyword: '; font-weight: 600; color: var(--sw-muted-dark); }
294  .sw-comp-kw-product::before { content: 'Product: '; }
295  .sw-comp-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
296  .sw-comp-metrics-2 { grid-template-columns: 1fr; }
297  @media (min-width: 640px) { .sw-comp-metrics { grid-template-columns: repeat(4, 1fr); } .sw-comp-metrics-2 { grid-template-columns: 1fr 1fr; } }
298  .sw-kt { width: 100%; border-collapse: collapse; font-size: 15px; color: #fff; }
299  .sw-kt th, .sw-kt td { text-align: left; padding: 13px 12px; border-bottom: 1px solid rgba(255,255,255,0.08); white-space: nowrap; }
300  .sw-kt thead th { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-muted-dark); border-bottom-color: rgba(255,255,255,0.16); }
301  .sw-kt tbody th { font-weight: 700; white-space: normal; }
302  .sw-kt tbody tr:last-child th, .sw-kt tbody tr:last-child td { border-bottom: none; }
303  .sw-kt-vol { font-weight: 800; color: #fff; }
304  .sw-kt-cpc { color: #34d399; font-weight: 700; }
305  .sw-kt-unit { font-size: 12.5px; color: var(--sw-muted-dark); }
306  .sw-kt-compact { font-size: 13.5px; color: var(--sw-text); }
307  .sw-kt-compact th, .sw-kt-compact td { padding: 9px 10px; border-bottom-color: var(--sw-border); }
308  .sw-kt-compact thead th { color: var(--sw-muted); border-bottom-color: var(--sw-border); font-size: 11.5px; }
309  .sw-kt-compact .sw-kt-vol { color: var(--sw-text); }
310  .sw-kt-compact .sw-kt-cpc { color: #059669; }
311  .sw-kt-compact .sw-kt-unit { color: var(--sw-muted); }
312  @media (max-width: 639px) { .sw-kt { font-size: 14px; } .sw-kt th, .sw-kt td { padding: 11px 8px; } }
313  .sw-themes-wrap { display: grid; gap: 22px; }
314  .sw-themes-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
315  .sw-themes-sent { font-size: 30px; font-weight: 800; letter-spacing: -0.03em; color: #34d399; }
316  .sw-themes-meta { font-size: 14px; color: var(--sw-muted-dark); }
317  .sw-themes-title { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-muted-dark); margin: 0 0 12px; }
318  .sw-themes { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
319  .sw-theme-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
320  .sw-theme-label { font-size: 18px; font-weight: 700; color: #fff; }
321  .sw-theme-pct { font-size: 18px; font-weight: 800; color: #fff; }
322  .sw-theme-bar { height: 7px; border-radius: 4px; background: rgba(255,255,255,0.10); margin-top: 8px; overflow: hidden; }
323  .sw-theme-bar i { display: block; height: 100%; border-radius: 4px; background: #34d399; }
324  .sw-themes-neg .sw-theme-bar i { background: #f87171; }
325  .sw-theme-desc { font-size: 14px; color: var(--sw-soft); margin: 6px 0 0; line-height: 1.45; }
326  @media (min-width: 640px) { .sw-themes-wrap { grid-template-columns: 1fr 1fr; } .sw-themes-head { grid-column: 1 / -1; } }
327  .sw-themes-compact .sw-theme-label, .sw-themes-compact .sw-theme-pct { font-size: 15px; }
328
329  /* ── Proof exchange ── */
330  .sw-proof { background: var(--sw-white); padding: 112px 24px; }
331  .sw-proof-inner { max-width: 1120px; margin: 0 auto; }
332  .sw-beat { margin: 40px 0 0; }
333  .sw-beat-label { font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sw-orange); margin: 0 0 14px; }
334  .sw-bubble { display: inline-block; background: var(--sw-navy); color: #fff; font-size: 20px; line-height: 1.5; padding: 18px 24px; border-radius: 18px 18px 18px 4px; margin: 0; max-width: 720px; }
335  .sw-beat-source { font-size: 14px; color: var(--sw-muted); margin: 12px 0 0; }
336  .sw-proof-close { font-size: 24px; font-weight: 700; color: var(--sw-text); text-align: center; margin: 56px 0 0; letter-spacing: -0.01em; }
337  @media (max-width: 899px) { .sw-proof { padding: 72px 20px; } }
338
339  /* ── Offer ── */
340  .sw-offer-section { background: var(--sw-tint); padding: 120px 24px; }
341  .sw-offer { position: relative; max-width: 1200px; margin: 0 auto; background: linear-gradient(180deg, #121c33 0%, var(--sw-navy) 60%, var(--sw-navy-deep) 100%); color: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 30px 80px rgba(15,23,42,0.28), 0 10px 24px rgba(15,23,42,0.16); }
342  .sw-offer-rule { height: 3px; background: linear-gradient(90deg, var(--sw-orange), rgba(231,152,61,0.35)); }
343  .sw-glow-corner { width: 70%; height: 90%; right: -20%; top: -30%; }
344  .sw-offer-grid { position: relative; display: grid; grid-template-columns: 1fr; gap: 0; padding: 48px 28px 44px; }
345  .sw-offer-head { order: 1; }
346  .sw-offer-visual { order: 2; margin: 8px 0 36px; }
347  .sw-offer-body { order: 3; }
348  .sw-offer-label { font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sw-orange); margin: 0 0 14px; }
349  .sw-offer-h2 { font-size: clamp(32px, 3.2vw, 46px); margin-bottom: 14px; text-wrap: balance; }
350  @media (min-width: 1024px) { .sw-offer-h2 { white-space: nowrap; } }
351  .sw-offer-sub { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; color: var(--sw-orange); margin: 0 0 24px; line-height: 1.15; }
352  .sw-offer-steps { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 14px; }
353  .sw-offer-steps li { display: flex; align-items: baseline; gap: 16px; }
354  .sw-offer-num { font-size: 34px; font-weight: 800; letter-spacing: -0.03em; color: var(--sw-orange); line-height: 1; min-width: 36px; }
355  .sw-offer-step { font-size: 20px; font-weight: 600; color: #fff; line-height: 1.35; }
356  .sw-offer-note { font-size: 14px; line-height: 1.55; color: var(--sw-muted-dark); margin: 0 0 30px; max-width: 520px; }
357  .sw-two { position: relative; width: 100%; padding-top: 16%; }
358  .sw-two-a { position: absolute; left: 0; top: 0; width: 60%; opacity: .9; }
359  .sw-two-b { position: relative; margin-left: auto; width: 86%; z-index: 2; }
360  .sw-two-caption { text-align: center; font-size: 15px; font-weight: 600; color: var(--sw-soft); margin: 22px 0 0; }
361  .sw-two-app { background: #fff; padding: 16px 18px 14px; }
362  .sw-two-app-title { font-size: 15px; font-weight: 800; color: var(--sw-text); margin: 0 0 8px; letter-spacing: -0.01em; }
363  .sw-two-app .sw-sample { margin-top: 10px; font-size: 11.5px; }
364  .sw-two-b .sw-frame-body { line-height: 1.3; }
365  @media (min-width: 1000px) {
366    .sw-offer-grid { grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); grid-template-rows: auto auto; column-gap: 40px; padding: 72px 28px 64px 64px; align-items: center; }
367    .sw-offer-head { grid-column: 1; grid-row: 1; align-self: end; }
368    .sw-offer-body { grid-column: 1; grid-row: 2; align-self: start; }
369    .sw-offer-visual { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: center; }
370    .sw-two { padding-top: 18%; }
371    .sw-two-a { width: 58%; }
372    .sw-two-b { width: 90%; margin-right: -10px; }
373  }
374  @media (max-width: 599px) { .sw-offer-section { padding: 72px 16px; } .sw-offer-grid { padding: 40px 22px 36px; } .sw-two-a .sw-frame-label { font-size: 13px; } }
375
376  /* Skeleton (neutral grey blocks only) */
377  .sw-skel { display: flex; background: #f8fafc; aspect-ratio: 16 / 10; }
378  .sw-skel-side { width: 22%; background: #e9eef4; padding: 12px 10px; display: flex; flex-direction: column; gap: 9px; }
379  .sw-skel-side i { display: block; height: 8px; border-radius: 4px; background: #cfd8e3; }
380  .sw-skel-main { flex: 1; padding: 14px; display: flex; flex-direction: column; gap: 9px; }
381  .sw-skel-row { height: 8px; border-radius: 4px; background: #dfe6ee; width: 100%; }
382  .sw-skel-row.short { width: 62%; }
383  .sw-skel-row-title { width: 40%; height: 12px; background: #cfd8e3; margin-bottom: 4px; }
384  .sw-skel-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 4px 0 6px; }
385  .sw-skel-cards b { display: block; height: 34px; border-radius: 6px; background: #e9eef4; border: 1px solid #dfe6ee; }
386
387  /* ── The five questions ── */
388  .sw-q { background: var(--sw-white); padding: 112px 24px; }
389  .sw-q-inner { max-width: 1120px; margin: 0 auto; }
390  .sw-q-rows { margin-top: 48px; border-top: 1px solid var(--sw-border); }
391  .sw-q-row { display: grid; grid-template-columns: 1fr; gap: 18px; padding: 36px 0; border-bottom: 1px solid var(--sw-border); }
392  .sw-q-question { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--sw-text); margin: 0; text-wrap: balance; }
393  .sw-q-answers { display: grid; grid-template-columns: 1fr; gap: 18px; }
394  .sw-q-label { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 8px; }
395  .sw-q-col-typical .sw-q-label { color: var(--sw-muted-dark); }
396  .sw-q-col-aj .sw-q-label { color: var(--sw-text); }
397  .sw-q-check { color: var(--sw-orange); }
398  .sw-q-text { font-size: 18px; line-height: 1.55; margin: 0; }
399  .sw-q-col-typical .sw-q-text { color: var(--sw-muted); }
400  .sw-q-col-aj .sw-q-text { color: var(--sw-text); font-weight: 500; }
401  @media (min-width: 900px) {
402    .sw-q-row { grid-template-columns: 1fr 2fr; gap: 48px; padding: 44px 0; }
403    .sw-q-answers { grid-template-columns: 1fr 1fr; gap: 40px; }
404  }
405  @media (max-width: 899px) { .sw-q { padding: 72px 20px; } .sw-q-question { font-size: 24px; } }
406
407  /* ── What the test costs ── */
408  .sw-cost { background: var(--sw-tint); padding: 112px 24px; }
409  .sw-cost-inner { max-width: 1120px; margin: 0 auto; }
410  .sw-stats { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 44px 0 28px; }
411  .sw-stat { background: var(--sw-white); border: 1px solid var(--sw-border); border-radius: 18px; padding: 32px 28px; box-shadow: 0 10px 30px rgba(15,23,42,0.05); }
412  .sw-stat-value { font-size: 64px; font-weight: 800; letter-spacing: -0.04em; line-height: 1; color: var(--sw-text); margin: 0 0 10px; }
413  .sw-stat-label { font-size: 20px; font-weight: 700; color: var(--sw-text); margin: 0 0 8px; letter-spacing: -0.01em; }
414  .sw-stat-note { font-size: 15px; line-height: 1.5; color: var(--sw-muted); margin: 0; }
415  .sw-ref { background: transparent; border: 1px solid var(--sw-border); border-radius: 12px; padding: 18px 20px; margin: 0 auto 36px; max-width: 760px; }
416  .sw-ref p { margin: 0; font-size: 15px; line-height: 1.6; color: #334155; }
417  .sw-ref-checked { margin-top: 10px !important; font-size: 13px !important; color: var(--sw-muted) !important; }
418  .sw-cost-close { font-size: 22px; line-height: 1.5; color: va
418r(--sw-text); text-align: center; max-width: 720px; margin: 0 auto 36px; font-weight: 500; }
419  @media (min-width: 900px) { .sw-stats { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
420  @media (max-width: 899px) { .sw-cost { padding: 72px 20px; } .sw-stat-value { font-size: 56px; } }
421
422  /* ── Reviews, badges, FAQ ── */
423  .sw-rf { background: var(--sw-white); padding: 96px 24px 112px; }
424  .sw-rf-inner { max-width: 1120px; margin: 0 auto; }
425  .sw-quotes { margin-bottom: 72px; }
426  .sw-quote { margin: 0 auto 40px; max-width: 860px; text-align: center; }
427  .sw-quote-text { font-size: 26px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.35; color: var(--sw-text); margin: 0 0 14px; }
428  .sw-quote-by { font-size: 15px; color: var(--sw-muted); display: flex; justify-content: center; gap: 10px; }
429  .sw-quote-by strong { color: var(--sw-text); }
430  .sw-stores { text-align: center; margin-bottom: 80px; }
431  .sw-stores-label { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sw-muted-dark); margin: 0 0 18px; }
432  .sw-stores-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 18px; }
433  .sw-stores-row a { display: inline-flex; line-height: 0; transition: opacity .18s ease, transform .18s ease; }
434  .sw-stores-row a:hover { opacity: .86; transform: translateY(-2px); }
435  .sw-stores-row img { display: block; height: 44px; width: auto; }
436  @media (max-width: 560px) { .sw-stores-row { gap: 6px 12px; } .sw-stores-row a { padding: 4px 0; } .sw-stores-row img { height: 36px; } }
437  .sw-faq-wrap { max-width: 760px; margin: 0 auto; }
438  .sw-faq { border-top: 1px solid var(--sw-border); margin-top: 28px; }
439  .sw-faq-item { border-bottom: 1px solid var(--sw-border); }
440  .sw-faq-item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; min-height: 44px; }
441  .sw-faq-item summary::-webkit-details-marker { display: none; }
442  .sw-faq-q { font-size: 20px; font-weight: 700; color: var(--sw-text); margin: 0; line-height: 1.35; letter-spacing: -0.01em; }
443  .sw-faq-toggle { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--sw-border); }
444  .sw-faq-toggle::before, .sw-faq-toggle::after { content: ''; position: absolute; background: var(--sw-text); left: 50%; top: 50%; transform: translate(-50%, -50%); transition: transform .2s ease; }
445  .sw-faq-toggle::before { width: 12px; height: 2px; }
446  .sw-faq-toggle::after { width: 2px; height: 12px; }
447  .sw-faq-item[open] .sw-faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
448  .sw-faq-a { margin: 0; padding: 0 44px 24px 0; font-size: 17px; line-height: 1.6; color: #334155; }
449  @media (max-width: 899px) { .sw-rf { padding: 72px 20px 88px; } .sw-stores { margin-bottom: 64px; } }
450
451  /* ── Final close ── */
452  .sw-final { position: relative; background: radial-gradient(120% 60% at 50% 100%, #17223a 0%, var(--sw-navy) 50%, var(--sw-navy) 100%); color: #fff; padding: 120px 24px 0; overflow: hidden; }
453  .sw-final-inner { max-width: 760px; margin: 0 auto; text-align: center; }
454  .sw-final-h2 { font-size: clamp(38px, 5vw, 68px); }
455  .sw-final-p { font-size: 22px; line-height: 1.55; color: var(--sw-soft); margin: 0 0 12px; }
456  .sw-final-cta { margin-top: 36px; }
457  .sw-final-demo { position: relative; max-width: 1000px; margin: 64px auto 0; padding: 0 0 96px; }
458  .sw-final-frame { position: relative; }
459  .sw-final-demo-cta { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(11,17,32,0.28); }
460  @media (min-width: 900px) { .sw-final { min-height: 80vh; } }
461  @media (max-width: 899px) {
462    .sw-final { padding: 80px 20px 0; }
463    .sw-final-demo { margin-top: 44px; padding-bottom: 64px; }
464  }
465
466  /* ── Footer ── */
467  .sw-footer { background: var(--sw-navy-deep); color: var(--sw-muted-dark); border-top: 1px solid rgba(255,255,255,0.08); padding: 28px 20px 40px; }
468  .sw-footer-inner { max-width: 1120px; margin: 0 auto; text-align: center; }
469  .sw-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin-bottom: 12px; }
470  .sw-footer-links a { color: var(--sw-soft); text-decoration: none; font-size: 14px; font-weight: 600; min-height: 44px; min-width: 44px; padding: 0 4px; display: inline-flex; align-items: center; justify-content: center; }
471  .sw-footer-links a:hover { color: #fff; }
472  .sw-footer-copy { font-size: 13px; margin: 0 0 8px; }
473  .sw-footer-tm { font-size: 13px; margin: 0; color: var(--sw-muted-dark); line-height: 1.5; }
474
475  /* ── Sticky mobile CTA ── */
476  .sw-sticky {
477    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
478    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
479    background: rgba(255,255,255,0.96); border-top: 1px solid var(--sw-border);
480    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
481    transform: translateY(110%); transition: transform .25s ease; pointer-events: none;
482  }
483  .sw-sticky-on { transform: translateY(0); pointer-events: auto; }
484  .sw-sticky .sw-btn { min-height: 56px; font-size: 17px; box-shadow: 0 6px 18px rgba(231,152,61,0.3); display: inline-flex; padding: 0 20px; }
485  @media (min-width: 900px) { .sw-sticky { display: none; } }
486
487  /* ── Modal (logic untouched, styling only) ── */
488  .sw-modal-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(11,17,32,0.7); display: flex; align-items: flex-end; justify-content: center; padding: 0; }
489  .sw-modal { position: relative; width: 100%; max-width: 500px; background: #ffffff; color: #334155; border-radius: 20px 20px 0 0; padding: 30px 22px calc(28px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -10px 40px rgba(15,23,42,0.25); max-height: 92vh; overflow-y: auto; }
490  @media (min-width: 560px) {
491    .sw-modal-backdrop { align-items: center; padding: 20px; }
492    .sw-modal { border-radius: 20px; padding: 36px 34px; box-shadow: 0 30px 80px rgba(15,23,42,0.35); }
493  }
494  .sw-modal-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border: none; background: transparent; color: var(--sw-muted); cursor: pointer; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; }
495  .sw-modal-close:hover { background: #f8fafc; color: var(--sw-text); }
496  .sw-modal-h { font-size: 28px; font-weight: 800; letter-spacing: -0.03em; color: var(--sw-text); margin: 0 36px 10px 0; line-height: 1.1; }
497  .sw-modal-sub { font-size: 16px; line-height: 1.55; color: var(--sw-muted); margin: 0 0 22px; overflow-wrap: anywhere; }
498  .sw-modal-label { display: block; font-size: 13px; font-weight: 700; color: var(--sw-text); margin: 0 0 6px; }
499  .sw-modal-input { width: 100%; font-family: inherit; font-size: 17px; color: var(--sw-text); padding: 14px 16px; min-height: 54px; border: 1.5px solid var(--sw-border); border-radius: 12px; background: #ffffff; margin-bottom: 14px; }
500  .sw-modal-input:focus { outline: none; border-color: var(--sw-orange); box-shadow: 0 0 0 4px rgba(231,152,61,0.22); }
501  .sw-modal-error { color: #b91c1c; font-size: 14px; margin: -6px 0 12px; }
502  .sw-modal-note { color: #10b981; font-size: 14px; margin: -6px 0 12px; }
503  .sw-modal .sw-btn { display: inline-flex; width: 100%; }
504  .sw-modal-reassure { font-size: 14px; font-weight: 600; color: var(--sw-text); text-align: center; margin: 14px 0 0; }
505  .sw-modal-small { font-size: 13px; color: var(--sw-muted-dark); margin: 12px 0 0; text-align: center; line-height: 1.5; }
506  .sw-modal-small a { color: var(--sw-muted); }
507  .sw-modal-links { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
508  .sw-link-btn { background: none; border: none; padding: 8px 4px; min-height: 44px; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 600; color: var(--sw-muted); text-decoration: underline; }
509  .sw-link-btn:hover { color: var(--sw-text); }
510  .sw-link-btn:disabled { color: var(--sw-muted-dark); text-decoration: none; cursor: default; }
511  .sw-otp { display: flex; gap: 8px; justify-content: space-between; margin: 0 0 16px; }
512  .sw-otp-box { flex: 1 1 0; min-width: 0; height: 58px; text-align: center; font-family: inherit; font-size: 24px; font-weight: 700; color: var(--sw-text); border: 1.5px solid var(--sw-border); border-radius: 12px; background: #ffffff; }
513  .sw-otp-box:focus { outline: none; border-color: var(--sw-orange); box-shadow: 0 0 0 4px rgba(231,152,61,0.22); }
514
515  /* ── Motion ── */
516  [data-sw-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .28s ease, transform .28s ease; }
517  [data-sw-reveal].in { opacity: 1; transform: none; }
518  @media (prefers-reduced-motion: reduce) {
519    [data-sw-reveal] { opacity: 1; transform: none; transition: none; }
520    .sw-sticky, .sw-faq-toggle::after, .sw-btn, .sw-btn-arrow, .sw-stores-row a { transition: none; }
521    .sw-comp-layer { transform: none; }
522    .sw-float-anim { animation: none; }
523  }
524`,It=new Set(["side-by-side-test","pricing","faq","see-it"]);function Dt(){n.useEffect(()=>{const t=window.location.hash.replace(/^#/,"");if(!It.has(t))return;let s=!1;const o=()=>{if(s)return;const r=document.getElementById(t);r&&r.scrollIntoView({block:"start"})},a=requestAnimationFrame(o),i=setTimeout(o,600);return()=>{s=!0,cancelAnimationFrame(a),clearTimeout(i)}},[])}function Pt(t){n.useEffect(()=>{const{seo:s}=t,o=document.title,a=[],i=(c,w,k,u)=>{let h=document.head.querySelector(c);if(h){const g=h,b=g.getAttribute("content")||"";a.push(()=>g.setAttribute("content",b))}else{h=document.createElement("meta"),h.setAttribute(w,k),document.head.appendChild(h);const g=h;a.push(()=>g.remove())}h.setAttribute("content",u)};document.title=s.title,i('meta[name="description"]',"name","description",s.description),i('meta[property="og:title"]',"property","og:title",s.ogTitle),i('meta[property="og:description"]',"property","og:description",s.description),i('meta[property="og:url"]',"property","og:url",s.canonical),i('meta[name="twitter:title"]',"name","twitter:title",s.ogTitle),i('meta[name="twitter:description"]',"name","twitter:description",s.description),i('meta[name="twitter:url"]',"name","twitter:url",s.canonical);let r=document.head.querySelector('link[rel="canonical"]');if(r){const c=r,w=c.getAttribute("href")||"https://www.askjeffy.ai/";a.push(()=>c.setAttribute("href",w))}else{r=document.createElement("link"),r.setAttribute("rel","canonical"),document.head.appendChild(r);const c=r;a.push(()=>c.remove())}return r.setAttribute("href",s.canonical),()=>{document.title=o,a.forEach(c=>c())}},[t])}function Ot(t){n.useEffect(()=>{const s=t.current;if(!s)return;const o=Array.from(s.querySelectorAll("[data-sw-reveal]"));if(!o.length)return;if(typeof IntersectionObserver>"u"){o.forEach(i=>
524i.classList.add("in"));return}const a=new IntersectionObserver(i=>{i.forEach(r=>{r.isIntersecting&&(r.target.classList.add("in"),a.unobserve(r.target))})},{rootMargin:"0px 0px -6% 0px",threshold:.06});return o.forEach(i=>a.observe(i)),()=>a.disconnect()},[t])}function Mt({funnel:t}){const s=be(),{isAuthenticated:o}=ye(),a=n.useRef(null),i=n.useRef(null),r=n.useRef(null),[c,w]=n.useState(!1),[k,u]=n.useState(!0),[h,g]=n.useState(!1),[b,v]=n.useState(null),S=n.useRef(!1);Pt(t),Dt(),Ot(a),n.useEffect(()=>{Fe(t.slug),J("funnel_view",{funnel:t.slug,competitor:t.competitorKey})},[t.slug,t.competitorKey]),n.useEffect(()=>{if(typeof IntersectionObserver>"u")return;const m=i.current,y=r.current,j=new IntersectionObserver($=>{$.forEach(C=>{C.target===m&&u(C.isIntersecting),C.target===y&&g(C.isIntersecting)})});return m&&j.observe(m),y&&j.observe(y),()=>j.disconnect()},[]);const f=n.useCallback(m=>{if(J("funnel_cta_click",{funnel:t.slug,cta_location:m}),o){s("/");return}w(!0)},[t.slug,o,s]),_=n.useCallback(m=>{J("funnel_demo_open",{funnel:t.slug,surface:m.surface}),v(m)},[t.slug]),L=n.useCallback(()=>v(null),[]),R=n.useCallback(()=>{v(null),f("live_demo")},[f]),E=o?t.cta.signedInLabel:t.cta.label,I=o?t.cta.signedInLabel:t.cta.stickyLabel,{letter:D,footer:z}=t,O=!k&&!h;return e.jsxs("div",{className:"sw-root",ref:a,children:[e.jsx("style",{children:qt}),e.jsxs("main",{children:[e.jsx(mt,{funnel:t,ctaLabel:E,onCta:()=>f("hero"),ctaRef:i,onOpenDemo:_,onDemoSignup:R,engagedRef:S}),e.jsx("section",{className:"sw-why","data-sw-reveal":!0,children:e.jsxs("div",{className:"sw-why-inner",children:[e.jsxs("div",{className:"sw-why-text",children:[e.jsx("h2",{className:"sw-h2",children:p(D.h2)}),e.jsx("div",{className:"sw-why-prose",children:D.paragraphs.map((m,y)=>e.jsx("p",{children:p(m)},y))})]}),e.jsx("ol",{className:"sw-why-strip","aria-label":"The three steps",children:D.strip.map((m,y)=>e.jsxs("li",{className:"sw-why-step",children:[e.jsxs("span",{className:"sw-why-icon","aria-hidden":"true",children:[y===0&&e.jsxs("svg",{viewBox:"0 0 24 24",children:[e.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"3"}),e.jsx("path",{d:"M3 10h18"})]}),y===1&&e.jsxs("svg",{viewBox:"0 0 24 24",children:[e.jsx("rect",{x:"2",y:"5",width:"9",height:"14",rx:"2.5"}),e.jsx("rect",{x:"13",y:"5",width:"9",height:"14",rx:"2.5"}),e.jsx("path",{d:"M17.5 9.5v5M15 12h5"})]}),y===2&&e.jsx("svg",{viewBox:"0 0 24 24",children:e.jsx("path",{d:"M5 12.5l4.5 4.5L19 7.5"})})]}),e.jsx("span",{className:"sw-why-step-label",children:p(m)})]},m))})]})}),e.jsx(ht,{funnel:t,ctaLabel:E,onCta:()=>f("problem"),onOpenDemo:_}),e.jsx(yt,{funnel:t,onOpenDemo:_}),e.jsx(vt,{funnel:t}),e.jsx(xt,{funnel:t,ctaLabel:E,onCta:()=>f("test")}),e.jsx(St,{funnel:t}),e.jsx(Et,{funnel:t,ctaLabel:E,onCta:()=>f("price")}),e.jsx(Lt,{funnel:t}),e.jsx(Rt,{funnel:t,ctaLabel:E,onCta:()=>f("final"),onOpenDemo:_,sectionRef:r})]}),e.jsx("footer",{className:"sw-footer",children:e.jsxs("div",{className:"sw-footer-inner",children:[e.jsxs("div",{className:"sw-footer-links",children:[e.jsx("a",{href:"/terms",children:"Terms"}),e.jsx("a",{href:"/privacy",children:"Privacy"}),e.jsx("a",{href:z.pricingPostHref,children:z.pricingPostLabel})]}),e.jsxs("p",{className:"sw-footer-copy",children:["© ",new Date().getFullYear()," AskJeffy AI. All rights reserved."]}),e.jsx("p",{className:"sw-footer-tm",children:p(z.trademarkLine)})]})}),e.jsx("div",{className:`sw-sticky${O?" sw-sticky-on":""}`,"aria-hidden":!O,children:e.jsx(Ee,{label:I,onClick:()=>f("sticky"),className:"sw-btn-block",tabIndex:O?0:-1})}),e.jsx(dt,{request:b,onClose:L,onSignup:R,funnel:t.slug,engagedRef:S}),e.jsx(Qe,{open:c,onClose:()=>w(!1),funnel:t})]})}const $t=[800,1600,2400],ae=(t,s,o,a,i=$t)=>({name:t,width:s,height:o,alt:a,widths:i}),Ht=[],Jt="Free account with just your email. Explore every tool on sample data straight away. Start the 3-day trial when you want to run your own products. Card required for the trial, and if you cancel before it ends you are not charged.",Oe="2026-09-29";function Wt(t){const[s,o,a]=t.split("-").map(Number);return new Date(Date.UTC(s,o-1,a)).toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"})}const Yt=[{q:"How much does AskJeffy cost compared with Helium 10?",a:`AskJeffy has two plans: Seller Starter at $49 a month and FBA Pro at $99 a month, with every tool on both. Helium 10's published pricing lists Platinum at $129 a month and Diamond at $359 a month when billed monthly (checked ${Wt(Oe)}; check their site for current prices). You can start AskJeffy free with just your email, and Seller Starter has a 3-day trial.`},{q:"What is the main difference between AskJeffy and Helium 10?",a:"Both give you Amazon research data. AskJeffy is built around Jeffy, an AI mentor connected to live product, keyword and review data, so you can ask what the numbers mean for your decision and what to check next. AskJeffy does not do advertising management or inventory management. The simplest way to judge the difference is to run the same research through both."},{q:"Do I have to cancel Helium 10 first?",a:"No. That is the whole point. Keep it running while you compare."},{q:"Do I need to talk to anyone?",a:"No calls, no demos, no sales team. Create an account and use it."},{q:"Is it really free to start?",a:"Yes. A free account needs only your email and opens every tool on sample data. When you want to run your own products, start the 3-day trial of Seller Starter. The trial needs a card, and if you cancel before it ends you are not charged."},{q:"Can I test it on my own products?",a:"Yes, on the 3-day trial, which unlocks your own products, keywords and markets."},{q:"What if I still prefer Helium 10?",a:"Keep it. Cancel your AskJeffy trial from your account settings before it ends and you will not be charged."},{q:"Is AskJeffy a full Helium 10 replacement?",a:"It depends on what you use Helium 10 for. AskJeffy covers product research, keyword research, market analysis, review anal
524ysis, listing creation, profit planning and tracking, with Jeffy across all of it. It does not do advertising management or inventory management, so if you rely on Helium 10 for those, keep it for them. That is exactly why we suggest running both first."},{q:"Does it work on my phone?",a:"Yes. There are iPhone, iPad and Android apps, plus Chrome, Edge and Firefox extensions, all on the same account."},{q:"How is Jeffy different from ChatGPT?",a:"ChatGPT has no idea what is selling on Amazon right now. Jeffy is connected to live product, keyword and review data, so the answer about a market is built from real numbers for that market."},{q:"Is AskJeffy affiliated with Helium 10?",a:"No. AskJeffy is independent and not affiliated with or endorsed by Helium 10."}],Kt={slug:"helium-10",competitorKey:"helium10",competitorName:"Helium 10",captureSource:"h10-switch-funnel",path:"/helium-10-alternative",competitorPricingCheckedOn:Oe,seo:{title:"Helium 10 Alternative: Try AskJeffy Before You Cancel",description:"Already paying for Helium 10? Keep it. Test AskJeffy side by side, with an AI mentor that explains what the numbers mean. Plans from $49/mo. Start free.",canonical:"https://www.askjeffy.ai/helium-10-alternative",ogTitle:"Already paying for Helium 10? Don't cancel it yet.",breadcrumbName:"Helium 10 Alternative"},cta:{label:"Try AskJeffy free alongside Helium 10",reassure:"Start with just your email. Keep Helium 10 while you compare.",trialNote:"Your own products unlock on the 3-day trial. Card required, and if you cancel before it ends you pay nothing.",signedInLabel:"Open AskJeffy",stickyLabel:"Try AskJeffy free",microcopy:Jt},hero:{eyebrow:"Considering a Helium 10 alternative?",seoEyebrow:"The Helium 10 alternative you can test before you switch",h1:"Already paying for Helium 10? Don't cancel it yet.",h1Lines:["Already paying for Helium 10?","Don't cancel it yet."],subline:"Keep your current setup. Try AskJeffy alongside it, then decide which one earns its place in your workflow.",proofLine:"Web, iPhone, iPad, Android, Chrome, Edge and Firefox. One account.",surfaceStrip:"Web app, iPhone, iPad, Android, plus Chrome, Edge and Firefox extensions. One account.",composition:{main:ae("review-intelligence-main",2361,1160,"AskJeffy Review Intelligence for the demo product, Silicone Ice Cube Trays with Lid by ArcticMold: 190 reviews, 4.5 rating, sentiment score, review count and rating distribution"),layers:[]},jeffyOverlay:null},liveDemo:{startRoute:"/demo/reviews",poster:ae("demo-poster",2400,1372,"The AskJeffy live demo on sample data, open on Review Intelligence for the ArcticMold Silicone Ice Cube Trays: product header, sentiment score and rating distribution"),mobileStill:ae("review-intelligence-main",2361,1160,"The AskJeffy live demo on sample data: Review Intelligence for the ArcticMold Silicone Ice Cube Trays, showing the product header, sentiment score and rating distribution"),caption:"This is the real AskJeffy running on sample data. Click through every tool."},letter:{h2:"Why would we tell you to keep Helium 10?",paragraphs:["Because switching software should not be a leap of faith.","You have built a workflow. You know where everything is. Cancelling it on the strength of a comparison page would be a strange decision, and we are not going to ask you to make it.","So keep Helium 10 exactly as it is. Put AskJeffy next to it. Run the same product, the same keyword, the same market through both.","If Helium 10 still serves you better, keep it. You have lost nothing. If AskJeffy helps you decide faster and with more confidence, you will see it on your own research."],strip:["Keep Helium 10","Add AskJeffy","Decide"]},turningPoint:{seoH2:"You don't need more numbers. You need to know what they mean.",statementLines:["You already have the numbers.","The problem is knowing what they mean."],body:["Search volume. Revenue estimates. Competition. Reviews. Rank.","More data is not automatically a better decision.","AskJeffy puts the research and Jeffy in the same place, so you can ask about the decision you are actually trying to make."],mechanism:[{label:"Data",caption:"The numbers for the product or keyword."},{label:"Context",caption:"How they compare with the rest of page one."},{label:"Jeffy's read",caption:"A plain-English answer built from those numbers."},{label:"Your decision",caption:"What you do next."}],jeffyChatImage:ae("askjeffy-chat",2400,2470,"AskJeffy chat panel open beside a Product Overview, answering what customers like and dislike about a cat window perch"),jeffyChatConfirmed:!1},problem:{h2:"You don't need more numbers. You need to know what they mean.",intro:["Seller tools are very good at producing data. Search volume. Sales estimates. Review counts. Rank. Column after column.","But the numbers were never the goal. The goal is a decision:"],questions:["Is this market worth entering?","Can I realistically rank for this keyword?","What would I have to do better than the sellers already there?","What should I look at next?"],outro:"Getting from a screen of figures to a confident answer is the part most tools leave to you. It is the part AskJeffy was built for."},demo:{h2:"Same question. A different kind of answer.",panels:[{title:"What does this product actually look like as an opportunity?",caption:"One product with its revenue and rank, then the market around it: what page one earns every month for the keyword, the daily s
524ales it takes to hold a spot there, and how many reviews the typical listing has.",composition:"opportunity",demoRoute:"/demo/opportunity?preset=high_kro"},{title:"Where is the money, and what would it take to get it?",caption:"Every keyword around the product with monthly searches and what a click costs, so you can see where demand sits before you commit.",composition:"money",demoRoute:"/demo/keywords/finder"},{title:"What are buyers unhappy about that nobody has fixed?",caption:"The themes buyers praise and the ones they complain about, grouped across the reviews with how often each comes up.",composition:"themes",demoRoute:"/demo/reviews"}]},test:{h2:"The side-by-side test",lead:"It takes one piece of research you were going to do anyway.",steps:[{title:"Pick something real",body:"A product you are weighing up, a keyword you are chasing, or a market you are unsure about."},{title:"Run it the way you always do",body:"In Helium 10, exactly as you normally would."},{title:"Run the same thing in AskJeffy",body:"Then ask Jeffy what it means for you and what to check next."},{title:"Decide",body:"Keep whichever one helped you more. Or keep both. Your call."}],note:"Your free account opens on sample data so you can learn the tools straight away. To run your own products and keywords, start the 3-day trial from inside the app."},offer:{label:"The offer",h2:"The side-by-side test",subheading:"Don't switch. Compare.",steps:["Keep Helium 10 open.","Open AskJeffy alongside it.","Run the research you are already doing.","Ask Jeffy what the data means.","Keep whichever one earns its place."],note:"Your free account opens on sample data so you can learn the tools straight away. Your own products and keywords unlock on the 3-day trial.",visual:{skeletonLabel:"Your current tool",skeletonLabelShort:"Current tool",appLabel:"AskJeffy",productLabel:"silicone ice cube trays",caption:"Same research. Both open. You decide."}},comparison:{h2:"Five questions every product decision comes down to",columns:["The question","The usual way","How AskJeffy approaches it"],rows:[{question:"How big is this market, really?",usualWay:"Add up sales estimates across the listings and judge the size yourself.",askjeffyWay:"KRO totals the monthly revenue page one earns, so the size of the prize is one number."},{question:"Can I realistically rank for this keyword?",usualWay:"Compare competitors' reviews and sales and make a judgement call.",askjeffyWay:"ROPO estimates the daily sales you would need to hold a page one spot."},{question:"What are buyers unhappy about?",usualWay:"Read through reviews listing by listing.",askjeffyWay:"Review Intelligence groups complaints and unmet needs across the reviews."},{question:"What do these numbers mean for me?",usualWay:"Interpret the dashboard yourself.",askjeffyWay:"Ask Jeffy. The answer is built from the numbers on your screen."},{question:"What should I check next?",usualWay:"Decide which tool to open next.",askjeffyWay:"Jeffy points you to the next thing worth checking."}],footnote:'"A typical research workflow" describes a common manual process, not any specific product.'},price:{h2:"What the test costs you",stats:[{value:"$0",label:"to create your account",note:"Email only."},{value:"$0",label:"for 3 days of Seller Starter",note:"Card required. Cancel before it ends and you pay nothing."},{value:"$49",label:"a month if it earns its place",note:"FBA Pro is $99 a month. Every tool on both plans."}],competitorReference:"For reference, Helium 10's published pricing lists Platinum at $129 a month billed monthly ($99 billed annually) and Diamond at $359 a month billed monthly ($279 billed annually).",competitorCheckedLine:"From Helium 10's published pricing, checked 29 September 2026. Prices change, so check theirs before you decide.",closing:"If AskJeffy replaces your current tool, that is the saving. If it doesn't, finding out cost you nothing."},proof:{h2:"Sellers who have already made the comparison",reviews:Ht,storeBadgesLabel:"Live on every platform you work from",exchangeH2:"Don't take our word for it.",exchangeLabels:["Research this","Then ask this","Jeffy responds"],exchangeClosing:"That is the difference we are asking you to compare.",jeffyExchange:null},faq:{h2:"Helium 10 alternative: your questions",items:Yt},final:{h2:"You don't have to decide about Helium 10 today.",paragraphs:["You only need to decide whether AskJeffy is worth comparing.","Keep what you are already using. Open AskJeffy beside it. Run your real research through both.","Then make your own decision."]},modal:{emailHeading:"Start your side-by-side test",emailSub:"Enter your email and we will send you a 6-digit code. No password needed.",emailLabel:"Email",emailButton:"Send my code",emailSmallPrint:"By continuing you agree to our Terms and Privacy Policy.",codeHeading:"Check your inbox",codeSub:"Enter the 6-digit code we sent to {email}.",resendLabel:"Send it again",changeEmailLabel:"Use a different email"},footer:{pricingPostHref:"/blog/helium-10-pricing-2026",pricingPostLabel:"Helium 10 pricing explained",trademarkLine:"Helium 10 is a trademark of its owner. AskJeffy is not affiliated with or endorsed by Helium 10."},offers:[{name:"Seller Starter",price:"49.00",priceCurrency:"USD"},{name:"FBA Pro",price:"99.00",priceCurrency:"USD"}]};function Ut(){return e.jsx(Mt,{funnel:Kt})}export{Ut 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.