PageSourceSearch

https://bablic.com/pricing

html bablic.com collected 2026-10-02 03:37:08 UTC 114,395 bytes, 1,621 lines download raw bytes

1<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Website Translation Pricing | Plans by Traffic | Bablic</title><meta name="description" content="Plans that scale with your traffic. Bablic prices by monthly visits, not words — set your traffic and see every plan update live. Annual billing saves 20%."><link rel="icon" href="/favicon.ico" sizes="any"><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- Canonical --><link rel="canonical" href="https://bablic.com/pricing"><!-- Hreflang link set (LOCALES + x-default; EN-only until fan-out) --><link rel="alternate" hreflang="en" href="https://bablic.com/pricing"><link rel="alternate" hreflang="x-default" href="https://bablic.com/pricing"><!-- Open Graph --><meta property="og:type" content="website"><meta property="og:title" content="Website Translation Pricing | Plans by Traffic | Bablic"><meta property="og:description" content="Plans that scale with your traffic. Bablic prices by monthly visits, not words — set your traffic and see every plan update live. Annual billing saves 20%."><meta property="og:url" content="https://bablic.com/pricing"><meta property="og:image" content="https://bablic.com/og/og-pricing.png"><meta property="og:site_name" content="Bablic"><meta property="og:locale" content="en"><!-- Twitter card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Website Translation Pricing | Plans by Traffic | Bablic"><meta name="twitter:description" content="Plans that scale with your traffic. Bablic prices by monthly visits, not words — set your traffic and see every plan update live. Annual billing saves 20%."><meta name="twitter:image" content="https://bablic.com/og/og-pricing.png"><!-- JSON-LD blob(s) -->
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://bablic.com/#organization","name":"Bablic","url":"https://bablic.com/","logo":"https://bablic.com/images/brand/bablic-logo.svg","foundingDate":"2012","description":"Bablic is TransPerfect's website translation and localization platform for SMBs. Part of the TransPerfect group.","sameAs":["https://www.linkedin.com/company/bablic","https://x.com/bablicapp","https://www.instagram.com/bablic.app/","https://www.youtube.com/@Bablicapp"],"parentOrganization":{"@type":"Organization","@id":"https://www.transperfect.com/#organization","name":"TransPerfect","url":"https://www.transperfect.com/","sameAs":["https://en.wikipedia.org/wiki/TransPerfect","https://www.wikidata.org/wiki/Q7833640"]}},{"@type":"WebSite","@id":"https://bablic.com/#website","name":"Bablic","url":"https://bablic.com/","publisher":{"@id":"https://bablic.com/#organization"},"inLanguage":"en"}]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Product","name":"Bablic","description":"Website translation and localization platform. Plans priced by monthly translated pageviews, not words.","brand":{"@id":"https://bablic.com/#organization"},"offers":[{"@type":"Offer","name":"Go","price":"19","priceCurrency":"USD","url":"https://bablic.com/pricing"},{"@type":"Offer","name":"Core","price":"49","priceCurrency":"USD","url":"https://bablic.com/pricing"},{"@type":"Offer","name":"Pro","price":"199","priceCurrency":"USD","url":"https://bablic.com/pricing"}]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"OfferCatalog","name":"Bablic plans","url":"https://bablic.com/pricing","itemListElement":[{"@type":"Offer","name":"Go","price":"19","priceCurrency":"USD","url":"https://bablic.com/pricing"},{"@type":"Offer","name":"Core","price":"49","priceCurrency":"USD","url":"https://bablic.com/pricing"},{"@type":"Offer","name":"Pro","price":"199","priceCurrency":"USD","url":"https://bablic.com/pricing"}]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How does Bablic pricing work?","acceptedAnswer":{"@type":"Answer","text":"Bablic pricing is based on monthly page visits to your translated site. Pick the visitor tier that matches your traffic, choose your plan, and you're set. No per-word billing, no complicated formulas. If your needs change, you can upgrade or downgrade anytime."}},{"@type":"Question","name":"Why visits instead of words?","acceptedAnswer":{"@type":"Answer","text":"Most people don't think about their website in terms of words, but most marketers can tell you what their monthly traffic looks like. Visit-based pricing is forecastable through procurement, doesn't ambush you during a wordy content quarter, and rewards you for picking up speed in international markets."}},{"@type":"Question","name":"What happens if I exceed my visitor tier?","acceptedAnswer":{"@type":"Answer","text":"Your site stays live and translated. We won't cut off your visitors. We'll reach out to find the right plan for your real traffic, so there's no surprise overages and no per-visitor penalties."}}
1,{"@type":"Question","name":"Is there a free trial?","acceptedAnswer":{"@type":"Answer","text":"Yes, every plan comes with a 30-day free trial. No credit card required. Set up your languages, see translations on your live site, and only pay when you decide Bablic is right."}},{"@type":"Question","name":"Can I switch plans later?","acceptedAnswer":{"@type":"Answer","text":"Yes, anytime. Upgrades take effect immediately. Downgrades and cancellations apply at the end of your current billing cycle."}},{"@type":"Question","name":"Do you support custom enterprise needs?","acceptedAnswer":{"@type":"Answer","text":"Yes. Above the 1M+ visitor tier, our enterprise team builds custom plans with SSO (SAML + SCIM), audit logging, dedicated CSMs, and the full TransPerfect GDPR + HIPAA security posture."}},{"@type":"Question","name":"What payment methods do you accept?","acceptedAnswer":{"@type":"Answer","text":"All major credit cards and PayPal. Annual plans can also be paid via invoice and ACH."}}]}</script>
1 <link rel="preload" as="font" type="font/woff2" href="/fonts/transitional/geist-600.woff2" crossorigin> <link rel="preload" as="font" type="font/woff2" href="/fonts/transitional/instrument-serif-400-italic-latin.woff2" crossorigin> <style id="inlined-fonts">/* Phase C fonts (critical): Geist 400/500/600/700 + Instrument Serif italic
2   latin only. Geist Mono (+ Instrument normal when present) deferred via
3   deferred-fonts.css injected after window load so they do not compete with
4   LCP. Preloads stay Geist 600 + Instrument italic. font-display: swap. */
5@font-face {
6  font-family: 'Geist';
7  font-style: normal;
8  font-weight: 400;
9  font-display: swap;
10  src: url('/fonts/transitional/geist-400.woff2') format('woff2');
11}
12@font-face {
13  font-family: 'Geist';
14  font-style: normal;
15  font-weight: 500;
16  font-display: swap;
17  src: url('/fonts/transitional/geist-500.woff2') format('woff2');
18}
19@font-face {
20  font-family: 'Geist';
21  font-style: normal;
22  font-weight: 600;
23  font-display: swap;
24  src: url('/fonts/transitional/geist-600.woff2') format('woff2');
25}
26@font-face {
27  font-family: 'Geist';
28  font-style: normal;
29  font-weight: 700;
30  font-display: swap;
31  src: url('/fonts/transitional/geist-700.woff2') format('woff2');
32}
33@font-face {
34  font-family: 'Instrument Serif';
35  font-style: italic;
36  font-weight: 400;
37  font-display: swap;
38  src: url('/fonts/transitional/instrument-serif-400-italic-latin.woff2') format('woff2');
39  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
40}
41</style> 
41<script>(function(){const deferredFontsCss = "/* Phase C: deferred faces — injected after window load (see page *.astro). */\n@font-face {\n  font-family: 'Geist Mono';\n  font-style: normal;\n  font-weight: 400;\n  font-display: swap;\n  src: url('/fonts/transitional/geist-mono-400.woff2') format('woff2');\n}\n@font-face {\n  font-family: 'Geist Mono';\n  font-style: normal;\n  font-weight: 500;\n  font-display: swap;\n  src: url('/fonts/transitional/geist-mono-500.woff2') format('woff2');\n}\n@font-face {\n  font-family: 'Instrument Serif';\n  font-style: normal;\n  font-weight: 400;\n  font-display: swap;\n  src: url('/fonts/transitional/instrument-serif-400-normal-latin.woff2') format('woff2');\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n";
42
43      (function () {
44        function injectDeferredFonts() {
45          if (document.getElementById('deferred-fonts')) return;
46          var s = document.createElement('style');
47          s.id = 'deferred-fonts';
48          s.textContent = deferredFontsCss;
49          document.head.appendChild(s);
50        }
51        function schedule() {
52          var run = function () {
53            if ('requestIdleCallback' in window) {
54              requestIdleCallback(injectDeferredFonts, { timeout: 2000 });
55            } else {
56              setTimeout(injectDeferredFonts, 0);
57            }
58          };
59          if (document.readyState === 'complete') run();
60          else window.addEventListener('load', run);
61        }
62        schedule();
63      })();
64    })();</script>
64 <style>
65  /* ========================================================================
66     PALETTE & DESIGN TOKENS  (identical to the homepage)
67     ======================================================================== */
68  :root {
69    --color-brand-blue:      #1366B2;
70    --color-brand-blue-deep: #0E4E8A;
71
72    --color-coral:      #BF1F4B;      /* darkened for AA contrast, matching the homepage */
73    --color-coral-deep: #C42E58;
74    --color-coral-soft: rgba(224, 65, 108, 0.07);
75    --color-coral-line: rgba(224, 65, 108, 0.32);
76    --color-coral-bright: #FF6E92;          /* coral on dark surfaces */
77
78    /* Ink — the one contained dark moment (deep Bablic navy) */
79    --color-ink:          #0D2C4C;
80    --color-ink-line:     rgba(150, 178, 214, 0.16);
81    --color-on-ink:       #EEF3FA;
82    --color-on-ink-muted: #97AAC8;
83
84    --color-canvas:       #F6F8FC;
85    --color-canvas-alt:   #E7ECF4;
86    --color-canvas-deep:  #DEE5F0;
87    --color-card:         #FFFFFF;
88    --color-card-warm:    #FFFDFB;
89    --color-card-chrome:  #E6EBF3;
90
91    --color-text:        #1C1C1E;
92    --color-text-muted:  #5A5A5F;
93
94    --color-border-canvas: rgba(28, 42, 66, 0.08);
95    --color-border-card:   rgba(28, 42, 66, 0.11);
96
97    --radius-card:    14px;
98    --radius-control: 8px;
99    --radius-pill:    9999px;
100
101    --shadow-card-lift:  0 20px 40px -30px rgba(22, 32, 56, 0.12);
102    --shadow-panel:      0 30px 60px -34px rgba(22, 32, 56, 0.16);
103    --shadow-cta:        0 40px 80px -36px rgba(224, 65, 108, 0.24);
104
105    --font-sans:  'Geist', system-ui, -apple-system, sans-serif;
106    --font-serif: 'Instrument Serif', 'Times New Roman', serif;
107    --font-mono:  'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
108
109    --section-pad: 96px;
110    --content:     1280px;
111  }
112
113  /* ========================================================================
114     BASE
115     ======================================================================== */
116  *, *::before, *::after { box-sizing: border-box; }
117  html { scroll-behavior: smooth; }
118  body {
119    margin: 0; background: var(--color-canvas); color: var(--color-text);
120    font-family: var(--font-sans); font-size: 16px; line-height: 1.5;
121    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
122  }
123  h1, h2, h3, h4, p { margin: 0; }
124  a { color: inherit; text-decoration: none; }
125  button { font-family: inherit; cursor: pointer; }
126  svg { display: block; }
127  .wrap { max-width: var(--content); margin: 0 auto; padding: 0 64px; }
128
129  .eyebrow { font-family: var(--font-mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-coral); }
130  .wink { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--color-coral); letter-spacing: 0; }
131  .wink--bright { color: var(--color-coral-bright); }
132  .h-sec { font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; color: var(--color-text); font-size: 40px; }
133  .lead { font-size: 17px; line-height: 1.6; color: var(--color-text-muted); }
134
135  .btn {
136    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
137    border: 1px solid transparent; border-radius: var(--radius-control);
138    font-size: 14.5px; font-weight: 500; padding: 13px 22px;
139    transition: background .16s ease, color .16s ease, border-color .16s ease; white-space: nowrap;
140  }
141  .btn--primary { background: var(--color-brand-blue); color: #fff; }
142  .btn--primary:hover { background: var(--color-brand-blue-deep); }
143  .btn--ghost { background: transparent; color: var(--color-text); border-color: rgba(28,42,66,0.20); }
144  .btn--ghost:hover { border-color: rgba(28,42,66,0.42); }
145  .btn--blue-ghost { background: transparent; color: var(--color-brand-blue); border-color: color-mix(in srgb, var(--color-brand-blue) 38%, transparent); }
146  .btn--blue-ghost:hover { background: color-mix(in srgb, var(--color-brand-blue) 7%, transparent); border-color: var(--color-brand-blue); }
147  .btn--sm { padding: 10px 16px; font-size: 13.5px; }
148  .btn--lg { padding: 15px 28px; font-size: 15px; }
149  .btn--block { width: 100%; }
150
151  /* ========================================================================
152     Announcement band  (shared chrome)
153     ======================================================================== */
154                
155  /* ========================================================================
156     Nav  (shared chrome)
157     ======================================================================== */
158                      
159  /* ========================================================================
160     Hero — compact two-column band (headline left, slider card right)
161     ======================================================================== */
162  .phero { position: relative; overflow: hidden; }
163  .phero__glow { position: absolute; width: 900px; height: 700px; left: 50%; top: -340px; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(224,65,108,0.12), transparent 70%); filter: blur(8px); pointer-events: none; }
164  .phero__grid { position: absolute; inset: 0; pointer-events: none;
165    background-image:
166      repeating-linear-gradient(0deg, transparent, transparent 55px, rgba(28,42,66,0.04) 5
1665px, rgba(28,42,66,0.04) 56px),
167      repeating-linear-gradient(90deg, transparent, transparent 55px, rgba(28,42,66,0.04) 55px, rgba(28,42,66,0.04) 56px);
168    -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 0%, #000 14%, transparent 72%);
169    mask-image: radial-gradient(ellipse 70% 80% at 50% 0%, #000 14%, transparent 72%);
170  }
171  .phero__inner { position: relative; z-index: 2; max-width: var(--content); margin: 0 auto; padding: 40px 64px 40px; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 56px; align-items: center; }
172  .phero__intro h1 { font-size: 45px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.06; margin: 12px 0 16px; }
173  .phero__intro .lead { max-width: 26em; font-size: 16px; }
174  /* Mobile-only CTA directly under the slider card, so a CTA is visible
175     without scrolling on small screens. Hidden above the 560px mobile
176     breakpoint (see @media (max-width: 560px) below). */
177  .phero__mobile-cta { display: none; }
178
179  /* Slider card */
180  .slider-card { background: var(--color-card); border: 1px solid var(--color-border-card); border-radius: 16px; padding: 26px 30px 22px; box-shadow: var(--shadow-panel); }
181  .slider-top { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
182  .slider-top__label { font-size: 13px; color: var(--color-text-muted); }
183  .slider-top__val { display: flex; align-items: baseline; gap: 6px; }
184  .slider-top__val b { font-size: 28px; font-weight: 600; letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; }
185  .slider-top__val span { font-size: 12px; color: var(--color-text-muted); }
186  .slider { position: relative; height: 50px; }
187  .slider__track { position: absolute; left: 0; right: 0; top: 16px; height: 10px; border-radius: var(--radius-pill); background: var(--color-canvas-alt); overflow: hidden; }
188  .slider__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 25%; background: var(--color-brand-blue); transition: width .12s ease; }
189  .slider__ticks { position: absolute; left: 0; right: 0; top: 18px; height: 6px; }
190  .slider__ticks i { position: absolute; top: 0; width: 2px; height: 6px; border-radius: 1px; transform: translateX(-50%); background: rgba(28,42,66,0.22); }
191  .slider__ticks i.on { background: rgba(255,255,255,0.75); }
192  .slider__thumb { position: absolute; top: 8px; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 3px solid var(--color-brand-blue); box-shadow: 0 6px 16px -3px rgba(22,32,56,0.34); transform: translateX(-50%); pointer-events: none; transition: left .12s ease; }
193  .slider input[type=range] { position: absolute; left: -4px; right: -4px; top: 0; width: calc(100% + 8px); height: 42px; margin: 0; opacity: 0; cursor: pointer; }
194  .slider__labels { position: absolute; left: 0; right: 0; top: 34px; height: 16px; }
195  .slabel { position: absolute; top: 0; transform: translateX(-50%); background: none; border: none; padding: 4px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.04em; color: var(--color-text-muted); white-space: nowrap; }
196  .slabel.on { color: var(--color-brand-blue); font-weight: 500; }
197  .cycle-row { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--color-border-card); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
198  .cycle-row__label { font-size: 13px; color: var(--color-text-muted); }
199  .cycle { display: inline-flex; align-items: center; gap: 4px; padding: 4px; background: var(--color-canvas); border: 1px solid var(--color-border-card); border-radius: var(--radius-pill); }
200  .cycle__btn { display: inline-flex; align-items: center; gap: 8px; border: none; background: transparent; color: var(--color-text); padding: 8px 16px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 500; transition: background .15s ease, color .15s ease; }
201  .cycle__btn.on { background: var(--color-brand-blue); color: #fff; }
202  .cycle__save { font-size: 11px; font-weight: 600; padding: 2px 6px; border-radius: 6px; background: var(--color-coral-soft); color: var(--color-coral-deep); }
203  .cycle__btn.on .cycle__save { background: #EEF3FA; color: #0D2C4C; }
204
205  /* ========================================================================
206     Tiers — low-density cards (spec line + 4 features)
207     ======================================================================== */
208  .ptiers { padding: 12px 0 calc(var(--section-pad) - 24px); }
209  .ptiers__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch; }
210  .ptier { position: relative; display: flex; flex-direction: column; background: var(--color-card); border: 1px solid var(--color-border-card); border-radius: var(--radius-card); padding: 28px; box-shadow: var(--shadow-card-lift); }
211  .ptier--pop { border: 1.5px solid var(--color-coral-line); background: linear-gradient(var(--color-coral-soft), var(--color-coral-soft)), var(--color-card); box-shadow: 0 34px 70px -30px rgba(224,65,108,0.22); }
212  .ptier__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
213  .ptier__name { font-size: 19px; font-weight: 600; letter-spacing: 0.02em; }
214  .ptier__badge { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; background: var(--color-coral); color: #fff; padding: 4px 9px; border-radius: 6px; }
215  .ptier__tag { font-size: 13px; color: var(--color-text-muted); line-height: 1.45; margin-bottom: 18px; min-height: 38px; }
216  .ptier__price { display: flex; align-items: baseline; gap: 6px; margin-bottom: 4px; }
217  .ptier__price b { font-size: 48px; font-weight: 600; letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; }
218  .ptier__price span { font-size: 14px; color: var(--color-text-muted); }
219  .ptier__note { font-size: 12.5px; color: var(--color-text-muted); margin-bottom: 20px; }
220  .ptier__lead { margin: 16px 0 12px; font-size: 12.5px; color: var(--color-text-muted); }
221  .ptier__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
222  .ptier__list li { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.45; }
223  .ptier__list .check { flex-shrink: 0; margin-top: 2px; }
224  .compare-link { text-align: center; margin-top: 26px; font-size: 14px; color: var(--color-text-muted); }
225  .compare-link a { color: var(--color-brand-blue); font-weight: 500; }
226  .compare-link a:hover { color: var(--color-brand-blue-deep); }
227
228  /* ========================================================================
229     Trust strip (marquee) — shared
230     ======================================================================== */
231  .trust { padding: 40px 0 52px; border-top: 1px solid var(--color-border-canvas); overflow: hidden; }
232  .trust__label { text-align: center; margin-bottom: 30px; font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-text-muted); }
233  .marquee { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
234  .marquee__track { display: flex; width: max-content; gap: 64px; animation: marquee 34s linear infinite; }
235  .marquee:hover .marquee__track { animation-play-state: paused; }
236  .brandmark { font-size: 16px; font-weight: 600; letter-spacing: 0.10em; color: var(--color-text); opacity: 0.46; white-space: nowrap; transition: opacity .2s ease; }
237  .brandmark:hover { opacity: 0.8; }
238  .brandlogo { height: 58px; width: auto; flex: 0 0 auto; opacity: 0.8; transition: opacity .2s ease;
238 -webkit-user-drag: none; user-select: none; }
239  .brandlogo:hover { opacity: 1; }
240  picture.brandlogo { display: flex; align-items: center; }
241  picture.brandlogo img { height: 100%; width: auto; display: block; }
242  @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
243
244  /* ========================================================================
245     "Every plan ships with these" — the page's ONE contained dark moment
246     ======================================================================== */
247  .section { padding: var(--section-pad) 0; }
248  .section--alt { background: var(--color-canvas-alt); }
249  .incl-panel { position: relative; overflow: hidden; background: var(--color-ink); color: var(--color-on-ink); border-radius: 28px; padding: 72px 64px; box-shadow: 0 50px 90px -40px rgba(8, 20, 38, 0.55); }
250  .incl-panel__glow { position: absolute; pointer-events: none; }
251  .incl-panel__glow--coral { width: 720px; height: 720px; right: -160px; top: -260px; background: radial-gradient(closest-side, rgba(255,110,146,0.20), transparent 70%); filter: blur(6px); }
252  .incl-panel__glow--cool { width: 620px; height: 620px; left: -200px; bottom: -300px; background: radial-gradient(closest-side, rgba(96,150,210,0.16), transparent 70%); filter: blur(6px); }
253  .incl-panel__grid-tex { position: absolute; inset: 0; pointer-events: none;
254    background-image:
255      repeating-linear-gradient(0deg, transparent, transparent 55px, rgba(255,255,255,0.04) 55px, rgba(255,255,255,0.04) 56px),
256      repeating-linear-gradient(90deg, transparent, transparent 55px, rgba(255,255,255,0.04) 55px, rgba(255,255,255,0.04) 56px);
257    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 88% 8%, #000 12%, transparent 70%);
258    mask-image: radial-gradient(ellipse 70% 70% at 88% 8%, #000 12%, transparent 70%);
259  }
260  .incl-panel__inner { position: relative; z-index: 2; }
261  .incl-head { max-width: 720px; margin-bottom: 48px; }
262  .incl-head .eyebrow { color: var(--color-coral-bright); }
263  .incl-head h2 { font-size: 38px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; color: var(--color-on-ink); margin: 0; }
264  .incl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--color-ink-line); border: 1px solid var(--color-ink-line); border-radius: 16px; overflow: hidden; }
265  .incl-cell { background: var(--color-ink); padding: 30px 26px; }
266  .incl-cell .check { margin-bottom: 18px; }
267  .incl-cell h3 { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; color: var(--color-on-ink); margin-bottom: 10px; }
268  .incl-cell p { font-size: 14px; line-height: 1.6; color: var(--color-on-ink-muted); }
269
270  /* ========================================================================
271     Feature matrix
272     ======================================================================== */
273  .matrix-head { max-width: 720px; margin-bottom: 40px; }
274  /* Mobile-only plan switcher (shown ≤720px) */
275  .matrix-tierbar {
276    display: none;
277    align-items: center;
278    justify-content: space-between;
279    gap: 12px;
280    margin: 0 0 16px;
281    padding: 10px 12px;
282    background: var(--color-card);
283    border: 1px solid var(--color-border-card);
284    border-radius: 12px;
285    box-shadow: var(--shadow-card-lift);
286  }
287  .matrix-tierbar__btn {
288    width: 42px;
289    height: 42px;
290    display: inline-flex;
291    align-items: center;
292    justify-content: center;
293    border: 1px solid var(--color-border-card);
294    border-radius: 10px;
295    background: var(--color-canvas);
296    color: var(--color-text);
297    cursor: pointer;
298    padding: 0;
299    flex-shrink: 0;
300  }
301  .matrix-tierbar__btn:hover { border-color: rgba(28,42,66,0.28); }
302  .matrix-tierbar__btn:disabled { opacity: 0.35; cursor: default; }
303  .matrix-tierbar__meta {
304    flex: 1;
305    min-width: 0;
306    display: flex;
307    flex-direction: column;
308    align-items: center;
309    justify-content: center;
310    gap: 4px;
311    text-align: center;
312  }
313  .matrix-tierbar__name {
314    font-size: 20px;
315    font-weight: 600;
316    letter-spacing: -0.02em;
317    color: var(--color-text);
318  }
319  .matrix-tierbar__badge { display: none; }
320  .matrix-tierbar__badge.is-on { display: inline-flex; }
321
322  .matrix-head .h-sec { font-size: 40px; margin: 14px 0 14px; }
323  .matrix-scroll { overflow-x: auto; }
324  .matrix-card { min-width: 720px; background: var(--color-card); border: 1px solid var(--color-border-card); border-radius: var(--radius-card); overflow: hidden; }
325  .matrix-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; }
326  .matrix-th { display: contents; }
327  .matrix-th > div { padding: 22px 24px; border-bottom: 1px solid var(--color-border-card); background: rgba(255,255,255,0.6); display: flex; flex-direction: column; align-items: center; gap: 6px; }
328  .matrix-th > div:first-child { align-items: flex-start; justify-content: center; font-size: 13px; color: var(--color-text-muted); }
329  .matrix-th > div:not(:first-child) { border-left: 1px solid var(--color-border-card); }
330  .matrix-th > div.pop { background: #F3F5FA; }
331  .matrix-th__name { font-size: 21px; font-weight: 600; letter-spacing: -0.02em; }
332  .matrix-th__name.pop { color: var(--color-text); }
333  .mcat { grid-column: 1 / -1; padding: 16px 24px 13px; background: var(--color-coral-soft); border-top: 1px solid var(--color-coral-line); border-bottom: 1px solid var(--color-coral-line); font-size: 14px; font-weight: 600; }
334  .mrow { display: contents; }
335  .mrow > div { min-height: 58px; display: flex; align-items: center; border-bottom: 1px solid var(--color-border-card); }
336  .mrow > .mfeat { padding: 12px 24px; font-size: 14.5px; line-height: 1.4; }
337  .mcell { justify-content: center; padding: 12px 16px; border-left: 1px solid var(--color-border-card); font-size: 13.5px; text-align: center; }
338  .mcell.pop { background: #F3F5FA; }
339  .mcell.muted { color: var(--color-text-muted); }
340  .mbadge { font-size: 11.5px; font-weight: 600; padding: 3px 9px; border-radius: 6px; background: rgba(14, 78, 138, 0.08); color: var(--color-brand-blue-deep); border: 1px solid rgba(14, 78, 138, 0.32); }
341  .matrix-foot { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; background: rgba(255,255,255,0.6); }
342  .matrix-foot > div { padding: 18px 16px; display: flex; align-items: center; justify-content: center; border-left: 1px solid var(--color-border-card); }
343  .matrix-foot > div.pop { background: #F3F5FA; }
344  .matrix-foot > div:first-child { justify-content: flex-start; padding-left: 24px; border-left: none; font-size: 13px; color: var(--color-text-muted); }
345
346  /* ========================================================================
347     Quote band
348     ======================================================================== */
349  .quote { padding: 56px 0; }
350  .quote__inner { max-width: 1120px; margin: 0 auto; text-align: center; }
351  .quote__card { position: relative; background: var(--color-card-warm); border: 1.5px solid var(--color-coral-line); border-radius: 20px; padding: 40px 64px 34px; box-shadow: var(--shadow-cta); }
352  .quote__mark { font-family: var(--font-serif); font-size: 52px; line-height: 1; color: var(--color-coral); opacity: 0.5; margin-bottom: 0; }
353  .quote__text { font-size: 27px; line-height: 1.36; letter-spacing: -0.015em; color: var(--color-text); margin: 0 auto 26px; max-width: 820px; }
354  .quote__author { display: inline-flex; align-items: center; gap: 12px; }
355  .quote__avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--color-brand-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; }
356  .quote__who { text-align: left; }
357  .quote__who b { font-size: 13.5px; font-weight: 600; display: block; }
358  .quote__who span { font-size: 12.5px; color: var(--color-text-muted); }
359
360  /* ========================================================================
361     FAQ — shared accordion
362     ======================================================================== */
363  .faq-head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
364  .faq-head .h-sec { font-size: 36px; margin: 0 0 14px; }
365  .faq-wrap { max-width: 880px; margin: 0 auto; }
366  .faq__item { border-top: 1px solid var(--color-border-canvas); }
367  .faq__item:last-child { border-bottom: 1px solid var(--color-border-canvas); }
368  .faq__q { width: 100%; background: none; border: none; text-align: left; padding: 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 18px; font-weight: 500; letter-spacing: -0.015em; color: var(--color-text); }
369  .faq__chevron { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--color-border-card); display: flex; align-items: center; justify-content: center; color: var(--color-text-muted); transition: transform .22s ease, border-color .2s ease, color .2s ease; }
370  .faq__item.is-open .faq__chevron { transform: rotate(180deg); border-color: var(--color-brand-blue); color: var(--color-brand-blue); }
371  .faq__a { overflow: hidden; max-height: 0; transition: max-height .28s ease; }
372  .faq__a p { font-size: 15px; color: var(--color-text-muted); line-height: 1.65; padding: 0 52px 26px 0; }
373
374  /* ========================================================================
375     CTA — warm cream-hairline card (identical to the homepage closer)
376     ======================================================================== */
377  .cta-section { padding: 40px 0 var(--section-pad); }
378  .cta__card { position: relative; overflow: hidden; max-width: 1120px; margin: 0 auto; background: var(--color-card-warm); border: 1.5px solid var(--color-coral-line); border-radius: 20px; padding: 60px 56px; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: center; box-shadow: var(--shadow-cta); }
379  .cta__glow { position: absolute; width: 460px; height: 460px; right: -120px; top: 50%; transform: translateY(-50%); background: radial-gradient(closest-side, rgba(224,65,108,0.15), transparent 70%); filter: blur(8px); pointer-events: none; }
380  .cta__body { position: relative; z-index: 2; }
381  .cta__body .h-sec { margin: 14px 0 16px; }
382  .cta__body .lead { max-width: 27em; margin-bottom: 28px; }
383  .cta__ctas { display: flex; gap: 12px; }
384  .cta__bullets { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 10px; }
385  .bullet { display: flex; align-items: flex-start; gap: 12px; padding: 14px 18px; border-radius: 12px; background: var(--color-card); border: 1px solid var(--color-border-canvas); font-size: 14px; line-height: 1.5; }
386  .bullet .check { flex-shrink: 0;
386 margin-top: 1px; }
387
388  /* ========================================================================
389     Footer — shared
390     ======================================================================== */
391                    
392  /* ========================================================================
393     REDUCED MOTION
394     ======================================================================== */
395  @media (prefers-reduced-motion: reduce) { .marquee__track { animation: none; } html { scroll-behavior: auto; } }
396
397  /* ========================================================================
398     RESPONSIVE — tablet (≤980) + phone (≤560)
399     ======================================================================== */
400  @media (max-width: 980px) {
401    .wrap { padding-left: 28px; padding-right: 28px; }
402    .phero__inner { grid-template-columns: 1fr; gap: 36px; padding: 36px 28px; }
403    .phero__intro h1 { font-size: 38px; }
404    .ptiers__grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
405    .incl-panel { padding: 44px 30px; }
406    .incl-grid { grid-template-columns: 1fr 1fr; }
407    .incl-head h2, .h-sec { font-size: 31px; }
408    .cta__card { grid-template-columns: 1fr; padding: 44px 32px; gap: 36px; text-align: center; }
409    .cta__body .lead { margin-left: auto; margin-right: auto; }
410    .cta__ctas { flex-direction: column; align-items: stretch; max-width: 360px; margin: 0 auto; }
411    .cta__ctas .btn { width: 100%; justify-content: center; }
412    .cta__ctas .btn--ghost { display: none; }
413    .cta__bullets { max-width: 420px; margin: 0 auto; text-align: left; }
414    .quote__card { padding: 44px 32px 36px; }
415  }
416  /* Matrix carousel kicks in before the 720px min-width scroll trap */
417  @media (max-width: 720px) {
418    .matrix-tierbar { display: flex; }
419    .matrix-scroll { overflow: visible; }
420    .matrix-card { min-width: 0; width: 100%; overflow: hidden; }
421    .matrix-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
422    .matrix-th { display: none; }
423    .mcat { grid-column: 1 / -1; }
424    .mrow { display: contents; }
425    .mrow > .mfeat { padding: 12px 12px 12px 16px; font-size: 14px; min-height: 54px; }
426    .mrow > .mcell { min-height: 54px; }
427
428    .matrix-card[data-active-tier="0"] .mrow > .mcell:nth-child(3),
429    .matrix-card[data-active-tier="0"] .mrow > .mcell:nth-child(4),
430    .matrix-card[data-active-tier="0"] .matrix-foot > div:nth-child(3),
431    .matrix-card[data-active-tier="0"] .matrix-foot > div:nth-child(4) { display: none; }
432
433    .matrix-card[data-active-tier="1"] .mrow > .mcell:nth-child(2),
434    .matrix-card[data-active-tier="1"] .mrow > .mcell:nth-child(4),
435    .matrix-card[data-active-tier="1"] .matrix-foot > div:nth-child(2),
436    .matrix-card[data-active-tier="1"] .matrix-foot > div:nth-child(4) { display: none; }
437
438    .matrix-card[data-active-tier="2"] .mrow > .mcell:nth-child(2),
439    .matrix-card[data-active-tier="2"] .mrow > .mcell:nth-child(3),
440    .matrix-card[data-active-tier="2"] .matrix-foot > div:nth-child(2),
441    .matrix-card[data-active-tier="2"] .matrix-foot > div:nth-child(3) { display: none; }
442
443    .matrix-card[data-active-tier="0"] .mrow > .mcell:nth-child(2),
444    .matrix-card[data-active-tier="1"] .mrow > .mcell:nth-child(3),
445    .matrix-card[data-active-tier="2"] .mrow > .mcell:nth-child(4),
446    .matrix-card[data-active-tier="0"] .matrix-foot > div:nth-child(2),
447    .matrix-card[data-active-tier="1"] .matrix-foot > div:nth-child(3),
448    .matrix-card[data-active-tier="2"] .matrix-foot > div:nth-child(4) {
449      background: #F3F5FA;
450    }
451
452    .matrix-foot {
453      display: grid;
454      grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
455    }
456    .matrix-foot .btn { width: 100%; justify-content: center; }
457  }
458
459  @media (max-width: 560px) {
460    .wrap { padding-left: 20px; padding-right: 20px; }
461    .phero__inner { padding: 28px 20px; }
462    .phero__intro h1 { font-size: 31px; }
463    .slider-card { padding: 22px 20px 18px; }
464    .phero__mobile-cta { display: inline-flex; margin-top: -8px; }
465    .cycle-row { flex-direction: column; align-items: flex-start; gap: 12px; }
466    .ptiers { padding-top: 8px; }
467    .section { padding: 60px 0; }
468    .incl-panel { padding: 34px 22px; border-radius: 20px; }
469    .incl-grid { grid-template-columns: 1fr; }
470    .incl-cell { padding: 26px 22px; }
471    .incl-head { margin-bottom: 32px; }
472    .incl-head h2 { font-size: 26px; }
473    .h-sec, .matrix-head .h-sec, .faq-head .h-sec { font-size: 26px; }
474    .quote__text { font-size: 21px; }
475    .quote__card { padding: 34px 24px 28px; }
476    .quote__mark { font-size: 48px; }
477    .faq__q { font-size: 16.5px; }
478    .faq__a p { padding-right: 24px; }
479    .marquee__track { gap: 40px; }
480    .brandmark { font-size: 14px; }
481
482    /* ---- Feature matrix: locked feature col + one tier view (← →) ---- */
483    .matrix-head { text-align: center; margin-bottom: 20px; max-width: none; }
484    .matrix-tierbar { display: flex; }
485
486    .matrix-scroll {
487      overflow: visible;
488      margin: 0;
489      padding: 0;
490    }
491    .matrix-card {
492      min-width: 0;
493      width: 100%;
494      overflow: hidden;
495    }
496    .matrix-grid {
497      display: grid;
498      grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
499    }
500    /* Desktop header replaced by tierbar on phone */
501    .matrix-th { display: none; }
502
503    .mcat {
504      grid-column: 1 / -1;
505      padding: 12px 14px;
506      font-size: 13px;
507    }
508
509    .mrow { display: contents; }
510    .mrow > .mfeat {
511      padding: 12px 12px 12px 14px;
512      font-size: 13.5px;
513      line-height: 1.35;
514      border-bottom: 1px solid var(--color-border-card);
515      align-items: center;
516      min-height: 52px;
517    }
518    .mrow > .mcell {
519      padding: 12px 14px;
520      border-left: 1px solid var(--color-border-card);
521      border-bottom: 1px solid var(--color-border-card);
522      min-height: 52px;
523      font-size: 13.5px;
524    }
525
526    /* Show only the active tier column (2=Go, 3=Core, 4=Pro) */
527    .matrix-card[data-active-tier="0"] .mrow > .mcell:nth-child(3),
528    .matrix-card[data-active-tier="0"] .mrow > .mcell:nth-child(4),
529    .matrix-card[data-active-tier="0"] .matrix-foot > div:nth-child(3),
530    .matrix-card[data-active-tier="0"] .matrix-foot > div:nth-child(4) { display: none; }
531
532    .matrix-card[data-active-tier="1"] .mrow > .mcell:nth-child(2),
533    .matrix-card[data-active-tier="1"] .mrow > .mcell:nth-child(4),
534    .matrix-card[data-active-tier="1"] .matrix-foot > div:nth-child(2),
535    .matrix-card[data-active-tier="1"] .matrix-foot > div:nth-child(4) { display: none; }
536
537    .matrix-card[data-active-tier="2"] .mrow > .mcell:nth-child(2),
538    .matrix-card[data-active-tier="2"] .mrow > .mcell:nth-child(3),
539    .matrix-card[data-active-tier="2"] .matrix-foot > div:nth-child(2),
540    .matrix-card[data-active-tier="2"] .matrix-foot > div:nth-child(3) { display: none; }
541
542    .matrix-card[data-active-tier="0"] .mrow > .mcell:nth-child(2),
543    .matrix-card[data-active-tier="1"] .mrow > .mcell:nth-child(3),
544    .matrix-card[data-active-tier="2"] .mrow > .mcell:nth-child(4) {
545      background: #F3F5FA;
546    }
547
548    .matrix-foot {
549      display: grid;
550      grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
551      background: rgba(255,255,255,0.6);
552    }
553    .matrix-foot > div {
554      padding: 14px;
555      border-left: 1px solid var(--color-border-card);
556    }
557    .matrix-foot > div:first-child {
558      border-left: none;
559      font-size: 12.5px;
560      justify-content: flex-start;
561      padding-left: 14px;
562    }
563    .matrix-foot > div.pop { background: #F3F5FA; }
564    .matrix-card[data-active-tier="0"] .matrix-foot > div:nth-child(2),
565    .matrix-card[data-active-tier="1"] .matrix-foot > div:nth-child(3),
566    .matrix-card[data-active-tier="2"] .matrix-foot > div:nth-child(4) {
567      background: #F3F5FA;
568    }
569    .matrix-foot .btn {
570      width: 100%;
571      justify-content: center;
572      padding: 12px 14px;
573      font-size: 13.5px;
574    }
575
576    /* ---- Closing CTA: one dominant action ---- */
577    .cta__card {
578      padding: 36px 22px;
579      gap: 28px;
580      text-align: center;
581      border-radius: 18px;
582    }
583    .cta__body .h-sec { font-size: 28px; }
584    .cta__body .lead {
585      font-size: 16px;
586      margin-bottom: 22px;
587    }
588    .cta__ctas {
589      flex-direction: column;
590      align-items: stretch;
591      gap: 0;
592      max-width: none;
593    }
594    .cta__ctas .btn--primary {
595      width: 100%;
596      justify-content: center;
597      padding: 16px 24px;
598      font-size: 16px;
599      border-radius: 10px;
600    }
601    .cta__ctas .btn--ghost { display: none; }
602    .cta__bullets {
603      max-width: none;
604      gap: 8px;
605    }
606    .bullet {
607      padding: 12px 14px;
608      font-size: 13.5px;
609      text-align: left;
610    }
611  }
612</style> 
612<script id="datalayer-init">
613      window.dataLayer = window.dataLayer || [];
614      function gtag() {
615        dataLayer.push(arguments);
616      }
617      // Consent Mode v2 defaults — deny until Usercentrics updates.
618      // Caps Ads/analytics third-party cookies before consent (LH Best Practices).
619      // UC US auto-grant remains a CMP-side setting; do not override here.
620      gtag('consent', 'default', {
621        ad_storage: 'denied',
622        ad_user_data: 'denied',
623        ad_personalization: 'denied',
624        analytics_storage: 'denied',
625        functionality_storage: 'granted',
626        security_storage: 'granted',
627        wait_for_update: 2000,
628      });
629      gtag('set', 'ads_data_redaction', true);
630      gtag('set', 'url_passthrough', true);
631    </script>
631<script id="bablic-attribution">(function () {
632  try {
633    var COOKIE = 'bablic_attribution';
634    function readCookie(name) {
635      var m = document.cookie.match(new RegExp('(?:^|;\\s*)' + name + '=([^;]+)'));
636      return m ? m[1] : null;
637    }
638    function parseExisting() {
639      try {
640        var raw = readCookie(COOKIE);
641        return raw ? JSON.parse(decodeURIComponent(raw)) : {};
642      } catch (e) { return {}; }
643    }
644    function write(obj) {
645      var v = encodeURIComponent(JSON.stringify(obj));
646      var attrs = ';path=/;max-age=7776000;SameSite=Lax' +
647        (location.protocol === 'https:' ? ';Secure' : '');
648      document.cookie = COOKIE + '=' + v + ';domain=.bablic.com' + attrs;
649      if (readCookie(COOKIE) !== v) {
650        document.cookie = COOKIE + '=' + v + attrs;
651      }
652    }
653    window.__bablicAttributionPatch = function (fields) {
654      try {
655        var cur = parseExisting();
656        for (var k in fields) cur[k] = fields[k];
657        write(cur);
658      } catch (e) {}
659    };
660    function gaClientId() {
661      var ga = readCookie('_ga');
662      if (!ga) return undefined;
663      var p = ga.split('.');
664      return p.length >= 4 ? p[2] + '.' + p[3] : undefined;
665    }
666    function gclFromLinker() {
667      var v = readCookie('_gcl_aw');
668      if (!v) return undefined;
669      var p = v.split('.');
670      return p.length >= 3 ? p.slice(2).join('.') : undefined;
671    }
672    var params = new URLSearchParams(location.search);
673    var a = parseExisting();
674    var firstWrite = !a.first_touch_utc;
675    function fill(key, val) { if (val && !a[key]) a[key] = val; }
676    fill('gclid', params.get('gclid') || gclFromLinker());
677    fill('gbraid', params.get('gbraid'));
678    fill('wbraid', params.get('wbraid'));
679    fill('ga_client_id', gaClientId());
680    ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content']
681      .forEach(function (k) { fill(k, params.get(k)); });
682    if (firstWrite) {
683      a.first_touch_utc = new Date().toISOString();
684      if (document.referrer) a.first_touch_referrer = document.referrer;
685      a.first_touch_landing_page = location.href;
686    }
687    write(a);
688    var tries = 0;
689    var t = setInterval(function () {
690      tries++;
691      var changed = false;
692      var cur = parseExisting();
693      if (!cur.ga_client_id) {
694        var g = gaClientId();
695        if (g) { cur.ga_client_id = g; changed = true; }
696      }
697      if (!cur.gclid && !cur.gbraid && !cur.wbraid) {
698        var c = gclFromLinker();
699        if (c) { cur.gclid = c; changed = true; }
700      }
701      try {
702        var ics = window.google_tag_data && window.google_tag_data.ics;
703        if (ics && ics.getConsentState) {
704          var map = { 1: 'CONSENT_GRANTED', 2: 'CONSENT_DENIED' };
705          var ud = map[ics.getConsentState('ad_user_data')];
706          var pz = map[ics.getConsentState('ad_personalization')];
707          if (ud && cur.ad_user_data_consent !== ud) {
708            cur.ad_user_data_consent = ud; changed = true;
709          }
710          if (pz && cur.ad_personalization_consent !== pz) {
711            cur.ad_personalization_consent = pz; changed = true;
712          }
713        }
714      } catch (e2) {}
715      if (changed) write(cur);
716      if (tries >= 6) clearInterval(t);
717    }, 2000);
718  } catch (e) {}
719})();
720</script>
720<script>(function(){const UC_RULESET_ID = "bQzCKxrfNyrRez";
721
722      (function (w, d) {
723        function injectUc() {
724          if (d.getElementById('usercentrics-cmp')) return;
725          var s = d.createElement('script');
726          s.id = 'usercentrics-cmp';
727          s.src = 'https://web.cmp.usercentrics.eu/ui/loader.js';
728          s.async = true;
729          s.setAttribute('data-ruleset-id', UC_RULESET_ID);
730          (d.head || d.documentElement).appendChild(s);
731        }
732        function schedule() {
733          var run = function () {
734            if ('requestIdleCallback' in w) {
735              requestIdleCallback(injectUc, { timeout: 1500 });
736            } else {
737              setTimeout(injectUc, 0);
738            }
739          };
740          if (d.readyState === 'complete') run();
741          else w.addEventListener('load', run);
742        }
743        schedule();
744      })(window, document);
745    })();</script>
745<style>
746      .skip-to-content {
747        position: absolute;
748        width: 1px;
749        height: 1px;
750        padding: 0;
751        margin: -1px;
752        overflow: hidden;
753        clip: rect(0, 0, 0, 0);
754        white-space: nowrap;
755        border: 0;
756      }
757      .skip-to-content:focus,
758      .skip-to-content:focus-visible {
759        position: fixed;
760        left: 12px;
761        top: 12px;
762        z-index: 1000;
763        width: auto;
764        height: auto;
765        margin: 0;
766        clip: auto;
767        overflow: visible;
768        padding: 10px 16px;
769        background: #0d2c4c;
770        color: #eef3fa;
771        border-radius: 8px;
772        font: 500 14px/1.2 Geist, system-ui, sans-serif;
773        text-decoration: none;
774      }
775    </style></head> <body>  <a class="skip-to-content" href="#main-content">Skip to content</a>   <style>
776  /* Design tokens pinned on the chrome roots (_ds "Cool Neutral"), so the meganav
777     renders in the exact palette regardless of page-side token drift. */
778  .nav {
779    --color-brand-blue:#1366B2; --color-brand-blue-deep:#0E4E8A;
780    --color-coral:#BF1F4B; --color-coral-deep:#C42E58;
781    --color-coral-soft:rgba(224,65,108,0.07); --color-coral-line:rgba(224,65,108,0.32);
782    --color-coral-bright:#FF6E92;
783    --color-ink:#0D2C4C; --color-on-ink:#EEF3FA; --color-on-ink-muted:#97AAC8;
784    --color-canvas:#F6F8FC; --color-canvas-alt:#E7ECF4; --color-card:#FFFFFF;
785    --color-text:#1C1C1E; --color-text-muted:#5A5A5F;
786    --color-border-canvas:rgba(28,42,66,0.08); --color-border-card:rgba(28,42,66,0.11);
787    --font-serif:'Instrument Serif','Times New Roman',serif;
788    --font-mono:'Geist Mono',ui-monospace,'SFMono-Regular',monospace;
789    --shadow-panel:0 24px 60px -24px rgba(22,32,56,0.35);
790    --radius-control:8px; --radius-pill:9999px; --content:1280px;
791  }
792  /* Nav shell (_ds chrome.css) */
793  .nav { position:sticky; top:0; z-index:50; background:rgba(246,248,252,0.82); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--color-border-canvas); }
794  .nav .nav__inner { max-width:var(--content); margin:0 auto; padding:16px 64px; display:flex; align-items:center; justify-content:space-between; }
795  .nav .nav__left { display:flex; align-items:center; gap:38px; }
796  .nav .wordmark { font-size:21px; font-weight:700; letter-spacing:-0.03em; color:var(--color-brand-blue); text-decoration:none; }
797  .nav .wordmark span { color:var(--color-coral); }
798  .nav .nav__links { display:flex; gap:26px; font-size:14px; align-items:center; }
799  .nav .nav__links > a { color:var(--color-text-muted); text-decoration:none; }
800  .nav .nav__links > a:hover { color:var(--color-text); }
801  .nav .nav__links > a.is-active { color:var(--color-text); font-weight:500; }
802  .nav .nav__trigger { color:var(--color-text-muted); text-decoration:none; }
803  .nav .nav__item:hover > .nav__trigger, .nav .nav__item:focus-within > .nav__trigger, .nav .nav__item.is-open > .nav__trigger { color:var(--color-text); }
804  .nav .nav__trigger.is-active { color:var(--color-text); font-weight:500; }
805  .nav .nav__right { display:flex; align-items:center; gap:18px; }
806  .nav .nav__login { font-size:14px; color:var(--color-text-muted); text-decoration:none; }
807  .nav .nav__login:hover { color:var(--color-text); }
808  /* Buttons (_ds buttons.css subset) */
809  .nav .btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid transparent; border-radius:var(--radius-control); font-size:14.5px; font-weight:500; padding:13px 22px; transition:background .16s,color .16s,border-color .16s; white-space:nowrap; text-decoration:none; cursor:pointer; }
810  .nav .btn--primary { background:var(--color-brand-blue); color:#fff; }
811  .nav .btn--primary:hover { background:var(--color-brand-blue-deep); color:#fff; }
812  .nav .btn--ghost { background:transparent; color:var(--color-text); border-color:rgba(28,42,66,0.20); }
813  .nav .btn--ghost:hover { border-color:rgba(28,42,66,0.42); }
814  .nav .btn--sm { padding:10px 16px; font-size:13.5px; }
815  /* Non-interactive mega/drawer items (FRONTLOAD gates): look identical, not clickable */
816  .nav [data-noroute] { cursor:default; }
817  /* Meganav + mobile drawer (_ds components/meganav.css, verbatim) */
818  /* Mega menu + mobile drawer — Bablic Transitional. Self-sufficient: token fallbacks included. */
819  .nav__item { position: relative; }
820  .nav__trigger { display: inline-flex; align-items: center; gap: 5px; }
821  .nav__trigger svg { transition: transform 0.18s ease-out; }
822  .nav__item:hover .nav__trigger svg, .nav__item:focus-within .nav__trigger svg { transform: rotate(180deg); }
823  
824  .mega { position: absolute; top: 100%; left: -24px; padding-top: 20px; z-index: 60; opacity: 0; visibility: hidden; transform: translateY(6px); pointer-events: none; transition: opacity 0.18s ease-out, transform 0.18s ease-out, visibility 0.18s; }
825  .mega--resources { left: -260px; }
826  .nav__item:hover > .mega, .nav__item:focus-within > .mega { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
827  
828  .mega__card { background: var(--color-card, #FFFFFF); border: 1px solid var(--color-border-card, rgba(28,42,66,0.12)); border-radius: 14px; box-shadow: var(--shadow-panel, 0 24px 60px -24px rgba(22,32,56,0.35)); overflow: hidden; display: flex; max-width: calc(100vw - 48px); }
829  .mega--product .mega__card { width: 820px; }
830  .mega--solutions .mega__card { width: 560px; }
831  .mega--resources .mega__card { width: 820px; }
832  
833  .mega__groups { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px 26px; flex: 1; }
834  .mega__group { display: flex; flex-direction: column; gap: 2px; }
835  .mega__label { font-family: var(--font-mono, monospace); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-text-muted, #5B6B84); margin-bottom: 10px; font-weight: 500; }
836  .mega__item { display: flex; gap: 12px; align-items: flex-start; padding: 9px 10px; margin: 0 -10px; border-radius: 10px; color: inherit; text-decoration: none; }
837  .mega__item:hover { background: var(--color-canvas-alt, #EEF2F8); color: inherit; }
838  .mega__icon { width: 32px; height: 32px; flex-shrink: 0; border-radius: 8px; background: rgba(19,102,178,0.08); border: 1px solid rgba(19,102,178,0.16); display: flex; align-items: center; justify-content: center; color: var(--color-brand-blue, #1366B2); }
839  .mega__title { display: block; font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: var(--color-text, #1C2A42); line-height: 1.3; }
840  .mega__desc { display: block; font-size: 12.5px; color: var(--color-text-muted, #5B6B84); line-height: 1.45; margin-top: 2px; font-weight: 400; }
841  
842  /* Product: contained ink CTA column */
843  .mega__ink { position: relative; width: 260px; flex-shrink: 0; background: var(--color-ink, #0D2C4C); background-image: radial-gradient(420px 260px at 110% -20%, rgba(224,65,108,0.28), transparent 65%), radial-gradient(380px 240px at -20% 120%, rgba(58,124,193,0.3), transparent 65%); padding: 26px 24px; display: flex; flex-direction: column; justify-content: center; }
844  .mega__ink-eyebrow { font-family: var(--font-mono, monospace); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-coral-bright, #F06287); font-weight: 600; }
845  .mega__ink-title { font-size: 18px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; color: var(--color-on-ink, #F3EDE4); margin-top: 10px; }
846  .mega__ink-title .wink { font-family: var(--font-serif, serif); font-style: italic; font-weight: 400; color: var(--color-coral-bright, #F06287); }
847  .mega__ink-copy { font-size: 13px; color: var(--color-on-ink-muted, #96B2D6); line-height: 1.55; margin-top: 8px; }
848  .mega__ink .btn { margin-top: 16px; align-self: flex-start; }
849  .mega__ink-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 8px; background: var(--color-on-ink, #F3EDE4); color: var(--color-ink, #0D2C4C); font-size: 13.5px; font-weight: 600; text-decoration: none; margin-top: 16px; align-self: flex-start; font-family: inherit; border: none; cursor: pointer; }
850  .mega__ink-btn:hover { background: #FFFFFF; color: var(--color-ink, #0D2C4C); }
851  
852  /* Resources: featured article column */
853  .mega__feat { width: 250px; flex-shrink: 0; border-left: 1px solid var(--color-border-canvas, rgba(28,42,66,0.08)); background: var(--color-canvas-alt, #EEF2F8); padding: 24px; display: flex; flex-direction: column; gap: 12px; color: inherit; text-decoration: none; }
854  .mega__feat:hover .mega__feat-title { color: var(--color-brand-blue, #1366B2); }
855  .mega__feat-label { font-family: var(--font-mono, monospace); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-coral, #E0416C); font-weight: 600; }
856  .mega__feat-title { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.35; color: var(--color-text, #1C2A42); }
857  .mega__feat-meta { font-family: var(--font-mono, monospace); font-size: 11.5px; color: var(--color-text-muted, #5B6B84); margin-top: auto; }
858  
859  /* Mobile drawer — must live OUTSIDE .nav (backdrop-filter on sticky .nav
860     creates a containing block that traps position:fixed to the nav bar height).
861     Full-viewport overlay, slides in from the right. */
862  .nav__burger { display: none; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--color-border-card, rgba(28,42,66,0.14)); border-radius: 8px; background: transparent; color: var(--color-text, #1C2A42); cursor: pointer; padding: 0; }
863  .drawer {
864    position: fixed;
865    inset: 0;
866    z-index: 80;
867    width: 100%;
868    height: 100%;
869    height: 100dvh;
870    background: var(--color-canvas, #F6F8FC);
871    overflow-y: auto;
872    overscroll-behavior: contain;
873    -webkit-overflow-scrolling: touch;
874    display: block;
875    visibility: hidden;
876    pointer-events: none;
877    transform: translateX(100%);
878    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.32s;
879  }
880  body.nav-open .drawer {
881    visibility: visible;
882    pointer-events: auto;
883    transform: translateX(0);
884  }
885  body.nav-open { overflow: hidden; }
886  .drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--color-border-canvas, rgba(28,42,66,0.08)); position: sticky; top: 0; background: var(--color-canvas, #F6F8FC); z-index: 1; }
887  .drawer__close { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-border-card, rgba(28,42,66,0.14)); border-radius: 8px; background: transparent; color: var(--color-text, #1C2A42); cursor: pointer; padding: 0; }
888  .drawer__body { padding: 8px 20px 36px; display: flex; flex-direction: column; min-height: calc(100% - 69px); }
889  .drawer__sec { border-bottom: 1px solid var(--color-border-canvas, rgba(28,42,66,0.08)); }
890  .drawer__sec summary { display: flex; justify-content: space-between; align-items: center; padding: 17px 0; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; cursor: pointer; list-style: none; color: var(--color-text, #1C2A42); }
891  .drawer__sec summary::-webkit-details-marker { display: none; }
892  .drawer__sec summary svg { transition: transform 0.18s ease-out; color: var(--color-text-muted, #5B6B84); }
893  .drawer__sec[open] summary svg { transform: rotate(180deg); }
894  .drawer__list { display: flex; flex-direction: column; padding: 0 0 16px; }
895  .drawer__item { padding: 9px 0; font-size: 14.5px; font-weight: 500; color: var(--color-text-muted, #5B6B84); text-decoration: none; }
896  .drawer__item:hover { color: var(--color-text, #1C2A42); }
897  .drawer__link { display: block; padding: 17px 0; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; border-bottom: 1px solid var(--color-border-canvas, rgba(28,42,66,0.08)); color: var(--color-text, #1C2A42); text-decoration: none; }
898  .drawer__cta { display: flex; gap: 10px; margin-top: 24px; }
899  .drawer__cta .btn { flex: 1; justify-content: center; }
900  
901  @media (max-width: 1000px) { .nav__burger { display: inline-flex; } }
902  @media (min-width: 1001px) { .drawer { display: none !important; } }
903  @media (prefers-reduced-motion: reduce) {
904    .mega, .nav__trigger svg, .drawer__sec summary svg { transition: none; }
905    .drawer { transition: none; }
906  }
907  /* a11y: JS-toggled desktop mega open state mirrors the CSS hover/focus-within rules */
908  .nav .nav__item.is-open > .mega { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
909  .nav .nav__item.is-open .nav__trigger svg { transform:rotate(180deg); }
910  .nav a:focus-visible, .nav button:focus-visible, .nav summary:focus-visible { outline:2px solid var(--color-brand-blue); outline-offset:2px; border-radius:var(--radius-control); }
911  /* Mobile: hide desktop links, show burger (_ds chrome.css breakpoints) */
912  @media (max-width:1000px) {
913    .nav .nav__links { display:none; }
914    .nav .nav__inner { padding:14px 28px; }
915    /* Mobile composition: logo + burger only (primary CTA lives in the hero) */
916    .nav .nav__right > .btn { display:none; }
917  }
918  @media (max-width:560px) { .nav .nav__inner { padding:12px 20px; } .nav .nav__login { display:none; } }
919</style><nav class="nav" id="transitional-nav"><div class="nav__inner"><div class="nav__left"><a class="wordmark" href="/">bablic<span>.</span></a><div class="nav__links"><div class="nav__item"><a class="nav__trigger" aria-haspopup="true" aria-expanded="false" href="/how-it-works">Product <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></a><div class="mega mega--product"><div class="mega__card"><div class="mega__groups"><div class="mega__group"><div class="mega__label">Platform</div><a class="mega__item" href="/how-it-works"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h7l-1 8 10-12h-7l1-8z"></path></svg></span><span><b class="mega__title">How It Works</b><span class="mega__desc">From snippet to live translated site in minutes</span></span></a><a class="mega__item" href="/website-localization"><span class="mega__icon">
919<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M3 12h18"></path><path d="M12 3c2.5 2.6 2.5 15.4 0 18M12 3c-2.5 2.6-2.5 15.4 0 18"></path></svg></span><span><b class="mega__title">Website Localization</b><span class="mega__desc">Translate, edit, and publish visually</span></span></a></div><div class="mega__group"><div class="mega__label">Connect</div><a class="mega__item" href="/integrations/shopify"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M6 7h12l1 13H5L6 7z"></path><path d="M9 10V6a3 3 0 0 1 6 0v4"></path></svg></span><span><b class="mega__title">Bablic for Shopify</b><span class="mega__desc">Localize your storefront, no code</span></span></a><a class="mega__item" href="/integrations"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1.5"></rect><rect x="14" y="3" width="7" height="7" rx="1.5"></rect><rect x="3" y="14" width="7" height="7" rx="1.5"></rect><rect x="14" y="14" width="7" height="7" rx="1.5"></rect></svg></span><span><b class="mega__title">All Integrations</b><span class="mega__desc">WordPress, Wix, Squarespace, and more</span></span></a><a class="mega__item" href="/about-us"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M12 8h.01"></path><path d="M11 12h1v4h1"></path></svg></span><span><b class="mega__title">About Us</b><span class="mega__desc">Who we are and why we built Bablic</span></span></a></div></div><div class="mega__ink"><div class="mega__ink-eyebrow">Get started</div><div class="mega__ink-title">Your site, translated in a <span class="wink">minute</span>.</div><p class="mega__ink-copy">Paste one snippet, pick a language, done. No credit card.</p><a class="mega__ink-btn" href="https://dashboard.bablic.com/create-account">Start free &rarr;</a></div></div></div></div><div class="nav__item"><a class="nav__trigger" aria-haspopup="true" aria-expanded="false" href="/industries">Solutions <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></a><div class="mega mega--solutions"><div class="mega__card"><div class="mega__groups"><div class="mega__group"><div class="mega__label">Industries</div><a class="mega__item" href="/industries"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l8 4.5v9L12 21l-8-4.5v-9Z"></path><path d="M4 7.5l8 4.5 8-4.5"></path><path d="M12 12v9"></path></svg></span><span><b class="mega__title">All Industries</b><span class="mega__desc">Where Bablic fits, sector by sector</span></span></a><a class="mega__item" href="/industries/ecommerce"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle><path d="M3 4h2l2.6 12h11l2-8H7"></path></svg></span><span><b class="mega__title">Ecommerce Stores</b><span class="mega__desc">Localized storefronts that convert</span></span></a><a class="mega__item" href="/industries/saas"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="13" rx="2"></rect><path d="M8 21h8M12 17v4"></path></svg></span><span><b class="mega__title">SaaS Products</b><span class="mega__desc">Docs, funnels, and marketing pages</span></span></a></div><div class="mega__group"><div class="mega__label">Customers</div><a class="mega__item" href="/contact"><span class="mega__icon">
919<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2z"></path></svg></span><span><b class="mega__title">Talk to Sales</b><span class="mega__desc">Scope a rollout with our team</span></span></a></div></div></div></div></div><a href="/pricing">Pricing</a><div class="nav__item"><a class="nav__trigger" aria-haspopup="true" aria-expanded="false" href="/blog">Resources <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></a><div class="mega mega--resources"><div class="mega__card"><div class="mega__groups"><div class="mega__group"><div class="mega__label">Learn</div><a class="mega__item" href="/blog"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"></path><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"></path></svg></span><span><b class="mega__title">Blog</b><span class="mega__desc">Guides on multilingual SEO and localization</span></span></a><a class="mega__item" href="https://support.bablic.com"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M9.1 9a3 3 0 0 1 5.8 1c0 2-3 2.5-3 4"></path><path d="M12 17.5h.01"></path></svg></span><span><b class="mega__title">Help Center</b><span class="mega__desc">Setup, billing, and troubleshooting</span></span></a></div><div class="mega__group"><div class="mega__label">Compare</div><a class="mega__item" href="/compare"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3L4 7l4 4"></path><path d="M4 7h16"></path><path d="M16 21l4-4-4-4"></path><path d="M20 17H4"></path></svg></span><span><b class="mega__title">All Comparisons</b><span class="mega__desc">How Bablic compares, at a glance</span></span></a><a class="mega__item" href="/compare/weglot"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3L4 7l4 4"></path><path d="M4 7h16"></path><path d="M16 21l4-4-4-4"></path><path d="M20 17H4"></path></svg></span><span><b class="mega__title">Bablic vs Weglot</b><span class="mega__desc">Pricing and workflow, side by side</span></span></a><a class="mega__item" href="/compare/wpml"><span class="mega__icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3L4 7l4 4"></path><path d="M4 7h16"></path><path d="M16 21l4-4-4-4"></path><path d="M20 17H4"></path></svg></span><span><b class="mega__title">Bablic vs WPML</b><span class="mega__desc">The no-plugin migration path</span></span></a></div></div><a class="mega__feat" href="/blog/dynamic-rendering-vs-cloaking-in-2026-a-complete-guide"><span class="mega__feat-label">Featured</span><span class="mega__feat-title">Dynamic Rendering vs. Cloaking: Getting It Right in 2026</span><span class="mega__feat-meta">Multilingual SEO &middot; 9 min</span></a></div></div></div><a href="/blog">Blog</a></div></div><div class="nav__right"><a class="nav__login" href="https://dashboard.bablic.com">Log in</a><a class="btn btn--primary btn--sm" href="https://dashboard.bablic.com/create-account">Start free</a><button class="nav__burger" type="button" aria-label="Open menu" data-nav-toggle=""><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M4 7h16M4 12h16M4 17h16"></path></svg></button></div></div></nav> <div class="drawer" id="transitional-drawer"><div class="drawer__head"><a class="wordmark" href="/">bablic<span>.</span></a><button class="drawer__close" type="button" aria-label="Close menu" data-nav-close=""><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M6 6l12 12M18 6L6 18"></path></svg></button></div><div class="drawer__body"><details class="drawer__sec"><summary>Product <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></summary><div class="drawer__list"><a class="drawer__item" href="/how-it-works">How It Works</a><a class="drawer__item" href="/website-localization">Website Localization</a><a class="drawer__item" href="/integrations/shopify">Bablic for Shopify</a><a class="drawer__item" href="/integrations">All Integrations</a><a class="drawer__item" href="/about-us">About Us</a></div></details>
919<details class="drawer__sec"><summary>Solutions <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></summary><div class="drawer__list"><a class="drawer__item" href="/industries">All Industries</a><a class="drawer__item" href="/industries/ecommerce">Ecommerce Stores</a><a class="drawer__item" href="/industries/saas">SaaS Products</a><a class="drawer__item" href="/contact">Talk to Sales</a></div></details><a class="drawer__link" href="/pricing">Pricing</a><details class="drawer__sec"><summary>Resources <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></summary><div class="drawer__list"><a class="drawer__item" href="/blog">Blog</a><a class="drawer__item" href="https://support.bablic.com">Help Center</a><a class="drawer__item" href="/compare">All Comparisons</a><a class="drawer__item" href="/compare/weglot">Bablic vs Weglot</a><a class="drawer__item" href="/compare/wpml">Bablic vs WPML</a></div></details><a class="drawer__link" href="/blog">Blog</a><div class="drawer__cta"><a class="btn btn--ghost" href="https://dashboard.bablic.com">Log in</a><a class="btn btn--primary" href="https://dashboard.bablic.com/create-account">Start free</a></div></div></div> 
919<script>
920  (function () {
921    var nav = document.getElementById('transitional-nav');
922    if (!nav) return;
923    /* active-state: mark the top-level link/trigger matching the current route */
924    var here = (location.pathname.replace(/\/+$/, '') || '/');
925    nav.querySelectorAll('.nav__links > a, .nav__trigger').forEach(function (el) {
926      var href = (el.getAttribute('href') || '').replace(/\/+$/, '');
927      var on = href && href !== '/' && (here === href || here.indexOf(href + '/') === 0);
928      el.classList.toggle('is-active', !!on);
929    });
930    /* Desktop mega: links navigate; the panel opens on hover/focus-within (CSS). JS keeps
931       aria-expanded in sync and adds Escape-to-close so keyboard users are not trapped. */
932    var items = nav.querySelectorAll('.nav__item');
933    items.forEach(function (item) {
934      var trigger = item.querySelector('.nav__trigger');
935      if (!trigger || !item.querySelector('.mega')) return;
936      function sync(open) { trigger.setAttribute('aria-expanded', String(open)); item.classList.toggle('is-open', open); }
937      item.addEventListener('focusin', function () { sync(true); });
938      item.addEventListener('mouseenter', function () { trigger.setAttribute('aria-expanded', 'true'); });
939      item.addEventListener('mouseleave', function () { if (!item.contains(document.activeElement)) trigger.setAttribute('aria-expanded', 'false'); });
940      item.addEventListener('focusout', function () { if (!item.contains(document.activeElement)) sync(false); });
941      item.addEventListener('keydown', function (e) { if (e.key === 'Escape') { sync(false); trigger.focus(); } });
942    });
943    /* Mobile drawer: aria-expanded, focus trap, Escape-to-close, focus-return to burger. */
944    var burger = nav.querySelector('[data-nav-toggle]');
945    var drawer = document.getElementById('transitional-drawer');
946    var closeBtn = drawer.querySelector('[data-nav-close]');
947    if (!burger || !drawer) return;
948    burger.setAttribute('aria-expanded', 'false');
949    burger.setAttribute('aria-controls', 'transitional-drawer');
950    function focusables() { return drawer.querySelectorAll('a[href], button, summary, [tabindex]:not([tabindex="-1"])'); }
951    function setOpen(open) {
952      document.body.classList.toggle('nav-open', open);
953      burger.setAttribute('aria-expanded', String(open));
954      if (open) { var f = focusables(); if (f.length) f[0].focus(); } else { burger.focus(); }
955    }
956    burger.addEventListener('click', function () { setOpen(!document.body.classList.contains('nav-open')); });
957    if (closeBtn) closeBtn.addEventListener('click', function () { setOpen(false); });
958    drawer.addEventListener('click', function (e) { if (e.target.closest('a[href]')) setOpen(false); });
959    document.addEventListener('keydown', function (e) {
960      if (!document.body.classList.contains('nav-open')) return;
961      if (e.key === 'Escape') { setOpen(false); return; }
962      if (e.key === 'Tab') {
963        var f = focusables(); if (!f.length) return;
964        var first = f[0], last = f[f.length - 1];
965        if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }
966        else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }
967      }
968    });
969  })();
970</script>
970  <main id="main-content">    <!-- ===================================================================== -->
971<!-- Hero — compact band: headline + live slider                           -->
972<!-- ===================================================================== -->
973<header class="phero" data-screen-label="pricing hero">
974  <div class="phero__glow"></div>
975  <div class="phero__grid"></div>
976  <div class="phero__inner">
977    <div class="phero__intro">
978      <div class="eyebrow">Pricing</div>
979      <h1>Plans that scale with <span class="wink">your traffic</span>.</h1>
980      <p class="lead">We price by monthly visits, not words. Set your traffic and the plans update live.</p>
981    </div>
982
983    <div class="slider-card">
984      <div class="slider-top">
985        <span class="slider-top__label">Overall site traffic</span>
986        <span class="slider-top__val"><b id="visits-val">1,000</b><span>/ mo</span></span>
987      </div>
988      <div class="slider">
989        <div class="slider__track"><div class="slider__fill" id="slider-fill"></div></div>
990        <div class="slider__ticks" id="slider-ticks"></div>
991        <div class="slider__thumb" id="slider-thumb"></div>
992        <input type="range" min="0" max="8" step="1" value="0" id="visits-range" aria-label="Overall site traffic">
993        <div class="slider__labels" id="slider-labels"></div>
994      </div>
995      <div class="cycle-row">
996        <span class="cycle-row__label">Billing cycle</span>
997        <div class="cycle" id="cycle">
998          <button class="cycle__btn on" data-annual="false">Monthly</button>
999          <button class="cycle__btn" data-annual="true">Annual <span class="cycle__save">16% off</span></button>
1000        </div>
1001      </div>
1002    </div>
1003    <a class="phero__mobile-cta btn btn--primary btn--block" href="https://dashboard.bablic.com/create-account">Start Free Trial →</a>
1004  </div>
1005</header>
1006
1007<!-- ===================================================================== -->
1008<!-- Tiers — Go / Core / Pro (live prices)                                 -->
1009<!-- ===================================================================== -->
1010<section class="ptiers" data-screen-label="tiers">
1011  <div class="wrap">
1012    <div class="ptiers__grid">
1013      <!-- Go -->
1014      <div class="ptier">
1015        <div class="ptier__head"><span class="ptier__name">Go</span></div>
1016        <div class="ptier__tag">Get started with website translation</div>
1017        <div class="ptier__price"><b id="price-go">$19</b><span id="permo-go">/ month</span></div>
1018        <div class="ptier__note" id="note-go">Billed monthly</div>
1019        <a class="btn btn--blue-ghost btn--block" href="https://dashboard.bablic.com/create-account">Start Free Trial</a>
1020        <div class="ptier__lead">What's included</div>
1021        <ul class="ptier__list">
1022          <li><span class="check" data-check=""></span>Automatic &amp; self-service translation</li>
1023          <li><span class="check" data-check=""></span>In-context visual editor</li>
1024          <li><span class="check" data-check=""></span>1 language, 1 user</li>
1025          <li><span class="check" data-check=""></span>Basic support</li>
1026        </ul>
1027      </div>
1028
1029      <!-- Core (highlighted) -->
1030      <div class="ptier ptier--pop">
1031        <div class="ptier__head"><span class="ptier__name">Core</span><span class="ptier__badge">Most popular</span></div>
1032        <div class="ptier__tag">For growing businesses going global</div>
1033        <div class="ptier__price"><b id="price-core">$49</b><span id="permo-core">/ month</span></div>
1034        <div class="ptier__note" id="note-core">Billed monthly</div>
1035        <a class="btn btn--primary btn--block" href="https://dashboard.bablic.com/create-account">Start Free Trial</a>
1036        <div class="ptier__lead">Everything in Go, plus</div>
1037        <ul class="ptier__list">
1038          <li><span class="check" data-check=""></span>AI Live Assist</li>
1039          <li><span class="check" data-check=""></span>Multilingual SEO</li>
1040          <li><span class="check" data-check=""></span>5 languages, 5 users</li>
1041          <li><span class="check" data-check=""></span>Priority support</li>
1042        </ul>
1043      </div>
1044
1045      <!-- Pro -->
1046      <div class="ptier">
1047        <div class="ptier__head"><span class="ptier__name">Pro</span></div>
1048        <div class="ptier__tag">For agencies and large teams</div>
1049        <div class="ptier__price"><b id="price-pro">$199</b><span id="permo-pro">/ month</span></div>
1050        <div class="ptier__note" id="note-pro">Billed monthly</div>
1051        <a class="btn btn--blue-ghost btn--block" href="https://dashboard.bablic.com/create-account">Start Free Trial</a>
1052        <div class="ptier__lead">Everything in Core, plus</div>
1053        <ul class="ptier__list">
1054          <li><span class="check" data-check=""></span>Advanced translation workflow</li>
1055          <li><span class="check" data-check=""></span>Translation API</li>
1056          <li><span class="check" data-check=""></span>Unlimited languages and users</li>
1057          <li><span class="check" data-check=""></span>Dedicated support</li>
1058        </ul>
1059      </div>
1060    </div>
1061    <div class="compare-link">Need the full breakdown? <a href="#matrix">Compare every feature ↓</a></div>
1062  </div>
1063</section>
1064
1065<!-- ===================================================================== -->
1066<!-- Trust strip                                                           -->
1067<!-- ===================================================================== -->
1068<section class="trust" data-screen-label="trust strip">
1069  <div class="trust__label">Trusted by the world's leading brands</div>
1070  <div class="marquee">
1071    <div class="marquee__track" id="marquee-track">
1072      <picture class="brandlogo">
1073        <source type="image/avif" srcset="/images/transitional/pricing/logos/lufthansa.avif">
1074        <source type="image/webp" srcset="/images/transitional/pricing/logos/lufthansa.webp">
1075        <img src="/images/transitional/pricing/logos/lufthansa.png" width="133" height="58" alt="Lufthansa" loading="lazy" decoding="async">
1076      </picture>
1077      <picture class="brandlogo">
1078        <source type="image/avif" srcset="/images/transitional/pricing/logos/wells-fargo.avif">
1079        <source type="image/webp" srcset="/images/transitional/pricing/logos/wells-fargo.webp">
1080        <img src="/images/transitional/pricing/logos/wells-fargo.png" width="68" height="58" alt="Wells Fargo" loading="lazy" decoding="async">
1081      </picture>
1082      <picture class="brandlogo">
1083        <source type="image/avif" srcset="/images/transitional/pricing/logos/honda.avif">
1084        <source type="image/webp" srcset="/images/transitional/pricing/logos/honda.webp">
1085        <img src="/images/transitional/pricing/logos/honda.png" width="48" height="58" alt="Honda" loading="lazy" decoding="async">
1086      </picture>
1087      <picture class="brandlogo">
1088        <source type="image/avif" srcset="/images/transitional/pricing/logos/hilton.avif">
1089        <source type="image/webp" srcset="/images/transitional/pricing/logos/hilton.webp">
1090        <img src="/images/transitional/pricing/logos/hilton.png" width="72" height="58" alt="Hilton" loading="lazy" decoding="async">
1091      </picture>
1092      <picture class="brandlogo">
1093        <source type="image/avif" srcset="/images/transitional/pricing/logos/american-eagle-outfitters.avif">
1094        <source type="image/webp" srcset="/images/transitional/pricing/logos/american-eagle-outfitters.webp">
1095        <img src="/images/transitional/pricing/logos/american-eagle-outfitters.png" width="68" height="58" alt="American Eagle Outfitters" loading="lazy" decoding="async">
1096      </picture>
1097      <picture class="brandlogo">
1098        <source type="image/avif" srcset="/images/transitional/pricing/logos/fluke.avif">
1099        <source type="image/webp" srcset="/images/transitional/pricing/logos/fluke.webp">
1100        <img src="/images/transitional/pricing/logos/fluke.png" width="117" height="58" alt="Fluke" loading="lazy" decoding="async">
1101      </picture>
1102      <picture class="brandlogo">
1103        <source type="image/avif" srcset="/images/transitional/pricing/logos/hyatt.avif">
1104        <source type="image/webp" srcset="/images/transitional/pricing/logos/hyatt.webp">
1105        <img src="/images/transitional/pricing/logos/hyatt.png" width="124" height="58" alt="Hyatt" loading="lazy" decoding="async">
1106      </picture>
1107      <picture class="brandlogo">
1108        <source type="image/avif" srcset="/images/transitional/pricing/logos/estee-lauder-companies.avif">
1109        <source type="image/webp" srcset="/images/transitional/pricing/logos/estee-lauder-companies.webp">
1110        <img src="/images/transitional/pricing/logos/estee-lauder-companies.png" width="96" height="58" alt="Estée Lauder Companies" loading="lazy" decoding="async">
1111      </picture>
1112      <picture class="brandlogo">
1113        <source type="image/avif" srcset="/images/transitional/pricing/logos/fairmont-hotels-and-resorts.av
1113if">
1114        <source type="image/webp" srcset="/images/transitional/pricing/logos/fairmont-hotels-and-resorts.webp">
1115        <img src="/images/transitional/pricing/logos/fairmont-hotels-and-resorts.png" width="125" height="58" alt="Fairmont Hotels & Resorts" loading="lazy" decoding="async">
1116      </picture>
1117    </div>
1118  </div>
1119</section>
1120
1121<!-- ===================================================================== -->
1122<!-- Every plan ships with these — the page's ONE contained dark moment    -->
1123<!-- ===================================================================== -->
1124<section class="section" data-screen-label="on every plan">
1125  <div class="wrap">
1126    <div class="incl-panel">
1127      <div class="incl-panel__glow incl-panel__glow--coral"></div>
1128      <div class="incl-panel__glow incl-panel__glow--cool"></div>
1129      <div class="incl-panel__grid-tex"></div>
1130      <div class="incl-panel__inner">
1131        <div class="incl-head">
1132          <h2>Every plan <span class="wink wink--bright">includes</span>:</h2>
1133        </div>
1134        <div class="incl-grid">
1135          <div class="incl-cell"><h3>Translation Memory</h3><p>Everything your team has translated is remembered, across every site and every language, so edits compound forever.</p></div>
1136          <div class="incl-cell"><h3>Hreflang Automation</h3><p>Bablic supports deployment on SEO-friendly subdomains and subfolders and generates hreflang tags automatically. Your translated pages rank on their own.</p></div>
1137          <div class="incl-cell"><h3>Concierge Migration</h3><p>Switching from another provider? We handle the export, the cutover, and the SEO continuity. At no charge, on every plan.</p></div>
1138          <div class="incl-cell"><h3>30-Day Free Trial</h3><p>No credit card required. Run translated pages live for a full month before you decide. Walk away if it's not for you.</p></div>
1139        </div>
1140      </div>
1141    </div>
1142  </div>
1143</section>
1144
1145<!-- ===================================================================== -->
1146<!-- Feature matrix                                                        -->
1147<!-- ===================================================================== -->
1148<section class="section section--alt" id="matrix" data-screen-label="feature matrix">
1149  <div class="wrap">
1150    <div class="matrix-head">
1151      <div class="eyebrow">Feature comparison</div>
1152      <h2 class="h-sec">Compare every feature across plans.</h2>
1153    </div>
1154    <div class="matrix-tierbar" role="group" aria-label="Plan comparison">
1155      <button type="button" class="matrix-tierbar__btn" data-matrix-prev aria-label="Previous plan">
1156        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15 18l-6-6 6-6"/></svg>
1157      </button>
1158      <div class="matrix-tierbar__meta">
1159        <span class="matrix-tierbar__name" data-matrix-name>Core</span>
1160        <span class="ptier__badge matrix-tierbar__badge" data-matrix-badge>Most popular</span>
1161      </div>
1162      <button type="button" class="matrix-tierbar__btn" data-matrix-next aria-label="Next plan">
1163        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 18l6-6-6-6"/></svg>
1164      </button>
1165    </div>
1166    <div class="matrix-scroll">
1167      <div class="matrix-card" data-active-tier="1">
1168        <div class="matrix-grid">
1169          <div class="matrix-th">
1170            <div>Feature</div>
1171            <div><span class="matrix-th__name">Go</span></div>
1172            <div class="pop"><span class="matrix-th__name pop">Core</span><span class="ptier__badge">Most popular</span></div>
1173            <div><span class="matrix-th__name">Pro</span></div>
1174          </div>
1175
1176          <div class="mcat">Languages &amp; users</div>
1177          <div class="mrow"><div class="mfeat">Languages</div><div class="mcell">1</div><div class="mcell pop">5</div><div class="mcell">Unlimited</div></div>
1178          <div class="mrow"><div class="mfeat">Users</div><div class="mcell">1</div><div class="mcell pop">5</div><div class="mcell">Unlimited</div></div>
1179
1180          <div class="mcat">Translation</div>
1181          <div class="mrow"><div class="mfeat">Automatic Translation</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1182          <div class="mrow"><div class="mfeat">Self-Service Translation</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1183          <div class="mrow"><div class="mfeat">Translation Workflow</div><div class="mcell muted">Basic</div><div class="mcell pop muted">Basic</div><div class="mcell">Advanced</div></div>
1184          <div class="mrow"><div class="mfeat">In Context Editor</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1185          <div class="mrow"><div class="mfeat">AI Live Assist</div><div class="mcell" data-off=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1186          <div class="mrow"><div class="mfeat">Glossary Rules</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1187          <div class="mrow"><div class="mfeat">Translation Repository</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1188          <div class="mrow"><div class="mfeat">Asset Localization</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1189
1190          <div class="mcat">Reach &amp; visibility</div>
1191          <div class="mrow"><div class="mfeat">Reporting &amp; Statistics</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1192          <div class="mrow"><div class="mfeat">Integrations</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1193          <div class="mrow"><div class="mfeat">Multilingual SEO</div><div class="mcell" data-off=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1194          <div class="mrow"><div class="mfeat">Deployment Methods</div><div class="mcell" data-off=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1195          <div class="mrow"><div class="mfeat">Pre-Rendering Flattening</div><div class="mcell" data-off=""></div><div class="mcell pop"><span class="mbadge">Add-on</span></div><div class="mcell muted">20% discount</div></div>
1196          <div class="mrow"><div class="mfeat">Multilingual Site Search</div><div class="mcell" data-off=""></div><div class="mcell pop"><span class="mbadge">Add-on</span></div><div class="mcell" data-on=""></div></div>
1197          <div class="mrow"><div class="mfeat">Translation API</div><div class="mcell" data-off=""></div><div class="mcell pop" data-off=""></div><div class="mcell" data-on=""></div></div>
1198
1199          <div class="mcat">Support</div>
1200          <div class="mrow"><div class="mfeat">Documentation</div><div class="mcell" data-on=""></div><div class="mcell pop" data-on=""></div><div class="mcell" data-on=""></div></div>
1201          <div class="mrow"><div class="mfeat">Support Type</div><div class="mcell muted">Basic</div><div class="mcell pop">Priority</div><div class="mcell">Dedicated</div></div>
1202        </div>
1203        <div class="matrix-foot">
1204          <div>Start your trial</div>
1205          <div><a class="btn btn--blue-ghost btn--sm" href="https://dashboard.bablic.com/create-account">Start free trial →</a></div>
1206          <div class="pop"><a class="btn btn--primary btn--sm" href="https://dashboard.bablic.com/create-account">Start free trial →</a></div>
1207          <div><a class="btn btn--blue-ghost btn--sm" href="https://dashboard.bablic.com/create-account">Start free trial →</a></div>
1208        </div>
1209      </div>
1210    </div>
1211  </div>
1212</section>
1213
1214<!-- ===================================================================== -->
1215<!-- Quote band                                                            -->
1216<!-- ===================================================================== -->
1217<section class="quote" data-screen-label="quote">
1218  <div class="wrap quote__inner">
1219    <div class="quote__card">
1220      <div class="quote__mark" aria-hidden="true">&rdquo;</div>
1221      <p class="quote__text">We've been very impressed... the automatic translation of new content has been the <span class="wink">biggest bonus</span> for us.</p>
1222      <div class="quote__author">
1223        <span class="quote__avatar">SW</span>
1224        <span class="quote__who"><b>Sarah W.</b><span>BCT</span></span>
1225      </div>
1226    </div>
1227  </div>
1228</section>
1229
1230<!-- ===================================================================== -->
1231<!-- FAQ                                                                   -->
1232<!-- ===================================================================== -->
1233<section class="section" data-screen-label="faq">
1234  <div class="wrap">
1235    <div class="faq-head">
1236      <div class="eyebrow">Before you choose</div>
1237      <h2 class="h-sec">Frequently asked <span class="wink">questions</span>.</h2>
1238    </div>
1239    <div class="faq-wrap" id="faq">
1240      <div class="faq__item is-open">
1241        <button class="faq__q">How does Bablic pricing work?<span class="faq__chevron"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span></button>
1242        <div class="faq__a"><p>Bablic pricing is based on monthly page visits to your translated site. Pick the visitor tier that matches your traffic, choose your plan, and you're set. No per-word billing, no complicated formulas. If your needs change, you can upgrade or downgrade anytime.</p></div>
1243      </div>
1244      <div class="faq__item">
1245        <button class="faq__q">Why visits instead of words?<span class="faq__chevron"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span></button>
1246        <div class="faq__a"><p>Most people don't think about their website in terms of words, but most marketers can tell you what their monthly traffic looks like. Visit-based pricing is forecastable through procurement, doesn't ambush you during a wordy content quarter, and rewards you for picking up speed in international markets.</p></div>
1247      </div>
1248      <div class="faq__item">
1249        <button class="faq__q">What happens if I exceed my visitor tier?<span class="faq__chevron"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span></button>
1250        <div class="faq__a"><p>Your site stays live and translated. We won't cut off your visitors. We'll reach out to find the right plan for your real traffic, so there's no surprise overages and no per-visitor penalties.</p></div>
1251      </div>
1252      <div class="faq__item">
1253        <button class="faq__q">Is there a free trial?<span class="faq__chevron"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span></button>
1254        <div class="faq__a"><p>Yes, every plan comes with a 30-day free trial. No credit card required. Set up your languages, see translations on your live site, and only pay when you decide Bablic is right.</p></div>
1255      </div>
1256      <div class="faq__item">
1257        <button class="faq__q">Can I switch plans later?<span class="faq__chevron"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span></button>
1258        <div class="faq__a"><p>Yes, anytime. Upgrades take effect immediately. Downgrades and cancellations apply at the end of your current billing cycle.</p></div>
1259      </div>
1260      <div class="faq__item">
1261        <button class="faq__q">Do you support custom enterprise needs?<span class="faq__chevron"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span></button>
1262        <div class="faq__a"><p>Yes. Above the 1M+ visitor tier, our enterprise team builds custom plans with SSO (SAML + SCIM), audit logging, dedicated CSMs, and the full TransPerfect GDPR + HIPAA security posture.</p></div>
1263      </div>
1264      <div class="faq__item">
1265        <button class="faq__q">
1265What payment methods do you accept?<span class="faq__chevron"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span></button>
1266        <div class="faq__a"><p>All major credit cards and PayPal. Annual plans can also be paid via invoice and ACH.</p></div>
1267      </div>
1268    </div>
1269  </div>
1270</section>
1271
1272<!-- ===================================================================== -->
1273<!-- CTA — warm cream-hairline card (matches the homepage closer)          -->
1274<!-- ===================================================================== -->
1275<section class="cta-section" data-screen-label="cta">
1276  <div class="wrap">
1277    <div class="cta__card">
1278      <div class="cta__glow"></div>
1279      <div class="cta__body">
1280        <div class="eyebrow">Start your trial</div>
1281        <h2 class="h-sec">30 days. No card. No commitment.</h2>
1282        <p class="lead">See translations live on your site before you choose a plan.</p>
1283        <div class="cta__ctas">
1284          <a class="btn btn--primary btn--lg" href="https://dashboard.bablic.com/create-account">Start Free Trial →</a>
1285          <a class="btn btn--ghost btn--lg" href="/contact">Book a demo</a>
1286        </div>
1287      </div>
1288      <div class="cta__bullets">
1289        <div class="bullet"><span class="check" data-check=""></span>Free 30-day trial, no credit card required</div>
1290        <div class="bullet"><span class="check" data-check=""></span>Concierge migration from your current provider, at no charge</div>
1291        <div class="bullet"><span class="check" data-check=""></span>Translation memory included on every plan</div>
1292      </div>
1293    </div>
1294  </div>
1295</section>
1296   </main>  <style>
1297  .footer {
1298    --color-brand-blue: #1366B2;
1299    --color-brand-blue-deep: #0E4E8A;
1300    --color-coral: #BF1F4B;
1301    --color-coral-deep: #C42E58;
1302    --color-coral-soft: rgba(224, 65, 108, 0.07);
1303    --color-coral-line: rgba(224, 65, 108, 0.32);
1304    --color-canvas-alt: #E7ECF4;
1305    --color-canvas-deep: #DEE5F0;
1306    --color-card: #FFFFFF;
1307    --color-text: #1C1C1E;
1308    --color-text-muted: #5A5A5F;
1309    --color-border-canvas: rgba(28, 42, 66, 0.08);
1310    --color-border-card: rgba(28, 42, 66, 0.11);
1311    --radius-control: 8px;
1312    --radius-pill: 9999px;
1313    --content: 1280px;
1314  }
1315  .footer .wrap { max-width: var(--content); margin: 0 auto; padding: 0 64px; }
1316  .footer { background: var(--color-canvas-deep); border-top: 1px solid var(--color-border-canvas); padding: 72px 0 36px; }
1317  .footer .wordmark { font-size: 21px; font-weight: 700; letter-spacing: -0.03em; color: var(--color-brand-blue); }
1318  .footer .wordmark span { color: var(--color-coral); }
1319  .footer .footer__top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px; }
1320  .footer .footer__brand .wordmark { font-size: 23px; margin-bottom: 14px; }
1321  .footer .footer__tag { font-size: 13.5px; color: var(--color-text-muted); max-width: 260px; line-height: 1.55; }
1322  .footer .footer__col .footer__heading { font-size: 12.5px; font-weight: 600; margin-bottom: 14px; }
1323  .footer .footer__col a { display: block; font-size: 13.5px; color: var(--color-text-muted); margin-bottom: 9px; }
1324  .footer .footer__col a:hover { color: var(--color-text); }
1325  .footer .footer__bottom {
1326    padding-top: 24px; border-top: 1px solid var(--color-border-canvas);
1327    display: flex; align-items: center; justify-content: space-between;
1328    font-size: 12.5px; color: var(--color-text-muted);
1329  }
1330  /* a11y bar (dispatch A4.3) — visible only on keyboard focus */
1331  .footer a:focus-visible { outline: 2px solid var(--color-brand-blue); outline-offset: 2px; border-radius: var(--radius-control); }
1332  @media (max-width: 980px) {
1333    .footer .wrap, .footer .footer__inner { padding-left: 28px; padding-right: 28px; }
1334    .footer .footer__top { grid-template-columns: 1fr 1fr; gap: 32px; }
1335  }
1336  @media (max-width: 560px) {
1337    .footer .wrap, .footer .footer__inner { padding-left: 20px; padding-right: 20px; }
1338    .footer { padding: 52px 0 30px; }
1339    .footer .footer__top { gap: 28px 24px; }
1340    .footer .footer__bottom { flex-direction: column; gap: 14px; align-items: flex-start; }
1341  }
1342</style><!-- ===================================================================== --><!-- Block 9: Footer (site chrome)                                         --><!-- ===================================================================== --><footer class="footer"> <div class="wrap footer__inner"> <div class="footer__top"> <div class="footer__brand"> <div class="wordmark">bablic<span>.</span></div> <p class="footer__tag">Website translation made easy.<br>A TransPerfect company.</p> </div>
1342 <div class="footer__col"> <p class="footer__heading">Product</p> <a href="/website-localization">Features</a><a href="/how-it-works">How It Works</a><a href="/pricing">Pricing</a><a href="/integrations">Integrations</a><a href="/about-us">About Us</a> </div><div class="footer__col"> <p class="footer__heading">Resources</p> <a href="/blog">Blog</a><a href="/sitemap-explore">Explore</a><a href="https://support.bablic.com">Help Center</a> </div><div class="footer__col"> <p class="footer__heading">Company</p> <a href="/contact">Contact</a><a href="https://dashboard.bablic.com">Sign in</a> </div><div class="footer__col"> <p class="footer__heading">Legal</p> <a href="/privacy">Privacy</a><a href="/terms">Terms</a> </div> </div> <div class="footer__bottom"> <div>© 2026 Bablic, a TransPerfect company.</div> </div> </div> </footer> 
1342<script>
1343(function () {
1344  'use strict';
1345  var CORAL = '#BF1F4B', CORAL_BRIGHT = '#FF6E92';
1346
1347  /* checks — coral (light surfaces) + bright coral (dark panel) */
1348  function checkSVG(color){
1349    return '<svg width="18" height="18" viewBox="0 0 16 16"><circle cx="8" cy="8" r="7.6" fill="' + color + '"></circle><path d="M4.5 8.2l2.2 2.2 4.8-4.8" stroke="#fff" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg>';
1350  }
1351  document.querySelectorAll('[data-check]').forEach(function(el){ el.innerHTML = checkSVG(CORAL); });
1352  document.querySelectorAll('[data-check-bright]').forEach(function(el){ el.innerHTML = checkSVG(CORAL_BRIGHT); });
1353
1354  /* matrix on/off glyphs */
1355  var ON = '<svg width="20" height="20" viewBox="0 0 16 16"><circle cx="8" cy="8" r="7.6" fill="' + CORAL + '"></circle><path d="M4.5 8.2l2.2 2.2 4.8-4.8" stroke="#fff" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg>';
1356  var OFF = '<svg width="20" height="20" viewBox="0 0 16 16"><circle cx="8" cy="8" r="7.3" fill="none" stroke="rgba(28,42,66,0.22)" stroke-width="1.2"></circle><path d="M5.5 5.5l5 5M10.5 5.5l-5 5" stroke="rgba(28,42,66,0.4)" stroke-width="1.2" stroke-linecap="round"></path></svg>';
1357  document.querySelectorAll('.mcell[data-on]').forEach(function(el){ el.innerHTML = ON; });
1358  document.querySelectorAll('.mcell[data-off]').forEach(function(el){ el.innerHTML = OFF; });
1359
1360  /* announcement dismiss */
1361  var close = document.getElementById('announce-close');
1362  if (close) close.addEventListener('click', function(){ var a = document.getElementById('announce'); if (a) a.style.display = 'none'; });
1363
1364  /* marquee — duplicate for seamless loop */
1365  var track = document.getElementById('marquee-track');
1366  if (track) track.innerHTML = track.innerHTML + track.innerHTML;
1367
1368  /* FAQ accordion (one open; q1 default) */
1369  var faq = document.getElementById('faq');
1370  if (faq) {
1371    var items = [].slice.call(faq.querySelectorAll('.faq__item'));
1372    function setH(it, open){ var a = it.querySelector('.faq__a'); a.style.maxHeight = open ? (a.scrollHeight + 'px') : '0px'; }
1373    items.forEach(function(it){
1374      it.querySelector('.faq__q').addEventListener('click', function(){
1375        var open = it.classList.contains('is-open');
1376        items.forEach(function(o){ o.classList.remove('is-open'); setH(o, false); });
1377        if (!open) { it.classList.add('is-open'); setH(it, true); }
1378      });
1379      setH(it, it.classList.contains('is-open'));
1380    });
1381    window.addEventListener('resize', function(){ items.forEach(function(o){ setH(o, o.classList.contains('is-open')); }); });
1382  }
1383
1384  /* ---- Pricing: slider stops + price matrix + monthly/annual toggle ---- */
1385  var STOPS = ['1,000','5,000','10,000','25,000','50,000','100,000','250,000','500,000','1M+'];
1386  var SHORT = ['1K','5K','10K','25K','50K','100K','250K','500K','1M+'];
1387  var MATRIX = {
1388    go:   [19, 49, 69, 99, 129, 179, 279, 349, 449],
1389    core: [49, 79, 99, 149, 199, 279, 299, 499, 649],
1390    pro:  [199, 249, 299, 349, 449, 549, 749, 949, 1199]
1391  };
1392  var N = STOPS.length;
1393  var annual = false;
1394  var range = document.getElementById('visits-range');
1395  var fill = document.getElementById('slider-fill');
1396  var thumb = document.getElementById('slider-thumb');
1397  var visitsVal = document.getElementById('visits-val');
1398  var ticksWrap = document.getElementById('slider-ticks');
1399  var labelsWrap = document.getElementById('slider-labels');
1400
1401  // build ticks (all interior stops) + labels (every other stop)
1402  for (var i = 0; i < N; i++) {
1403    var pct = (i / (N - 1)) * 100;
1404    if (i > 0 && i < N - 1) {
1405      var t = document.createElement('i'); t.style.left = pct + '%'; t.dataset.i = i; ticksWrap.appendChild(t);
1406    }
1407    if (i % 2 === 0) {
1408      var b = document.createElement('button'); b.className = 'slabel'; b.style.left = pct + '%'; b.dataset.i = i; b.textContent = SHORT[i];
1409      b.addEventListener('click', function(e){ range.value = e.currentTarget.dataset.i; update(); });
1410      labelsWrap.appendChild(b);
1411    }
1412  }
1413
1414  function priceFor(key, idx){
1415    var raw = MATRIX[key][idx];
1416    if (typeof raw !== 'number') return raw;
1417    return annual ? raw * 10 : raw;
1418  }
1419  function fmt(v){ return typeof v === 'number' ? '$' + v.toLocaleStr
1419ing('en-US') : v; }
1420
1421  function setTier(key){
1422    var idx = parseInt(range.value, 10);
1423    var v = priceFor(key, idx);
1424    var isCustom = typeof v !== 'number';
1425    document.getElementById('price-' + key).textContent = fmt(v);
1426    var permo = document.getElementById('permo-' + key);
1427    permo.style.display = isCustom ? 'none' : '';
1428    permo.textContent = annual ? '/ year' : '/ month';
1429    document.getElementById('note-' + key).textContent = isCustom ? 'Custom contract. Talk to sales.' : (annual ? 'Billed annually, 16% off' : 'Billed monthly');
1430  }
1431
1432  function update(){
1433    var idx = parseInt(range.value, 10);
1434    var pct = (idx / (N - 1)) * 100;
1435    fill.style.width = pct + '%';
1436    thumb.style.left = pct + '%';
1437    visitsVal.textContent = STOPS[idx];
1438    ticksWrap.querySelectorAll('i').forEach(function(t){ t.classList.toggle('on', parseInt(t.dataset.i,10) <= idx); });
1439    labelsWrap.querySelectorAll('.slabel').forEach(function(l){ l.classList.toggle('on', parseInt(l.dataset.i,10) === idx); });
1440    setTier('go'); setTier('core'); setTier('pro');
1441  }
1442
1443  range.addEventListener('input', update);
1444
1445  document.getElementById('cycle').addEventListener('click', function(e){
1446    var btn = e.target.closest('.cycle__btn'); if (!btn) return;
1447    annual = btn.dataset.annual === 'true';
1448    this.querySelectorAll('.cycle__btn').forEach(function(b){ b.classList.toggle('on', b === btn); });
1449    update();
1450  });
1451
1452  update();
1453
1454
1455  /* ---- Feature matrix: mobile tier carousel (Go / Core / Pro) ---- */
1456  (function initMatrixTierCarousel(){
1457    var card = document.querySelector('.matrix-card[data-active-tier]');
1458    var bar = document.querySelector('.matrix-tierbar');
1459    if (!card || !bar) return;
1460
1461    var TIERS = [
1462      { name: 'Go', badge: '' },
1463      { name: 'Core', badge: 'Most popular' },
1464      { name: 'Pro', badge: '' }
1465    ];
1466    var idx = parseInt(card.getAttribute('data-active-tier') || '1', 10);
1467    if (isNaN(idx) || idx < 0 || idx >
1467 2) idx = 1;
1468
1469    var nameEl = bar.querySelector('[data-matrix-name]');
1470    var badgeEl = bar.querySelector('[data-matrix-badge]');
1471    var prevBtn = bar.querySelector('[data-matrix-prev]');
1472    var nextBtn = bar.querySelector('[data-matrix-next]');
1473
1474    function render(){
1475      card.setAttribute('data-active-tier', String(idx));
1476      if (nameEl) nameEl.textContent = TIERS[idx].name;
1477      if (badgeEl) {
1478        if (TIERS[idx].badge) {
1479          badgeEl.textContent = TIERS[idx].badge;
1480          badgeEl.classList.add('is-on');
1481        } else {
1482          badgeEl.textContent = '';
1483          badgeEl.classList.remove('is-on');
1484        }
1485      }
1486      if (prevBtn) prevBtn.disabled = (idx === 0);
1487      if (nextBtn) nextBtn.disabled = (idx === TIERS.length - 1);
1488    }
1489
1490    if (prevBtn) prevBtn.addEventListener('click', function(){ if (idx > 0) { idx -= 1; render(); } });
1491    if (nextBtn) nextBtn.addEventListener('click', function(){ if (idx < TIERS.length - 1) { idx += 1; render(); } });
1492
1493    // Optional swipe on the matrix card
1494    var startX = null;
1495    card.addEventListener('touchstart', function(e){
1496      if (!e.changedTouches || !e.changedTouches[0]) return;
1497      startX = e.changedTouches[0].clientX;
1498    }, { passive: true });
1499    card.addEventListener('touchend', function(e){
1500      if (startX == null || !e.changedTouches || !e.changedTouches[0]) return;
1501      var dx = e.changedTouches[0].clientX - startX;
1502      startX = null;
1503      if (Math.abs(dx) < 40) return;
1504      if (dx < 0 && idx < TIERS.length - 1) { idx += 1; render(); }
1505      else if (dx > 0 && idx > 0) { idx -= 1; render(); }
1506    }, { passive: true });
1507
1508    render();
1509  })();
1510
1511})();</script>
1511   
1511<script id="marketing-gtag-init">(function(){const GA4_ID = "G-WERSEHJY3Z";
1512const AW_ID = "AW-16483048707";
1513const SST_URL = "https://sst.bablic.com";
1514
1515    (function (w, d) {
1516      // Phase B: slim gtag → SST for GA4; Ads only after first click.
1517      // No gtm.js / GTM-MQLDZSTW. Consent Mode defaults already set in head.
1518      w.dataLayer = w.dataLayer || [];
1519      w.gtag =
1520        w.gtag ||
1521        function () {
1522          w.dataLayer.push(arguments);
1523        };
1524      var FLOOR_MS = 4000;
1525      var GTAG_SRC =
1526        'https://www.googletagmanager.com/gtag/js?id=' + GA4_ID;
1527
1528      function ensureGtagJs(cb) {
1529        if (w.__bablicGtagJsReady) {
1530          cb();
1531          return;
1532        }
1533        w.__bablicGtagJsQueue = w.__bablicGtagJsQueue || [];
1534        w.__bablicGtagJsQueue.push(cb);
1535        if (w.__bablicGtagJsStarted) return;
1536        w.__bablicGtagJsStarted = true;
1537        var s = d.createElement('script');
1538        s.async = true;
1539        s.src = GTAG_SRC;
1540        s.onload = function () {
1541          w.__bablicGtagJsReady = true;
1542          if (typeof w.gtag === 'function') {
1543            w.gtag('js', new Date());
1544          }
1545          var q = w.__bablicGtagJsQueue || [];
1546          w.__bablicGtagJsQueue = [];
1547          for (var i = 0; i < q.length; i++) q[i]();
1548        };
1549        var f = d.getElementsByTagName('script')[0];
1550        f.parentNode.insertBefore(s, f);
1551      }
1552
1553      function loadGa4() {
1554        if (w.__bablicGa4Started) return;
1555        w.__bablicGa4Started = true;
1556        ensureGtagJs(function () {
1557          w.gtag('config', GA4_ID, {
1558            server_container_url: SST_URL,
1559          });
1560        });
1561      }
1562
1563      function loadAds() {
1564        if (w.__bablicAdsStarted) return;
1565        w.__bablicAdsStarted = true;
1566        ensureGtagJs(function () {
1567          // AW config enables Conversion Linker / remarketing under Consent Mode.
1568          w.gtag('config', AW_ID);
1569        });
1570      }
1571
1572      // Marketing rarely fires these (dashboard/XAPIS owned); forward if pushed.
1573      (function hookSignUpEvents() {
1574        var dl = (w.dataLayer = w.dataLayer || []);
1575        var orig = dl.push;
1576        dl.push = function () {
1577          for (var i = 0; i < arguments.length; i++) {
1578            var item = arguments[i];
1579            if (
1580              item &&
1581              typeof item === 'object' &&
1582              !item.length &&
1583              (item.event === 'sign_up' || item.event === 'trial_started')
1584            ) {
1585              (function (ev, payload) {
1586                ensureGtagJs(function () {
1587                  var params = {};
1588                  for (var k in payload) {
1589                    if (k !== 'event' && Object.prototype.hasOwnProperty.call(payload, k)) {
1590                      params[k] = payload[k];
1591                    }
1592                  }
1593                  params.send_to = GA4_ID;
1594                  w.gtag('event', ev, params);
1595                });
1596              })(item.event, item);
1597            }
1598          }
1599          return orig.apply(dl, arguments);
1600        };
1601      })();
1602
1603      function scheduleGa4() {
1604        if (w.__bablicGa4Started) return;
1605        setTimeout(loadGa4, FLOOR_MS);
1606      }
1607
1608      if (d.readyState === 'complete') scheduleGa4();
1609      else w.addEventListener('load', scheduleGa4);
1610
1611      // Tag 65 replacement: Ads only on first user click (capture once).
1612      d.addEventListener(
1613        'click',
1614        function onFirstClick() {
1615          d.removeEventListener('click', onFirstClick, true);
1616          loadAds();
1617        },
1618        true,
1619      );
1620    })(window, document);
1621  })();</script>
1621 </body></html>

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.