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 →</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 · 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 & 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 & 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 & visibility</div> 1191 <div class="mrow"><div class="mfeat">Reporting & 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">”</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.