1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/analytics-DDcbFY1M.js","assets/hero-CFBz0Kqk.js","assets/rolldown-runtime-DF2fYuay.js"])))=>i.map(i=>d[i]); 2import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{a as t,c as n,d as r,f as i,i as a,l as o,n as s,o as c,p as l,r as u,s as d,t as f,u as p}from"./hero-CFBz0Kqk.js";import{a as m,i as h,n as g,o as _,r as v,t as ee}from"./react-vendor-COxQ7F0O.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var te=m(),y=e(l(),1);function ne(){let e=h();return(0,y.useEffect)(()=>{let t=`${e.pathname||`/`}${e.search||``}${e.hash||``}`;i(()=>import(`./analytics-DDcbFY1M.js`).then(e=>e.trackPageView(t)),__vite__mapDeps([0,1,2]))},[e.pathname,e.search,e.hash]),null}var b=t(`ArrowRight`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),re=t(`GitPullRequest`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),ie=t(`Layers`,[[`path`,{d:`m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`,key:`8b97xw`}],[`path`,{d:`m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65`,key:`dd6zsq`}],[`path`,{d:`m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65`,key:`ep9fru`}]]),ae=t(`Menu`,[[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`,key:`1e0a9i`}],[`line`,{x1:`4`,x2:`20`,y1:`6`,y2:`6`,key:`1owob3`}],[`line`,{x1:`4`,x2:`20`,y1:`18`,y2:`18`,key:`yk5zj1`}]]),oe=t(`Play`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]),x=t(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),se=t(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),ce=t(`Zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),S=n(),C=()=>{let[e,t]=(0,y.useState)(!1),[n,r]=(0,y.useState)(!1),i=h().pathname===`/`;(0,y.useEffect)(()=>{let e=()=>r(window.scrollY>20);return e(),window.addEventListener(`scroll`,e,{passive:!0}),()=>window.removeEventListener(`scroll`,e)},[]);let a=[{label:`Product`,href:`#product`,type:`hash`},{label:`Pricing`,href:`/pricing`,type:`route`}],o=e=>typeof e==`string`?i?e:`/${e}`:e.type===`route`||i?e.href:`/${e.href}`,s=()=>{i&&window.requestAnimationFrame(()=>{document.querySelector(`#waitlist-email`)?.focus({preventScroll:!0})})};return(0,S.jsxs)(`nav`,{className:`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ${n?`bg-background/60 backdrop-blur-2xl border-b border-border/20`:`bg-transparent border-b border-transparent`}`,children:[(0,S.jsxs)(`div`,{className:`container-wide flex items-center justify-between h-16`,children:[(0,S.jsx)(`a`,{href:`/`,className:`flex items-center gap-2`,children:(0,S.jsxs)(`span`,{className:`text-xl font-bold tracking-tight shimmer-text`,style:{fontFamily:`'Clash Display', 'Lexend', system-ui, sans-serif`},children:[`Ant`,(0,S.jsx)(`span`,{children:`Atlas`})]})}),(0,S.jsx)(`div`,{className:`hidden items-center gap-8`,children:a.map(e=>(0,S.jsx)(`a`,{href:o(e),className:`text-[13px] font-medium text-muted-foreground/80 hover:text-foreground transition-colors duration-200 uppercase tracking-[0.08em]`,children:e.label},e.label))}),(0,S.jsx)(`div`,{className:`hidden md:flex items-center gap-3`,children:(0,S.jsx)(c,{variant:`accent`,
2size:`sm`,asChild:!0,children:(0,S.jsx)(`a`,{href:o(`#waitlist`),onClick:s,children:`Book a demo`})})}),(0,S.jsx)(`button`,{className:`md:hidden p-2 text-muted-foreground`,onClick:()=>t(!e),"aria-label":`Toggle menu`,children:e?(0,S.jsx)(se,{className:`h-5 w-5`}):(0,S.jsx)(ae,{className:`h-5 w-5`})})]}),e&&(0,S.jsx)(`div`,{className:`md:hidden bg-background/90 backdrop-blur-2xl border-b border-border/20 px-6 pb-6 animate-fade-in`,children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-4 pt-2`,children:[a.map(e=>(0,S.jsx)(`a`,{href:o(e),className:`hidden text-sm font-medium text-muted-foreground/80 hover:text-foreground uppercase tracking-[0.08em]`,onClick:()=>t(!1),children:e.label},e.label)),(0,S.jsx)(`div`,{className:`flex gap-3 pt-4`,children:(0,S.jsx)(c,{variant:`accent`,className:`flex-1`,asChild:!0,children:(0,S.jsx)(`a`,{href:o(`#waitlist`),onClick:()=>{t(!1),s()},children:`Book a demo`})})})]})})]})},le=180,w=()=>{let e=(0,y.useRef)(null),[t,n]=(0,y.useState)(!0);return(0,y.useEffect)(()=>{let e=()=>n(document.documentElement.classList.contains(`dark`));e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()},[]),(0,y.useEffect)(()=>{let n=e.current;if(!n)return;let r=n.getContext(`2d`);if(!r)return;let i=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,a=[],o=()=>{n.width=window.innerWidth,n.height=document.documentElement.scrollHeight};o();for(let e=0;e<le;e++)a.push({x:Math.random()*n.width,y:Math.random()*n.height,r:Math.random()*1.2+.3,opacity:Math.random()*.6+.2,speed:Math.random()*.3+.1,phase:Math.random()*Math.PI*2});let s=()=>{r.clearRect(0,0,n.width,n.height);for(let e of a){let n=t?e.opacity:e.opacity*.18;r.beginPath(),r.arc(e.x,e.y,e.r,0,Math.PI*2),r.fillStyle=t?`rgba(255,255,255,${n})`:`rgba(0,0,0,${n})`,r.fill()}};if(i)return s(),window.addEventListener(`resize`,o),()=>window.removeEventListener(`resize`,o);let c=0,l=e=>{r.clearRect(0,0,n.width,n.height);for(let n of a){let i=Math.sin(e*.001*n.speed+n.phase)*.3+.7,a=t?n.opacity:n.opacity*.18;r.beginPath(),r.arc(n.x,n.y,n.r,0,Math.PI*2),r.fillStyle=t?`rgba(255,255,255,${a*i})`:`rgba(0,0,0,${a*i})`,r.fill()}c=requestAnimationFrame(l)},u=()=>{c===0&&(c=requestAnimationFrame(l))},d=()=>{c!==0&&(cancelAnimationFrame(c),c=0)},f=()=>{document.hidden?d():u()};return u(),window.addEventListener(`resize`,o),document.addEventListener(`visibilitychange`,f),()=>{d(),window.removeEventListener(`resize`,o),document.removeEventListener(`visibilitychange`,f)}},[t]),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`pointer-events-none fixed inset-0 z-0`,"aria-hidden":`true`,children:[(0,S.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 w-[900px] h-[600px] rounded-full blur-[120px]`,style:{opacity:t?.3:.12,background:t?`radial-gradient(ellipse at center, hsla(16,85%,45%,0.4) 0%, hsla(16,85%,30%,0.15) 40%, transparent 70%)`:`radial-gradient(ellipse at center, hsla(16,85%,55%,0.2) 0%, hsla(16,85%,50%,0.06) 40%, transparent 70%)`}}),(0,S.jsx)(`div`,{className:`absolute top-[20%] right-[10%] w-[400px] h-[400px] rounded-full blur-[100px]`,style:{opacity:t?.15:.08,background:t?`radial-gradient(ellipse at center, hsla(220,80%,50%,0.3) 0%, transparent 70%)`:`radial-gradient(ellipse at center, hsla(220,70%,60%,0.15) 0%, transparent 70%)`}})]}),(0,S.jsx)(`canvas`,{ref:e,className:`pointer-events-none fixed inset-0 z-0`,"aria-hidden":`true`})]})},ue=[{icon:ie,title:`Evidence-backed Feature Models`,subtitle:`See how a feature actually works across code, state, contracts, dependencies, and tests, not just where its files live.`,bullets:[`Feature Flows capture execution paths, branches, side effects, and system boundaries.`,`Every meaningful fact stays anchored to a source file, symbol, and commit.`,`Explicit constraints and confidence make the model inspectable instead of magical.`],mockLabel:`Scheduled Tasks · 8 execution flows · 130 source-backed connections`,accent:!0},{icon:re,title:`Cross-repository Feature Trails`,subtitle:`Follow behavior across services and repositories, even where no call graph can connect the pieces for you.`,bullets:[`Feature Trails connect independently deployed services into one understandable path.`,`Cross-repository links are verified on both sides of every boundary.`,`Unknown and private parts of a flow stay visible instead of being guessed away.`],mockLabel:`Follow a transaction from ingestion to storage across all your repositories, with every service handoff linked to source.`,accent:!1},{icon:x,title:`Task-specific AI Context`,subtitle:`Turn each engineering task into the smallest relevant slice of the system, backed by the source it came from.`,bullets:[`Resolve the relevant feature, flow, conditions, dependencies, and tests.`,`Reduce repeated repository exploration without hiding critical context.`,`Keep existing coding agents in the loop. AntAtlas provides understanding, not another agent.`],mockLabel:`Task â relevant subgraph â evidence-backed AI context`,accent:!1}],de=()=>(0,S.jsx)(`section`,{className:`section-padding`,id:`product`,children:(0,S.jsxs)(`div`,{className:`container-wide`,children:[(0,S.jsxs)(`div`,{className:`text-center max-w-2xl mx-auto mb-16`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-3`,children:`Product`}),(0,S.jsx)(`h2`,{className:`heading-lg mb-4`,children:`One live model. The right context for every task.`}),(0,S.jsx)(`p`,{className:`body-md text-muted-foreground`,children:`AntAtlas maps how your system works, keeps every connection tied to source, and g
2ives coding agents only what matters now.`})]}),(0,S.jsx)(`div`,{className:`space-y-20`,children:ue.map((e,t)=>(0,S.jsxs)(`div`,{className:`flex flex-col lg:flex-row items-center gap-10 lg:gap-16 ${t%2==1?`lg:flex-row-reverse`:``}`,children:[(0,S.jsxs)(`div`,{className:`flex-1 max-w-lg`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,S.jsx)(`div`,{className:`p-2.5 rounded-lg ${e.accent?`bg-accent/10 text-accent neon-glow-accent`:`bg-secondary text-foreground neon-glow-blue`}`,children:(0,S.jsx)(e.icon,{className:`h-5 w-5 ${e.accent?`drop-shadow-[0_0_6px_hsl(16_85%_56%/0.5)]`:`drop-shadow-[0_0_6px_hsl(220_80%_60%/0.4)]`}`})}),(0,S.jsx)(`h3`,{className:`heading-md`,children:e.title})]}),(0,S.jsx)(`p`,{className:`body-md text-muted-foreground mb-5`,children:e.subtitle}),(0,S.jsx)(`ul`,{className:`space-y-3`,children:e.bullets.map(e=>(0,S.jsxs)(`li`,{className:`flex items-start gap-3 text-sm leading-relaxed`,children:[(0,S.jsx)(`span`,{className:`mt-1.5 w-1.5 h-1.5 rounded-full bg-accent shrink-0 neon-dot`}),e]},e))})]}),(0,S.jsx)(`div`,{className:`flex-1 w-full`,children:(0,S.jsxs)(`div`,{className:`surface-card p-8 md:p-10 min-h-[240px] flex flex-col items-center justify-center text-center neon-border-accent hover:neon-glow-accent transition-shadow duration-500`,children:[(0,S.jsxs)(`div`,{className:`flex gap-2 mb-4`,children:[(0,S.jsx)(ie,{className:`h-4 w-4 text-muted-foreground`}),(0,S.jsx)(re,{className:`h-4 w-4 text-muted-foreground`}),(0,S.jsx)(x,{className:`h-4 w-4 text-muted-foreground`})]}),(0,S.jsx)(`p`,{className:`text-sm text-muted-foreground font-mono`,children:e.mockLabel})]})})]},e.title))}),(0,S.jsxs)(`div`,{className:`mt-20 text-center surface-card p-8 max-w-2xl mx-auto`,children:[(0,S.jsx)(`p`,{className:`text-sm font-semibold mb-2`,children:`Built for the agents you already use`}),(0,S.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`AntAtlas is the live system context layer. Your coding agent still does the work, whether that is`,` `,(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Claude Code`}),`, `,(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Cursor`}),`,`,` `,(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Codex`}),`, or another agent in your workflow.`]})]})]})}),T=`pmtDG4j1LgA`,E=`AntAtlas â Catch Confluence docs that lie about your code (2 min walkthrough)`,fe=()=>{let[e,t]=(0,y.useState)(!1);return(0,S.jsxs)(`section`,{className:`hidden section-padding`,id:`freshness-preview`,children:[(0,S.jsxs)(`div`,{className:`container-wide`,children:[(0,S.jsxs)(`div`,{className:`text-center max-w-2xl mx-auto mb-12`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-3`,children:`See it work`}),(0,S.jsx)(`h2`,{className:`heading-lg mb-4`,children:`2 minutes on the actual product.`}),(0,S.jsx)(`p`,{className:`body-md text-muted-foreground`,children:`Founder walkthrough of stale-doc detection, commit attribution, and approve-to-publish on real GitHub + Confluence data. Click to play.`})]}),(0,S.jsx)(`figure`,{className:`relative max-w-5xl mx-auto animate-fade-in-up`,children:(0,S.jsxs)(`div`,{className:`relative rounded-xl overflow-hidden border border-border/60 bg-surface-elevated neon-glow-accent`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-1.5 px-4 py-2.5 border-b border-border/60 bg-surface-subtle`,children:[(0,S.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full bg-destructive/60`}),(0,S.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full bg-warning/60`}),(0,S.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full bg-success/60`})]}),(0,S.jsx)(`div`,{className:`relative aspect-video bg-black`,children:e?(0,S.jsx)(`iframe`,{className:`absolute inset-0 w-full h-full`,src:`https://www.youtube-nocookie.com/embed/${T}
2?autoplay=1&rel=0&modestbranding=1`,title:E,loading:`lazy`,allow:`autoplay; encrypted-media; picture-in-picture`,allowFullScreen:!0}):(0,S.jsxs)(`button`,{type:`button`,onClick:()=>t(!0),className:`absolute inset-0 w-full h-full group block bg-cover bg-center`,style:{backgroundImage:`url(https://img.youtube.com/vi/${T}/maxresdefault.jpg)`},"aria-label":`Play: ${E}`,children:[(0,S.jsx)(`span`,{className:`absolute inset-0 bg-black/30 group-hover:bg-black/15 transition-colors`}),(0,S.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,S.jsx)(`span`,{className:`relative w-20 h-20 md:w-24 md:h-24 rounded-full bg-accent text-accent-foreground flex items-center justify-center shadow-[0_0_40px_hsl(var(--neon-accent)/0.5)] group-hover:scale-110 group-hover:shadow-[0_0_60px_hsl(var(--neon-accent)/0.7)] transition-all duration-300`,children:(0,S.jsx)(oe,{className:`w-9 h-9 md:w-10 md:h-10 ml-1.5`,fill:`currentColor`})})}),(0,S.jsx)(`span`,{className:`absolute bottom-4 right-4 px-3 py-1.5 rounded-md bg-black/70 backdrop-blur-sm text-white text-xs font-semibold tracking-wide`,children:`2:00 · founder walkthrough`})]})})]})})]}),(0,S.jsx)(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":`https://schema.org`,"@type":`VideoObject`,name:E,description:`Founder walkthrough of the first AntAtlas pilot version. Shows stale-doc detection with commit attribution, AI-suggested diff, human review queue, coverage gaps, and the full sync loop on real GitHub + Confluence data.`,thumbnailUrl:`https://img.youtube.com/vi/${T}/maxresdefault.jpg`,uploadDate:`2026-06-01`,duration:`PT2M`,embedUrl:`https://www.youtube-nocookie.com/embed/${T}`,contentUrl:`https://www.youtube.com/watch?v=${T}`,publisher:{"@type":`Organization`,name:`AntAtlas`,url:`https://antatlas.ai`}})}})]})},pe=[{name:`Design Partner`,price:`$0`,period:`4 weeks`,note:`Free pilot`},{name:`Team`,price:`$390`,period:`/mo`,note:`â¤25 engineers`},{name:`Business`,price:`$1,490`,period:`/mo`,note:`25-100 engineers`},{name:`Enterprise`,price:`$4,500+`,period:`/mo`,note:`100+ engineers, SOC 2`}],me=()=>(0,S.jsx)(`section`,{className:`hidden section-padding`,id:`pricing-teaser`,children:(0,S.jsxs)(`div`,{className:`container-wide`,children:[(0,S.jsxs)(`div`,{className:`text-center max-w-2xl mx-auto mb-12`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-3`,children:`Pricing`}),(0,S.jsx)(`h2`,{className:`heading-lg mb-4`,children:`Free for 4 weeks. Then your team picks a tier.`}),(0,S.jsx)(`p`,{className:`body-md text-muted-foreground`,children:`Pricing scales with engineers and repos, not seats. You're not penalized for adding readers.`})]}),(0,S.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-4 max-w-5xl mx-auto mb-10`,children:pe.map(e=>(0,S.jsxs)(`div`,{className:`surface-card p-5 text-center`,children:[(0,S.jsx)(`p`,{className:`text-sm font-semibold mb-2`,children:e.name}),(0,S.jsxs)(`div`,{className:`flex items-baseline justify-center gap-1 mb-2`,children:[(0,S.jsx)(`span`,{className:`text-2xl font-bold`,children:e.price}),(0,S.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.period})]}),(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.note})]},e.name))}),(0,S.jsxs)(`div`,{className:`text-center space-y-3`,children:[(0,S.jsx)(c,{variant:`outline`,asChild:!0,children:(0,S.jsxs)(`a`,{href:`/pricing`,children:[`See full pricing`,(0,S.jsx)(b,{className:`ml-1.5 h-3.5 w-3.5`})]})}),(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`YC alumni: 50% off Team for the first 12 months.`})]})]})});function D(e,t=[]){let n=[];function r(t,r){let i=y.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=y.useMemo(()=>o,Object.values(o));return(0,S.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=y.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>y.createContext(e));return function(n){let r=n?.[e]||t;return y.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,he(i,...t)]}function he(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}
2function O(e){let t=ge(e),n=y.forwardRef((e,n)=>{let{children:r,...i}=e,a=y.Children.toArray(r),o=a.find(ve);if(o){let e=o.props.children,r=a.map(t=>t===o?y.Children.count(e)>1?y.Children.only(null):y.isValidElement(e)?e.props.children:null:t);return(0,S.jsx)(t,{...i,ref:n,children:y.isValidElement(e)?y.cloneElement(e,void 0,r):null})}return(0,S.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function ge(e){let t=y.forwardRef((e,t)=>{let{children:n,...r}=e;if(y.isValidElement(n)){let e=be(n),i=ye(r,n.props);return n.type!==y.Fragment&&(i.ref=t?o(t,e):e),y.cloneElement(n,i)}return y.Children.count(n)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var _e=Symbol(`radix.slottable`);function ve(e){return y.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===_e}function ye(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function be(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function xe(e){let t=e+`CollectionProvider`,[n,r]=D(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=y.useRef(null),a=y.useRef(new Map).current;return(0,S.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=O(s),l=y.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,S.jsx)(c,{ref:p(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=O(u),m=y.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=y.useRef(null),s=p(t,o),c=a(u,n);return y.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,S.jsx)(f,{[d]:``,ref:s,children:r})});m.displayName=u;function h(t){let n=a(e+`CollectionConsumer`,t);return y.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:m},h,r]}typeof window<`u`&&window.document&&window.document.createElement;function Se(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var k=globalThis?.document?y.useLayoutEffect:()=>{},Ce=y.useInsertionEffect||k;function A({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=we({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=y.useRef(e!==void 0);y.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,y.useCallback(t=>{if(s){let n=Te(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function we({defaultProp:e,onChange:t}){let[n,r]=y.useState(e),i=y.useRef(n),a=y.useRef(t);return Ce(()=>{a.current=t},[t]),y.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Te(e){return typeof e==`function`}_();function Ee(e){let t=De(e),n=y.forwardRef((e,n)=>{let{children:r,...i}=e,a=y.Children.toArray(r),o=a.find(ke);if(o){let e=o.props.children,r=a.map(t=>t===o?y.Children.count(e)>1?y.Children.only(null):y.isValidElement(e)?e.props.children:null:t);return(0,S.jsx)(t,{...i,ref:n,children:y.isValidElement(e)?y.cloneElement(e,void 0,r):null})}return(0,S.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function De(e){let t=y.forwardRef((e,t)=>{let{children:n,...r}=e;if(y.isValidElement(n)){let e=je(n),i=Ae(r,n.props);return n.type!==y.Fragment&&(i.ref=t?o(t,e):e),y.cloneElement(n,i)}return y.Children.count(n)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Oe=Symbol(`radix.slottable`);function ke(e){return y.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Oe}function Ae(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}
2:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function je(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var j=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Ee(`Primitive.${t}`),r=y.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,S.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Me(e,t){return y.useReducer((e,n)=>t[e][n]??e,e)}var Ne=e=>{let{present:t,children:n}=e,r=Pe(t),i=typeof n==`function`?n({present:r.isPresent}):y.Children.only(n),a=p(r.ref,Fe(i));return typeof n==`function`||r.isPresent?y.cloneElement(i,{ref:a}):null};Ne.displayName=`Presence`;function Pe(e){let[t,n]=y.useState(),r=y.useRef(null),i=y.useRef(e),a=y.useRef(`none`),[o,s]=Me(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return y.useEffect(()=>{let e=M(r.current);a.current=o===`mounted`?e:`none`},[o]),k(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=M(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),k(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=M(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=M(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:y.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function M(e){return e?.animationName||`none`}function Fe(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ie=y.useId||(()=>void 0),Le=0;function Re(e){let[t,n]=y.useState(Ie());return k(()=>{e||n(e=>e??String(Le++))},[e]),e||(t?`radix-${t}`:``)}var N=`Collapsible`,[ze,Be]=D(N),[Ve,P]=ze(N),He=y.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=A({prop:r,defaultProp:i??!1,onChange:o,caller:N});return(0,S.jsx)(Ve,{scope:n,disabled:a,contentId:Re(),open:c,onOpenToggle:y.useCallback(()=>l(e=>!e),[l]),children:(0,S.jsx)(j.div,{"data-state":R(c),"data-disabled":a?``:void 0,...s,ref:t})})});He.displayName=N;var Ue=`CollapsibleTrigger`,F=y.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=P(Ue,n);return(0,S.jsx)(j.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":R(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:Se(e.onClick,i.onOpenToggle)})});F.displayName=Ue;var I=`CollapsibleContent`,L=y.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=P(I,e.__scopeCollapsible);return(0,S.jsx)(Ne,{present:n||i.open,children:({present:e})=>(0,S.jsx)(We,{...r,ref:t,present:e})})});L.displayName=I;var We=y.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=P(I,n),[s,c]=y.useState(r),l=y.useRef(null),u=p(t,l),d=y.useRef(0),f=d.current,m=y.useRef(0),h=m.current,g=o.open||s,_=y.useRef(g),v=y.useRef(void 0);return y.useEffect(()=>{let e=requestAnimationFrame(()=>_.current=!1);return()=>cancelAnimationFrame(e)},[]),k(()=>{let e=l.current;if(e){v.current=v.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,m.current=t.width,_.current||(e.style.transitionDuration=v.current.transitionDuration,e.style.animationName=v.current.animationName),c(r)}},[o.open,r]),(0,S.jsx)(j.div,{"data-state":R(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!g,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...e.style},children:g&&i})});function R(e){return e?`open`:`closed`}var Ge=He,Ke=F,qe=L,Je=y.createContext(void 0);function Ye(e){let t=y.useContext(Je);return e||t||`ltr`}var z=`Accordion`,Xe=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[B,Ze,Qe]=xe(z),[V,$e]=D(z,[Qe,Be]),H=Be(),et=y.forwardRef((e,t)=>
2{let{type:n,...r}=e,i=r,a=r;return(0,S.jsx)(B.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,S.jsx)(ot,{...a,ref:t}):(0,S.jsx)(at,{...i,ref:t})})});et.displayName=z;var[tt,nt]=V(z),[rt,it]=V(z,{collapsible:!1}),at=y.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:a=!1,...o}=e,[s,c]=A({prop:n,defaultProp:r??``,onChange:i,caller:z});return(0,S.jsx)(tt,{scope:e.__scopeAccordion,value:y.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:y.useCallback(()=>a&&c(``),[a,c]),children:(0,S.jsx)(rt,{scope:e.__scopeAccordion,collapsible:a,children:(0,S.jsx)(ct,{...o,ref:t})})})}),ot=y.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=A({prop:n,defaultProp:r??[],onChange:i,caller:z}),c=y.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=y.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,S.jsx)(tt,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,S.jsx)(rt,{scope:e.__scopeAccordion,collapsible:!0,children:(0,S.jsx)(ct,{...a,ref:t})})})}),[st,U]=V(z),ct=y.forwardRef((e,t)=>{let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=p(y.useRef(null),t),c=Ze(n),l=Ye(i)===`ltr`,u=Se(e.onKeyDown,e=>{if(!Xe.includes(e.key))return;let t=e.target,n=c().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,u=()=>{o=r+1,o>s&&(o=0)},d=()=>{o=r-1,o<0&&(o=s)};switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(l?u():d());break;case`ArrowDown`:a===`vertical`&&u();break;case`ArrowLeft`:a===`horizontal`&&(l?d():u());break;case`ArrowUp`:a===`vertical`&&d();break}n[o%i].ref.current?.focus()});return(0,S.jsx)(st,{scope:n,disabled:r,direction:i,orientation:a,children:(0,S.jsx)(B.Slot,{scope:n,children:(0,S.jsx)(j.div,{...o,"data-orientation":a,ref:s,onKeyDown:r?void 0:u})})})}),W=`AccordionItem`,[lt,G]=V(W),ut=y.forwardRef((e,t)=>{let{__scopeAccordion:n,value:r,...i}=e,a=U(W,n),o=nt(W,n),s=H(n),c=Re(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,S.jsx)(lt,{scope:n,open:l,disabled:u,triggerId:c,children:(0,S.jsx)(Ge,{"data-orientation":a.orientation,"data-state":gt(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})});ut.displayName=W;var dt=`AccordionHeader`,ft=y.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=U(z,n),a=G(dt,n);return(0,S.jsx)(j.h3,{"data-orientation":i.orientation,"data-state":gt(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})});ft.displayName=dt;var K=`AccordionTrigger`,pt=y.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=U(z,n),a=G(K,n),o=it(K,n),s=H(n);return(0,S.jsx)(B.ItemSlot,{scope:n,children:(0,S.jsx)(Ke,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})});pt.displayName=K;var mt=`AccordionContent`,ht=y.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=U(z,n),a=G(mt,n),o=H(n);return(0,S.jsx)(qe,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})});ht.displayName=mt;function gt(e){return e?`open`:`closed`}var _t=et,vt=ut,yt=ft,bt=pt,xt=ht,St=_t,q=y.forwardRef(({className:e,...t},n)=>(0,S.jsx)(vt,{ref:n,className:d(`border-b`,e),...t}));q.displayName=`AccordionItem`;var J=y.forwardRef(({className:e,children:t,...n},r)=>(0,S.jsx)(yt,{className:`flex`,children:(0,S.jsxs)(bt,{ref:r,className:d(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180`,e),...n,children:[t,(0,S.jsx)(u,{className:`h-4 w-4 shrink-0 transition-transform duration-200`})]})}));J.displayName=bt.displayName;var Y=y.forwardRef(({className:e,children:t,...n},r)=>(0,S.jsx)(xt,{ref:r,className:`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,...n,children:(0,S.jsx)(`div`,{className:d(`pb-4 pt-0`,e),children:t})}));Y.displayName=xt.displayName;var Ct=[{q:`What is a live context layer?`,a:`It is a structured, source-backed model of how your software works. AntAtlas connects features, execution flows, c
2onditions, state, dependencies, contracts, and tests so an AI coding agent can start with system context instead of rebuilding it from scratch.`},{q:`How is AntAtlas different from code search or RAG?`,a:`Search retrieves files that match a query. AntAtlas models how a feature behaves and how its parts connect, including relationships that share no obvious keyword or direct call. The model becomes an index for selecting the right context for the task.`},{q:`Can it trace a feature across multiple repositories?`,a:`Yes. Feature Trails connect the parts of one behavior across services and repositories. Every cross-repository handoff is anchored on both sides, while private or unknown parts of a flow remain explicit instead of being guessed.`},{q:`How can an agent trust the context?`,a:`Meaningful facts are tied to evidence in the source: repository, commit, file, symbol, and location. Confidence and known gaps stay visible, so the agent can verify a claim before relying on it.`},{q:`Does AntAtlas replace our coding agent?`,a:`No. Claude Code, Cursor, Codex, or another coding agent still plans and implements the change. AntAtlas supplies the system understanding and task-specific context that agent would otherwise have to rediscover.`},{q:`Can teams share the same knowledge graph?`,a:`Yes. AntAtlas provides an MCP server that gives compatible AI tools and coding agents access to the same source-backed knowledge graph. Teams share one view of how the system works, so context discovered by one team can help every other team instead of staying trapped in separate tools or conversations.`},{q:`Does AntAtlas store our source code or repository data?`,a:`No. AntAtlas does not store your source code or repository data. Your system graphs are generated and stored on the client side, so your codebase stays under your control.`}],wt=()=>(0,S.jsx)(`section`,{className:`section-padding`,id:`faq`,children:(0,S.jsxs)(`div`,{className:`container-narrow`,children:[(0,S.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-3`,children:`FAQ`}),(0,S.jsx)(`h2`,{className:`heading-lg mb-4`,children:`Common questions`})]}),(0,S.jsx)(St,{type:`single`,collapsible:!0,className:`w-full`,children:Ct.map((e,t)=>(0,S.jsxs)(q,{value:`faq-${t}`,children:[(0,S.jsx)(J,{className:`text-left text-base font-semibold`,children:e.q}),(0,S.jsx)(Y,{className:`text-sm text-muted-foreground leading-relaxed`,children:e.a})]},t))})]})}),X=()=>(0,S.jsx)(`footer`,{children:(0,S.jsx)(`div`,{className:`border-t border-border/50`,children:(0,S.jsxs)(`div`,{className:`container-wide py-6 flex flex-col md:flex-row items-center justify-between gap-4 text-sm text-muted-foreground`,children:[(0,S.jsx)(`span`,{children:`© 2026 AntAtlas, Inc. All rights reserved.`}),(0,S.jsxs)(`div`,{className:`flex gap-6`,children:[(0,S.jsx)(`a`,{href:`/privacy`,className:`hover:text-foreground transition-colors`,children:`Privacy`}),(0,S.jsx)(`a`,{href:`/terms`,className:`hover:text-foreground transition-colors`,children:`Terms`})]})]})})}),Tt=()=>(0,S.jsxs)(`div`,{className:`min-h-dvh bg-background relative`,children:[(0,S.jsx)(`a`,{href:`#main-content`,className:`sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-[100] focus:rounded focus:bg-background focus:px-3 focus:py-2 focus:text-foreground focus:shadow-lg focus:ring-2 focus:ring-ring`,children:`Skip to main content`}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`relative z-10`,children:[(0,S.jsx)(C,{}),(0,S.jsxs)(`main`,{id:`main-content`,children:[(0,S.jsx)(f,{}),(0,S.jsx)(fe,{}),(0,S.jsx)(de,{}),(0,S.jsx)(me,{}),(0,S.jsx)(wt,{}),(0,S.jsx)(X,{})]})]})]}),Et=.15,Z=1490,Q=Math.round(Z*(1-Et)),Dt=Q*12,Ot=(Z-Q)*12,$=e=>`$${e.toLocaleString(`en-US`)}`,kt=[{name:`Design Partner`,price:`$0`,period:`for 4 weeks`,description:`First 3-5 pilots. Free, time-bounded. Post-pilot price named upfront in the agreement.`,features:[`Full product access during pilot`,`Direct founder support`,`4-week scope, success metric defined upfront`,`1-page pilot report delivered at end`],cta:`Apply for pilot`,href:`#waitlist`,note:`Limited to 5 active pilots at a time`},{name:`Team`,price:`$390`,listPrice:`$500`,period:`/mo`,description:`YC, Seed, or Series A teams. Up to 25 engineers, 25 repos, 5 Confluence spaces.`,features:[`Freshness detection on every PR`,`AI drafter (100 drafts + 500 summaries / month)`,`Owner / Approver / Viewer roles`,`Multi-space Confluence (up to 5)`,`Audit log + repo diagnostics`,`Card billing, 30-day cancel`],cta:`Start with free pilot`,href:`#waitlist`,highlight:!0,badge:`Most teams start here`,note:`YC alumni: 50% off first 12 months`},{name:`Business`,price:`$1,490`,period:`/mo`,description:`Series B+. 25-100 engineers, 25-100 repos, multi-team review.`,features:[`Everything in Team`,`Champion-per-service approval gating`,`Route-file detection (no OpenAPI required)`,`400 drafts + 2,000 summaries / month`,`Up to 100 repos, 25 seats`,`ACH billing, quarterly or annual (15% off annual)`],cta:`Start with free pilot`,href:`#waitlist`},{name:`Enterprise`,price:`$4,500+`,period:`/mo or $2,900 BYOK`,description:`100+ engineers, compliance, SOC 2 / SSO required.`,features:[`Everything in Business`,`SSO / SAML + SCIM`,`Audit export (CSV / JSON)`,`Custom AI quota or BYOK (Bring Your Own Key)`,`MSA, DPA, SOC 2 on standard packet`,`Dedicated AM, SLA, annual PO`],cta:`Talk to us`,href:`#waitlist`}],At=()=>{let[e,t]=(0,y.useState)(`monthly`),n=n=>{n!==e&&(t(n),s(`Pricing Billing Toggled`,{period:n}))};return(0,S.jsx)(`section`,{className:`section-padding`,id:`pricing`,children:(0,S.jsxs)(`div`,{className:`container-wide`,children:[(0,S.jsxs)(`div`,{className:`text-center max-w-2xl mx-auto mb-12`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-3`,children:`Pricing`}),(0,S.jsx)(`h2`,{className:`heading-lg mb-4`,children:`Honest pricing. Named upfront in pilot.`}),(0,S.jsx)(`p`,{className:`body-md text-muted-foreground`,children:`The 4-week pilot is free. After pilot you choose Team or Business based on team size. Pricing scales with engineers and repos â not seats. You're not penalized for adding readers.`})]}),(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-2 mb-10`,children:[(0,S.jsxs)(`div`,{className:`inline-flex bg-surface-subtle/60 rounded-lg p-1 border border-border/40`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>n(`monthly`),className:`px-5 py-2 text-xs font-semibold rounded-md transition-colors ${e===`monthly`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`}`,"aria-pressed":e===`monthly`,children:`Monthly`}),(0,S.jsxs)(`button`,{type:`button`,onClick:()=>n(`annual`),className:`px-5 py-2 text-xs font-semibold rounded-md transition-colors ${e===`annual`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`}`,"aria-pressed":e===`annual`,children:[`Annual `,(0,S.jsx)(`span`,{className:`opacity-70 ml-1`,children:`â15%`})]})]}
2),(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground/70`,children:`Annual discount applies to Business. Team is monthly-only. Enterprise is always annual.`})]}),(0,S.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-4 gap-6 mb-16`,children:kt.map(t=>{let n=e===`annual`&&t.name===`Business`,r=n?$(Q):t.price,i=n?$(Z):t.listPrice,o=n?`/mo · billed annually`:t.period,l=t.name===`Enterprise`;return(0,S.jsxs)(`div`,{className:`surface-card p-6 flex flex-col relative ${t.highlight?`neon-border-accent neon-glow-accent`:``}`,children:[t.badge&&(0,S.jsxs)(`div`,{className:`absolute -top-3 left-1/2 -translate-x-1/2 inline-flex items-center gap-1 px-3 py-1 rounded-full bg-accent text-accent-foreground text-[10px] font-semibold uppercase tracking-widest whitespace-nowrap`,children:[(0,S.jsx)(ce,{className:`h-3 w-3`}),t.badge]}),(0,S.jsx)(`h3`,{className:`text-lg font-bold mb-1`,style:{fontFamily:`'Clash Display', 'Lexend', system-ui, sans-serif`},children:t.name}),(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground mb-4 leading-relaxed min-h-[4.5rem]`,children:t.description}),(0,S.jsxs)(`div`,{className:`mb-2 flex items-baseline flex-wrap gap-x-2`,children:[(0,S.jsx)(`span`,{className:`text-3xl font-bold`,children:r}),i&&(0,S.jsx)(`span`,{className:`text-sm text-muted-foreground/60 line-through`,children:i}),(0,S.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:o})]}),n&&(0,S.jsxs)(`p`,{className:`text-[10px] text-accent font-semibold mb-3`,children:[$(Dt),`/yr · save `,$(Ot),`/year`]}),l&&(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground/70 italic mb-3`,children:`Annual contract required`}),!n&&!l&&(0,S.jsx)(`div`,{className:`mb-3`}),(0,S.jsx)(`ul`,{className:`space-y-2 mb-6 flex-1`,children:t.features.map(e=>(0,S.jsxs)(`li`,{className:`flex items-start gap-2 text-xs text-muted-foreground leading-relaxed`,children:[(0,S.jsx)(a,{className:`h-3.5 w-3.5 text-accent shrink-0 mt-0.5`}),(0,S.jsx)(`span`,{children:e})]},e))}),t.note&&(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground/70 italic mb-3 text-center`,children:t.note}),(0,S.jsx)(c,{variant:t.highlight?`accent`:`outline`,className:`w-full`,asChild:!0,children:(0,S.jsxs)(`a`,{href:t.href,onClick:()=>s(`Pricing CTA Clicked`,{tier:t.name,cta:t.cta}),children:[t.cta,(0,S.jsx)(b,{className:`ml-1 h-3.5 w-3.5`})]})})]},t.name)})}),(0,S.jsx)(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":`https://schema.org`,"@type":`Product`,name:`AntAtlas`,description:`Documentation freshness platform. Watches GitHub + Confluence read-only, flags pages that disagree with code, proposes approval-gated updates.`,brand:{"@type":`Brand`,name:`AntAtlas`},url:`https://antatlas.ai/pricing`,offers:{"@type":`AggregateOffer`,priceCurrency:`USD`,lowPrice:`0`,highPrice:`15000`,offerCount:4,offers:[{"@type":`Offer`,name:`Design Partner`,price:`0`,priceCurrency:`USD`,availability:`https://schema.org/InStock`,description:`Free 4-week pilot. First 3-5 customers. Post-pilot price named upfront.`,url:`https://antatlas.ai/pricing`},{"@type":`Offer`,name:`Team`,price:`390`,priceCurrency:`USD`,availability:`https://schema.org/InStock`,description:`YC, Seed, or Series A teams. Up to 25 engineers, 25 repos, 5 Confluence spaces. Includes AI drafter (100 drafts + 500 summaries per month).`,priceSpecification:{"@type":`UnitPriceSpecification`,price:`390`,priceCurrency:`USD`,referenceQuantity:{"@type":`QuantitativeValue`,value:`1`,unitCode:`MON`}},url:`https://antatlas.ai/pricing`},{"@type":`Offer`,name:`Business`,price:`1490`,priceCurrency:`USD`,availability:`https://schema.org/InStock`,description:`Series B+. 25-100 engineers, 25-100 repos, multi-team review with Champions, route-file detection, 400 drafts + 2,000 summaries per month.`,priceSpecification:{"@type":`UnitPriceSpecification`,price:`1490`,priceCurrency:`USD`,referenceQuantity:{"@type":`QuantitativeValue`,value:`1`,unitCode:`MON`}},url:`https://antatlas.ai/pricing`},{"@type":`Offer`,name:`Enterprise`,price:`4500`,priceCurrency:`USD`,availability:`https://schema.org/InStock`,description:`100+ engineers, SOC 2 / SSO / SCIM required. Custom AI quota or BYOK ($2,900/mo). Dedicated AM, SLA, MSA, annual PO.`,priceSpecification:{"@type":`UnitPriceSpecification`,price:`4500`,priceCurrency:`USD`,referenceQuantity:{"@type":`QuantitativeValue`,value:`1`,unitCode:`MON`}},url:`https://antatlas.ai/pricing`}]}})}})]})})},jt=[{q:`What counts toward the AI quota?`,a:`Two operation types: drafts and summaries. A draft is when AntAtlas writes a proposed Confluence update for a stale page â counted once per proposal. A summary is a per-page change explanation generated
2whenever code changes affect a documented page. Match signals (the LLM-assisted doc-to-code matching) don't count â they're included on all paid tiers without metering. Team includes 100 drafts and 500 summaries per month; Business includes 400 drafts and 2,000 summaries.`},{q:`What happens if I exceed the quota?`,a:`Overage is metered transparently at $0.50/draft and $0.05/summary for Team; $0.40/draft and $0.04/summary for Business. We auto-cap overage at 2Ã your subscription unless you explicitly opt in â so a $390/mo Team account will never see a $5,000 invoice. You get email alerts at 50%, 80%, and 100% of quota before any overage starts.`},{q:`Can I cancel mid-month?`,a:`Team is monthly billing with 30-day cancel â cancel any time, pay through the end of the current period, no questions. Business is quarterly or annual â annual gets 15% off. Enterprise is annual minimum. We never auto-renew enterprise contracts; you'll always confirm intent before the next term.`},{q:`Do you offer YC or accelerator discounts?`,a:`Yes. YC alumni get 50% off the Team tier for the first 12 months â that's $195/mo. Send proof of active or alumni status when you apply for the pilot. We extend the same discount to a few other accelerators (TinySeed, On Deck, Antler) on request. It applies to Team only, not Business or Enterprise.`},{q:`What's BYOK and how does it work?`,a:`BYOK (Bring Your Own Key) is an Enterprise option at $2,900/mo flat. You provide your own Anthropic API key; AntAtlas never sees your tokens. We bill you a flat subscription for the platform, and you pay Anthropic directly for AI usage on your own contract. This gives compliance teams comfort that no cross-tenant token leakage is possible, and removes margin risk for power users who would otherwise burn through quota.`},{q:`Do you support EU customers?`,a:`Yes. We collect and remit VAT via Stripe Tax (One Stop Shop registration), so EU customers get proper VAT-inclusive invoices. We're a US-incorporated entity by Phase 3 of our rollout â until then EU customers are billed by the Portuguese sole proprietorship of the founder. GDPR-compliant DPA available on request. EU data residency is on the Enterprise roadmap, not standard.`},{q:`What's the refund policy?`,a:`We don't lock you in. If AntAtlas isn't surfacing useful stale docs in your first 30 days on a paid plan, email us and we'll refund that month â no questions asked. We'd rather refund a single month than have a customer who isn't getting value churn quietly. After 30 days, cancellation is the path (Team monthly cancel, Business quarterly).`},{q:`How do you handle our Confluence and GitHub data?`,a:`Read-only by default. Our GitHub App takes read scopes for code and PRs; Confluence OAuth starts with read-only scopes and only requests write when you turn on approval-gated proposals. We don't retain source files at rest beyond what's needed for the doc-code graph and match evidence (typically a few KB per page). Every match decision is in an audit log linked to the actor. See our Privacy and Security pages for the long form.`}],Mt=()=>(0,S.jsx)(`section`,{className:`section-padding bg-surface-subtle`,id:`pricing-faq`,children:(0,S.jsxs)(`div`,{className:`container-narrow`,children:[(0,S.jsxs)(`div`,{className:`text-center mb-12`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-3`,children:`Pricing FAQ`}),(0,S.jsx)(`h2`,{className:`heading-lg mb-4`,children:`Questions buyers ask before they pay.`})]}),(0,S.jsx)(St,{type:`single`,collapsible:!0,className:`w-full`,children:jt.map((e,t)=>(0,S.jsxs)(q,{value:`pricing-faq-${t}`,children:[(0,S.jsx)(J,{className:`text-left text-base font-semibold`,children:e.q}),(0,S.jsx)(Y,{className:`text-sm text-muted-foreground leading-relaxed`,children:e.a})]},t))})]})}),Nt=()=>((0,y.useEffect)(()=>{s(`Pricing Page Viewed`)},[]),(0,S.jsxs)(`div`,{className:`min-h-screen bg-background relative`,children:[(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`relative z-10`,children:[(0,S.jsx)(C,{}),(0,S.jsxs)(`main`,{className:`pt-16`,children:[(0,S.jsx)(At,{}),(0,S.jsx)(Mt,{}),(0,S.jsx)(X,{})]})]})]})),Pt=()=>(0,S.jsxs)(`div`,{className:`min-h-screen bg-background relative`,children:[(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`relative z-10`,children:[(0,S.jsx)(C,{}),(0,S.jsx)(`section`,{className:`pt-24 pb-8 md:pt-28 md:pb-12`,children:(0,S.jsxs)(`div`,{className:`container-narrow text-center`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-2`,children:`Privacy Policy`}),(0,S.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Effective September 2, 2026`})]})}),(0,S.jsx)(`section`,{className:`py-8 md:py-12`,children:(0,S.jsx)(`div`,{className:`container-narrow max-w-3xl`,children:(0,S.jsxs)(`div`,{className:`surface-card p-6 md:p-8 space-y-6 body-md text-muted-foreground prose prose-invert prose-sm max-w-none`,children:[(0,S.jsx)(`p`,{children:`This Privacy Policy explains how AntAtlas, Inc. collects, uses, and protects personal data when you visit antatlas.ai, join our waitlist, or use AntAtlas.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Who is responsible for your data`}),(0,S.jsx)(`p`,{children:`AntAtlas, Inc., a Delaware corporation, is the controller of personal data described
2in this policy.`}),(0,S.jsxs)(`p`,{children:[`Contact: `,(0,S.jsx)(`a`,{href:`mailto:[email protected]`,children:`[email protected]`})]}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Data we collect`}),(0,S.jsxs)(`ul`,{className:`list-disc pl-6 space-y-2`,children:[(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Waitlist data:`}),` the email address you submit.`]}),(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Usage and technical data:`}),` page views, interactions, referring page, campaign parameters, browser and device information, IP address, and approximate location derived from it.`]}),(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Local preferences:`}),` your theme preference, stored in your browser.`]})]}),(0,S.jsx)(`p`,{children:`AntAtlas does not store your source code or repository data. System graphs are generated and stored on the client side.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`How and why we use personal data`}),(0,S.jsxs)(`ul`,{className:`list-disc pl-6 space-y-2`,children:[(0,S.jsx)(`li`,{children:`To manage the waitlist and send requested product updates, based on your consent. You may withdraw consent at any time.`}),(0,S.jsx)(`li`,{children:`To operate, secure, troubleshoot, and improve the website, based on our legitimate interests in maintaining and understanding our service.`}),(0,S.jsx)(`li`,{children:`To comply with law and protect our rights, where legally required.`})]}),(0,S.jsx)(`p`,{children:`We do not sell personal data or use it for automated decisions with legal or similarly significant effects.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Service providers`}),(0,S.jsx)(`p`,{children:`We disclose personal data only as needed to providers that operate the service:`}),(0,S.jsxs)(`ul`,{className:`list-disc pl-6 space-y-2`,children:[(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Cloudflare`}),` for website hosting, delivery, and security.`]}),(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Resend`}),` for waitlist email delivery.`]}),(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`strong`,{className:`text-foreground`,children:`Mixpanel`}),` for product and website analytics, when enabled.`]}),(0,S.jsx)(`li`,{children:`Professional advisers or authorities when required by law or necessary to protect legal rights.`})]}),(0,S.jsx)(`p`,{children:`These providers may process data in countries outside your own. Where required, we use legally recognized transfer safeguards.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Cookies and browser storage`}),(0,S.jsx)(`p`,{children:`The website uses browser storage to remember your theme. If analytics is enabled, Mixpanel may use identifiers or similar technologies to measure visits and interactions. You can limit these technologies through your browser settings and supported privacy signals.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Retention`}),(0,S.jsx)(`p`,{children:`We retain your waitlist email until you unsubscribe, withdraw consent, or the waitlist is no longer needed. Analytics and security records are retained according to our configured provider retention periods and deleted or aggregated when no longer needed. We may retain limited records longer when required by law or to establish, exercise, or defend legal claims.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Your rights`}),(0,S.jsxs)(`p`,{children:[`Depending on where you live, you may have rights to access, correct, delete, restrict, or object to processing of your personal data, receive a portable copy, and withdraw consent. To exercise a right, email `,(0,S.jsx)(`a`,{href:`mailto:[email protected]`,children:`[email protected]`}),`. We may need to verify your identity before completing a request.`]}),(0,S.jsxs)(`p`,{children:[`If you are in the EEA, you may also complain to your local supervisory authority. Our local authority is Portugal's Comissão Nacional de Proteção de Dados at`,` `,(0,S.jsx)(`a`,{href:`https://www.cnpd.pt/`,target:`_blank`,rel:`noreferrer`,children:`cnpd.pt`}),`.`]}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Security`}),(0,S.jsx)(`p`,{children:`We use reasonable technical and organizational measures to protect personal data. No method of transmission or storage is completely secure, so we cannot guarantee absolute security.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Children`}),(0,S.jsx)(`p`,{children:`AntAtlas is intended for business users and is not directed to children under 16.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Changes and contact`}),(0,S.jsxs)(`p`,{children:[`We may update this policy as the service changes. We will post the revised policy here and update its effective date. Questions and privacy requests can be sent to`,` `,(0,S.jsx)(`a`,{href:`mailto:[email protected]`,children:`[email protected]`}),`.`]})]})})}),(0,S.jsx)(X,{})]})]}),Ft=()=>(0,S.jsxs)(`div`,{className:`min-h-screen bg-background relative`,children:[(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`relative z-10`,children:[(0,S.jsx)(C,{}),(0,S.jsx)(`section`,{className:`pt-24 pb-8 md:pt-28 md:pb-12`,children:(0,S.jsxs)(`div`,{className:`container-narrow text-center`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-widest text-accent mb-2`,children:`Terms of Use`}),(0,S.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Effective September 2, 2026`})]})}),(0,S.jsx)(`section`,{className:`py-8 md:py-12`,children:(0,S.jsx)(`div`,{className:`container-narrow max-w-3xl`,children:(0,S.jsxs)(`div`,{className:`surface-card p-6 md:p-8 space-y-6 body-md text-muted-foreground prose prose-invert prose-sm max-w-none`,children:[(0,S.jsx)(`p`,{children:`These Terms of Use govern your access to antatlas.ai and AntAtlas services. By accessing or using the service, you agree to these Terms. If you use the service for an organization, you represent that you have authority to bind that organization.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Company`}),(0,S.jsx)(`p`,{children:`The service is provided by AntAtlas, Inc., a Delaware corporation.`}),(0,S.jsxs)(`p`,{children:[`Contact: `,(0,S.jsx)(`a`,{href:`mailto:[email protected]`,children:`[email protected]`})]}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Eligibility`}),(0,S.jsx)(`p`,{children:`You must be at least 18 years old and legally able to enter into a contract. The service is intended for professional and business use.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Waitlist and early access`}),(0,S.jsx)(`p`,{children:`Joining the waitlist does not guarantee access, availability, timing, features, or pricing. Early-access functionality may change, be suspended, or be discontinued at any time. Additional terms may apply before you receive access to paid or private features.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Acceptable use`}),(0,S.jsx)(`p`,{children:`You may not:`}),(0,S.jsxs)(`ul`,{className:`list-disc pl-6 space-y-2`,children:[(0,S.jsx)(`li`,{children:`use the service unlawfully or infringe another person's rights;`}),(0,S.jsx)(`li`,{children:`attempt to bypass security, access restrictions, or usage limits;`}),(0,S.jsx)(`li`,{children:`interfere with or disrupt the service or its infrastru
2cture;`}),(0,S.jsx)(`li`,{children:`introduce malicious code or use the service to distribute harmful content;`}),(0,S.jsx)(`li`,{children:`reverse engineer the service except where applicable law expressly permits it; or`}),(0,S.jsx)(`li`,{children:`misrepresent your identity or authority to act for an organization.`})]}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Your code and data`}),(0,S.jsx)(`p`,{children:`You retain all rights in your code and repository data. AntAtlas does not store source code or repository data, and system graphs are generated and stored on the client side. You are responsible for ensuring that you have the rights and permissions needed to process any data you use with the service.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`AntAtlas intellectual property`}),(0,S.jsx)(`p`,{children:`AntAtlas and its software, design, branding, and content are owned by AntAtlas, Inc. or its licensors and are protected by applicable intellectual-property laws. These Terms give you no ownership rights in the service.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Feedback`}),(0,S.jsx)(`p`,{children:`If you provide feedback, you grant AntAtlas, Inc. a worldwide, perpetual, irrevocable, royalty-free right to use it to operate and improve the service without obligation to you.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Third-party services`}),(0,S.jsx)(`p`,{children:`The service may interoperate with third-party tools. Their terms and privacy policies govern your use of those tools. AntAtlas is not responsible for third-party services.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Disclaimers`}),(0,S.jsx)(`p`,{children:`To the maximum extent permitted by law, the service is provided âas isâ and âas available,â without warranties of any kind, express or implied. AntAtlas does not warrant that generated models, graphs, context, or other outputs are complete or error-free. You are responsible for reviewing outputs before relying on them or making changes to software systems.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Limitation of liability`}),(0,S.jsx)(`p`,{children:`To the maximum extent permitted by law, AntAtlas, Inc. and its affiliates will not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages, or for lost profits, revenues, data, goodwill, or business interruption arising from the service.`}),(0,S.jsx)(`p`,{children:`AntAtlas, Inc.'s total liability for all claims arising from the service will not exceed the greater of US $100 or the amount you paid AntAtlas for the service during the 12 months before the event giving rise to the claim. Nothing in these Terms excludes liability that cannot be excluded under applicable law.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Suspension and termination`}),(0,S.jsx)(`p`,{children:`You may stop using the service at any time. We may suspend or terminate access if you violate these Terms, create risk or legal exposure, or if we discontinue the service. Provisions that by their nature should survive termination will remain in effect.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Governing law`}),(0,S.jsx)(`p`,{children:`These Terms are governed by the laws of the State of Delaware, without regard to conflict-of-law rules. Except where applicable law requires otherwise, disputes will be brought exclusively in the state or federal courts located in Delaware, and each party consents to their jurisdiction. Mandatory consumer protections in your country of residence remain unaffected.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Changes`}),(0,S.jsx)(`p`,{children:`We may update these Terms as the service changes. Material changes will be communicated by reasonable means. Continued use after updated Terms take effect means you accept them.`}),(0,S.jsx)(`h2`,{className:`heading-md text-foreground pt-4`,children:`Contact`}),(0,S.jsxs)(`p`,{children:[`Questions about these Terms may be sent to`,` `,(0,S.jsx)(`a`,{href:`mailto:[email protected]`,children:`[email protected]`}),`.`]})]})})}),(0,S.jsx)(X,{})]})]}),It=()=>{let e=h();return(0,y.useEffect)(()=>{console.error(`404 Error: User attempted to access non-existent route:`,e.pathname)},[e.pathname]),(0,S.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-muted`,children:(0,S.jsxs)(`div`,{className:`text-center`,children:[(0,S.jsx)(`h1`,{className:`mb-4 text-4xl font-bold`,children:`404`}),(0,S.jsx)(`p`,{className:`mb-4 text-xl text-muted-foreground`,children:`Oops! Page not found`}),(0,S.jsx)(`a`,{href:`/`,className:`text-primary underline hover:text-primary/90`,children:`Return to Home`})]})})},Lt=()=>((0,y.useEffect)(()=>{r(()=>{i(()=>import(`./analytics-DDcbFY1M.js`).then(e=>e.initAnalytics()),__vite__mapDeps([0,1,2]))})},[]),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(ne,{}),(0,S.jsx)(y.Suspense,{fallback:null,children:(0,S.jsxs)(v,{children:[(0,S.jsx)(g,{path:`/`,element:(0,S.jsx)(Tt,{})}),(0,S.jsx)(g,{path:`/pricing`,element:(0,S.jsx)(Nt,{})}),(0,S.jsx)(g,{path:`/privacy`,element:(0,S.jsx)(Pt,{})}),(0,S.jsx)(g,{path:`/terms`,element:(0,S.jsx)(Ft,{})}),(0,S.jsx)(g,{path:`*`,element:(0,S.jsx)(It,{})})]})})]}));(0,te.hydrateRoot)(document.getElementById(`root`),(0,S.jsx)(()=>(0,S.jsx)(ee,{future:{v7_startTransition:!0,v7_relativeSplatPath:!0},children:(0,S.jsx)(Lt,{})}),{})); 3//# sourceMappingURL=index-UbuZlaZ9.js.map
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.