/* ==================================================================
   Babel site — compiled utility stylesheet
   Replaces the runtime Tailwind CDN, so the LCP heading is styled by the
   parser: no FOUC, no layout shift, no JIT work on the main thread.

   Generated by harvesting every whitespace/quote-delimited token from the
   .dc.html pages AND the .js component files (site-components.js,
   components/*.js — their markup lives in template literals, so class runs
   there must be harvested too), then emitting a rule for each token the
   utility grammar recognises. Rule order follows Tailwind's property order
   so same-property utilities (m-0 mb-6, text-lg leading-[1.55], px-6
   md:px-12) resolve the same way they did under the CDN.

   Regenerate after adding utility classes anywhere in the project.
   ================================================================== */

/* ── Preflight (Tailwind v3 equivalent, hand-compiled) ───────────── */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: currentColor;
  --bbl-tx: 0; --bbl-ty: 0; --bbl-rot: 0; --bbl-sx: 1; --bbl-sy: 1; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; }
body { margin: 0; line-height: inherit; }
hr { height: 0; color: inherit; border-top-width: 1px; }
abbr:where([title]) { text-decoration: underline dotted; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
code, kbd, samp, pre { font-family: ui-monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea { font-family: inherit; font-feature-settings: inherit; font-size: 100%;
  font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0; }
button, select { text-transform: none; }
button, [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; background-color: transparent; background-image: none; }
:-moz-focusring { outline: auto; }
progress { vertical-align: baseline; }
summary { display: list-item; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset, legend { margin: 0; padding: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: #9ca3af; }
button, [role='button'] { cursor: pointer; }
:disabled { cursor: default; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden] { display: none; }

/* ── Utilities ──────────────────────────────────────────────────── */
.pointer-events-none { pointer-events:none; }
.pointer-events-auto { pointer-events:auto; }
.invisible { visibility:hidden; }
.relative { position:relative; }
.absolute { position:absolute; }
.static { position:static; }
.fixed { position:fixed; }
.inset-0 { inset:0px; }
.left-1\/2 { left:50%; }
.right-0 { right:0px; }
.bottom-2 { bottom:0.5rem; }
.top-\[2px\] { top:2px; }
.bottom-0 { bottom:0px; }
.left-0 { left:0px; }
.top-0 { top:0px; }
.top-full { top:100%; }
.left-full { left:100%; }
.top-1\/2 { top:50%; }
.left-\[8px\] { left:8px; }
.top-\[12px\] { top:12px; }
.bottom-\[12px\] { bottom:12px; }
.top-3 { top:0.75rem; }
.bottom-3 { bottom:0.75rem; }
.-top-\[140px\] { top:-140px; }
.-right-\[100px\] { right:-100px; }
.-bottom-\[200px\] { bottom:-200px; }
.-left-\[120px\] { left:-120px; }
.-top-10 { top:-2.5rem; }
.-right-10 { right:-2.5rem; }
.-top-\[60px\] { top:-60px; }
.-right-\[60px\] { right:-60px; }
.-top-40 { top:-10rem; }
.-right-\[120px\] { right:-120px; }
.-bottom-\[180px\] { bottom:-180px; }
.-left-\[100px\] { left:-100px; }
.z-\[1\] { z-index:1; }
.z-\[3\] { z-index:3; }
.z-40 { z-index:40; }
.z-50 { z-index:50; }
.z-10 { z-index:10; }
.col-span-1 { grid-column:span 1 / span 1; }
.col-span-2 { grid-column:span 2 / span 2; }
.flex { display:flex; }
.inline-flex { display:inline-flex; }
.inline-block { display:inline-block; }
.grid { display:grid; }
.block { display:block; }
.inline { display:inline; }
.hidden { display:none; }
.aspect-\[3\/1\] { aspect-ratio:3/1; }
.aspect-\[16\/10\] { aspect-ratio:16/10; }
.box-border { box-sizing:border-box; }
.overflow-hidden { overflow:hidden; }
.overflow-x-hidden { overflow-x:hidden; }
.overflow-y-auto { overflow-y:auto; }
.object-contain { object-fit:contain; }
.whitespace-nowrap { white-space:nowrap; }
.min-h-screen { min-height:100vh; min-height:100dvh; }
.max-w-\[860px\] { max-width:860px; }
.max-w-\[880px\] { max-width:880px; }
.max-w-\[1280px\] { max-width:1280px; }
.max-w-\[760px\] { max-width:760px; }
.max-w-\[680px\] { max-width:680px; }
.max-w-\[900px\] { max-width:900px; }
.min-h-0 { min-height:0px; }
.max-w-\[540px\] { max-width:540px; }
.max-w-\[480px\] { max-width:480px; }
.max-w-\[380px\] { max-width:380px; }
.max-w-\[250px\] { max-width:250px; }
.min-w-0 { min-width:0px; }
.min-w-\[260px\] { min-width:260px; }
.max-w-\[620px\] { max-width:620px; }
.w-\[760px\] { width:760px; }
.h-\[480px\] { height:480px; }
.w-full { width:100%; }
.w-\[26px\] { width:26px; }
.h-\[26px\] { height:26px; }
.w-11 { width:2.75rem; }
.h-11 { height:2.75rem; }
.h-screen { height:100vh; }
.w-\[480px\] { width:480px; }
.w-\[420px\] { width:420px; }
.h-\[420px\] { height:420px; }
.w-\[52px\] { width:52px; }
.h-\[52px\] { height:52px; }
.w-\[200px\] { width:200px; }
.h-\[200px\] { height:200px; }
.w-14 { width:3.5rem; }
.h-14 { height:3.5rem; }
.w-\[240px\] { width:240px; }
.h-\[240px\] { height:240px; }
.w-\[620px\] { width:620px; }
.h-\[620px\] { height:620px; }
.w-\[560px\] { width:560px; }
.h-\[560px\] { height:560px; }
.w-16 { width:4rem; }
.h-16 { height:4rem; }
.h-\[46px\] { height:46px; }
.h-\[48px\] { height:48px; }
.w-\[820px\] { width:820px; }
.h-\[520px\] { height:520px; }
.w-10 { width:2.5rem; }
.h-10 { height:2.5rem; }
.h-full { height:100%; }
.h-\[42px\] { height:42px; }
.w-9 { width:2.25rem; }
.h-9 { height:2.25rem; }
.h-\[56px\] { height:56px; }
.h-\[54px\] { height:54px; }
.w-\[18px\] { width:18px; }
.h-\[18px\] { height:18px; }
.w-\[8px\] { width:8px; }
.h-\[8px\] { height:8px; }
.w-\[2px\] { width:2px; }
.w-\[88\%\] { width:88%; }
.w-\[60\%\] { width:60%; }
.w-\[13px\] { width:13px; }
.h-\[13px\] { height:13px; }
.w-\[22px\] { width:22px; }
.flex-1 { flex:1 1 0%; }
.flex-auto { flex:1 1 auto; }
.flex-\[0_0_25vh\] { flex:0 0 25vh; }
.shrink-0 { flex-shrink:0; }
.flex-col { flex-direction:column; }
.flex-wrap { flex-wrap:wrap; }
.origin-left { transform-origin:left; }
.cursor-pointer { cursor:pointer; }
.list-none { list-style-type:none; }
.grid-cols-3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns:repeat(5, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns:repeat(4, minmax(0, 1fr)); }
.grid-cols-1 { grid-template-columns:repeat(1, minmax(0, 1fr)); }
.grid-cols-\[1fr_auto_1fr\] { grid-template-columns:1fr auto 1fr; }
.justify-self-start { justify-self:start; }
.justify-self-end { justify-self:end; }
.grid-cols-\[minmax\(0\,5fr\)_minmax\(380px\,6fr\)\] { grid-template-columns:minmax(0,5fr) minmax(380px,6fr); }
.gap-x-7 { column-gap:1.75rem; }
.gap-y-4 { row-gap:1rem; }
.gap-y-3 { row-gap:0.75rem; }
.gap-4 { gap:1rem; }
.gap-2 { gap:0.5rem; }
.gap-6 { gap:1.5rem; }
.gap-3 { gap:0.75rem; }
.gap-9 { gap:2.25rem; }
.gap-7 { gap:1.75rem; }
.gap-8 { gap:2rem; }
.gap-5 { gap:1.25rem; }
.gap-2\.5 { gap:0.625rem; }
.gap-1\.5 { gap:0.375rem; }
.gap-12 { gap:3rem; }
.gap-3\.5 { gap:0.875rem; }
.gap-\[13px\] { gap:13px; }
.gap-\[38px\] { gap:38px; }
.gap-\[72px\] { gap:72px; }
.gap-10 { gap:2.5rem; }
.gap-1 { gap:0.25rem; }
.justify-center { justify-content:center; }
.justify-between { justify-content:space-between; }
.items-center { align-items:center; }
.items-start { align-items:flex-start; }
.m-0 { margin:0px; }
.mx-auto { margin-left:auto; margin-right:auto; }
.my-auto { margin-top:auto; margin-bottom:auto; }
.mt-4 { margin-top:1rem; }
.mt-auto { margin-top:auto; }
.mt-14 { margin-top:3.5rem; }
.mt-8 { margin-top:2rem; }
.mt-24 { margin-top:6rem; }
.mt-12 { margin-top:3rem; }
.mt-6 { margin-top:1.5rem; }
.mt-10 { margin-top:2.5rem; }
.mt-5 { margin-top:1.25rem; }
.mt-1 { margin-top:0.25rem; }
.mt-\[3px\] { margin-top:3px; }
.mt-2 { margin-top:0.5rem; }
.-mr-3 { margin-right:-0.75rem; }
.mb-6 { margin-bottom:1.5rem; }
.mb-8 { margin-bottom:2rem; }
.mb-14 { margin-bottom:3.5rem; }
.mb-\[18px\] { margin-bottom:18px; }
.mb-7 { margin-bottom:1.75rem; }
.mb-\[22px\] { margin-bottom:22px; }
.mb-16 { margin-bottom:4rem; }
.mb-3\.5 { margin-bottom:0.875rem; }
.mb-10 { margin-bottom:2.5rem; }
.mb-5 { margin-bottom:1.25rem; }
.mb-3 { margin-bottom:0.75rem; }
.mb-\[3px\] { margin-bottom:3px; }
.mb-4 { margin-bottom:1rem; }
.mb-12 { margin-bottom:3rem; }
.mb-0 { margin-bottom:0px; }
.-mb-5 { margin-bottom:-1.25rem; }
.ml-\[-7\.8px\] { margin-left:-7.8px; }
.-ml-\[30px\] { margin-left:-30px; }
.p-8 { padding:2rem; }
.p-2 { padding:0.5rem; }
.p-7 { padding:1.75rem; }
.p-0 { padding:0px; }
.px-6 { padding-left:1.5rem; padding-right:1.5rem; }
.px-\[14px\] { padding-left:14px; padding-right:14px; }
.px-12 { padding-left:3rem; padding-right:3rem; }
.px-2 { padding-left:0.5rem; padding-right:0.5rem; }
.px-7 { padding-left:1.75rem; padding-right:1.75rem; }
.px-\[30px\] { padding-left:30px; padding-right:30px; }
.px-8 { padding-left:2rem; padding-right:2rem; }
.px-10 { padding-left:2.5rem; padding-right:2.5rem; }
.px-4 { padding-left:1rem; padding-right:1rem; }
.px-\[22px\] { padding-left:22px; padding-right:22px; }
.px-16 { padding-left:4rem; padding-right:4rem; }
.px-5 { padding-left:1.25rem; padding-right:1.25rem; }
.py-\[7px\] { padding-top:7px; padding-bottom:7px; }
.py-\[136px\] { padding-top:136px; padding-bottom:136px; }
.py-\[92px\] { padding-top:92px; padding-bottom:92px; }
.py-\[104px\] { padding-top:104px; padding-bottom:104px; }
.py-4 { padding-top:1rem; padding-bottom:1rem; }
.py-3\.5 { padding-top:0.875rem; padding-bottom:0.875rem; }
.py-9 { padding-top:2.25rem; padding-bottom:2.25rem; }
.py-\[52px\] { padding-top:52px; padding-bottom:52px; }
.py-14 { padding-top:3.5rem; padding-bottom:3.5rem; }
.py-\[80px\] { padding-top:80px; padding-bottom:80px; }
.py-6 { padding-top:1.5rem; padding-bottom:1.5rem; }
.py-\[100px\] { padding-top:100px; padding-bottom:100px; }
.py-3 { padding-top:0.75rem; padding-bottom:0.75rem; }
.py-\[18px\] { padding-top:18px; padding-bottom:18px; }
.py-12 { padding-top:3rem; padding-bottom:3rem; }
.py-1 { padding-top:0.25rem; padding-bottom:0.25rem; }
.pt-\[132px\] { padding-top:132px; }
.pt-12 { padding-top:3rem; }
.pt-20 { padding-top:5rem; }
.pt-\[92px\] { padding-top:92px; }
.pt-7 { padding-top:1.75rem; }
.pt-10 { padding-top:2.5rem; }
.pt-\[18px\] { padding-top:18px; }
.pr-3 { padding-right:0.75rem; }
.pb-\[40px\] { padding-bottom:40px; }
.pb-\[92px\] { padding-bottom:92px; }
.pb-\[18px\] { padding-bottom:18px; }
.pb-6 { padding-bottom:1.5rem; }
.pt-6 { padding-top:1.5rem; }
.pb-10 { padding-bottom:2.5rem; }
.pb-14 { padding-bottom:3.5rem; }
.pb-5 { padding-bottom:1.25rem; }
.pb-7 { padding-bottom:1.75rem; }
.pb-\[22\%\] { padding-bottom:22%; }
.pb-\[56px\] { padding-bottom:56px; }
.pb-4 { padding-bottom:1rem; }
.scroll-mt-24 { scroll-margin-top:6rem; }
.font-sans { font-family:'Inter', sans-serif; }
.font-display { font-family:'Open Sans', sans-serif; }
.font-num { font-family:'Roboto', sans-serif; }
.text-base { font-size:1rem; line-height:1.5rem; }
.text-xl { font-size:1.25rem; line-height:1.75rem; }
.text-\[14px\] { font-size:14px; }
.text-\[17px\] { font-size:17px; }
.text-\[13px\] { font-size:13px; }
.text-\[15px\] { font-size:15px; }
.text-\[13\.5px\] { font-size:13.5px; }
.text-\[clamp\(40px\,4\.4vw\,58px\)\] { font-size:clamp(40px,4.4vw,58px); }
.text-\[52px\] { font-size:52px; }
.text-\[28px\] { font-size:28px; }
.text-\[16\.5px\] { font-size:16.5px; }
.text-\[16px\] { font-size:16px; }
.text-\[26px\] { font-size:26px; }
.text-\[15\.5px\] { font-size:15.5px; }
.text-\[12px\] { font-size:12px; }
.text-\[clamp\(20px\,2\.2vw\,28px\)\] { font-size:clamp(20px,2.2vw,28px); }
.text-\[18px\] { font-size:18px; }
.text-\[14\.5px\] { font-size:14.5px; }
.text-\[23px\] { font-size:23px; }
.text-\[11px\] { font-size:11px; }
.text-\[clamp\(22px\,2\.3vw\,30px\)\] { font-size:clamp(22px,2.3vw,30px); }
.text-\[clamp\(20px\,1\.9vw\,26px\)\] { font-size:clamp(20px,1.9vw,26px); }
.text-\[64px\] { font-size:64px; }
.text-\[24px\] { font-size:24px; }
.text-\[clamp\(26px\,2\.9vw\,40px\)\] { font-size:clamp(26px,2.9vw,40px); }
.text-\[clamp\(17px\,1\.5vw\,21px\)\] { font-size:clamp(17px,1.5vw,21px); }
.font-semibold { font-weight:600; }
.font-normal { font-weight:400; }
.font-bold { font-weight:700; }
.font-medium { font-weight:500; }
.tracking-\[0\.01em\] { letter-spacing:0.01em; }
.tracking-\[\.14em\] { letter-spacing:.14em; }
.tracking-\[\.12em\] { letter-spacing:.12em; }
.tracking-\[\.01em\] { letter-spacing:.01em; }
.tracking-\[-0\.02em\] { letter-spacing:-0.02em; }
.tracking-\[\.16em\] { letter-spacing:.16em; }
.tracking-\[-0\.01em\] { letter-spacing:-0.01em; }
.leading-\[1\.62\] { line-height:1.62; }
.leading-\[1\.55\] { line-height:1.55; }
.leading-\[1\.45\] { line-height:1.45; }
.leading-\[1\.65\] { line-height:1.65; }
.leading-\[1\.6\] { line-height:1.6; }
.leading-\[1\.32\] { line-height:1.32; }
.leading-\[1\.5\] { line-height:1.5; }
.leading-\[1\.2\] { line-height:1.2; }
.leading-\[1\.25\] { line-height:1.25; }
.leading-\[1\.15\] { line-height:1.15; }
.leading-\[1\.35\] { line-height:1.35; }
.leading-\[1\.14\] { line-height:1.14; }
.leading-none { line-height:1; }
.leading-tight { line-height:1.25; }
.leading-relaxed { line-height:1.625; }
.leading-normal { line-height:1.5; }
.uppercase { text-transform:uppercase; }
.normal-case { text-transform:none; }
.no-underline { text-decoration-line:none; }
.text-center { text-align:center; }
.text-justify { text-align:justify; hyphens:auto; }
.text-white { color:#FFFFFF; }
.text-cta { color:#6952FA; }
.text-body { color:#5C5870; }
.text-white\/90 { color:rgba(255, 255, 255, 0.9); }
.text-brand { color:#330099; }
.text-muted { color:#9994A6; }
.text-accent { color:#FF8200; }
.text-ctaAlt { color:#8775FB; }
.text-white\/60 { color:rgba(255, 255, 255, 0.6); }
.text-white\/70 { color:rgba(255, 255, 255, 0.7); }
.text-\[\#6D6884\] { color:#6D6884; }
.text-ink { color:#0E0127; }
.text-\[\#9994A6\] { color:#9994A6; }
.text-\[\#C3BAFD\] { color:#C3BAFD; }
.text-white\/80 { color:rgba(255, 255, 255, 0.8); }
.text-white\/40 { color:rgba(255, 255, 255, 0.4); }
.text-white\/45 { color:rgba(255, 255, 255, 0.45); }
.text-\[var\(--cb-cta-primary\)\] { color:var(--cb-cta-primary); }
.text-\[\#330099\] { color:#330099; }
.bg-ink { background-color:#0E0127; }
.bg-white { background-color:#FFFFFF; }
.bg-\[\#E1DCFE\]\/60 { background-color:rgba(225, 220, 254, 0.6); }
.bg-white\/90 { background-color:rgba(255, 255, 255, 0.9); }
.bg-lav { background-color:#F7F5FF; }
.bg-\[\#C3BAFD\] { background-color:#C3BAFD; }
.bg-white\/5 { background-color:rgba(255, 255, 255, 0.05); }
.bg-\[rgba\(105\,82\,250\,0\.18\)\] { background-color:rgba(105,82,250,0.18); }
.bg-\[rgba\(255\,130\,0\,0\.16\)\] { background-color:rgba(255,130,0,0.16); }
.bg-\[\#E1DCFE\] { background-color:#E1DCFE; }
.bg-\[rgba\(255\,130\,0\,0\.14\)\] { background-color:rgba(255,130,0,0.14); }
.bg-white\/10 { background-color:rgba(255, 255, 255, 0.1); }
.bg-\[rgba\(105\,82\,250\,0\.25\)\] { background-color:rgba(105,82,250,0.25); }
.bg-cta { background-color:#6952FA; }
.bg-\[rgba\(14\,1\,39\,0\.88\)\] { background-color:rgba(14,1,39,0.88); }
.bg-\[rgba\(14\,1\,39\,0\.55\)\] { background-color:rgba(14,1,39,0.55); }
.bg-\[\#07001A\] { background-color:#07001A; }
.bg-\[\#6952FA\] { background-color:#6952FA; }
.bg-transparent { background-color:transparent; }
.bg-\[\#EDEAF3\] { background-color:#EDEAF3; }
.bg-\[\#D6CEFB\] { background-color:#D6CEFB; }
.bg-\[\#F7F5FF\] { background-color:#F7F5FF; }
.rounded { border-radius:0.25rem; }
.rounded-full { border-radius:9999px; }
.rounded-\[5px\] { border-radius:5px; }
.rounded-\[21px\] { border-radius:21px; }
.rounded-\[14px\] { border-radius:14px; }
.rounded-\[15px\] { border-radius:15px; }
.rounded-\[10px\] { border-radius:10px; }
.rounded-\[16px\] { border-radius:16px; }
.rounded-\[30px\] { border-radius:30px; }
.rounded-\[13px\] { border-radius:13px; }
.rounded-\[18px\] { border-radius:18px; }
.rounded-\[12px\] { border-radius:12px; }
.border { border-width:1px; }
.border-0 { border-width:0px; }
.border-2 { border-width:2px; }
.border-4 { border-width:4px; }
.border-t { border-top-width:1px; }
.border-r { border-right-width:1px; }
.border-b { border-bottom-width:1px; }
.border-line { border-color:#EDEAF3; }
.border-white\/10 { border-color:rgba(255, 255, 255, 0.1); }
.border-white\/15 { border-color:rgba(255, 255, 255, 0.15); }
.border-ctaAlt\/40 { border-color:rgba(135, 117, 251, 0.4); }
.border-white\/12 { border-color:rgba(255, 255, 255, 0.12); }
.border-\[\#EDEAF3\] { border-color:#EDEAF3; }
.border-cta { border-color:#6952FA; }
.border-white { border-color:#FFFFFF; }
.border-transparent { border-color:transparent; }
.border-\[\#F7F5FF\] { border-color:#F7F5FF; }
.shadow-\[0_24px_60px_rgba\(0\,0\,0\,0\.35\)\] { box-shadow:0 24px 60px rgba(0,0,0,0.35); }
.shadow-\[0_20px_44px_rgba\(46\,28\,122\,0\.16\)\] { box-shadow:0 20px 44px rgba(46,28,122,0.16); }
.shadow-\[0_18px_38px_rgba\(46\,28\,122\,0\.24\)\] { box-shadow:0 18px 38px rgba(46,28,122,0.24); }
.ring-1 { box-shadow:0 0 0 1px var(--bbl-ring-color, rgba(105,82,250,0.5)); }
.ring-white\/30 { --bbl-ring-color:rgba(255, 255, 255, 0.3); }
.opacity-0 { opacity:0; }
.backdrop-blur-2xl { backdrop-filter:blur(40px); }
.backdrop-blur-xl { backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
.backdrop-blur-lg { backdrop-filter:blur(16px); }
.transition { transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); transition-duration:150ms; }
.transition-all { transition-property:all; transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); transition-duration:150ms; }
.transition-colors { transition-property:color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); transition-duration:150ms; }
.transition-opacity { transition-property:opacity; transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); transition-duration:150ms; }
.transition-transform { transition-property:transform; transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); transition-duration:150ms; }
.transition-\[height\] { transition-property:height; transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); transition-duration:150ms; }
.duration-150 { transition-duration:150ms; }
.duration-200 { transition-duration:200ms; }
.duration-500 { transition-duration:500ms; }
.duration-300 { transition-duration:300ms; }
.ease-out { transition-timing-function:cubic-bezier(0, 0, 0.2, 1); }
.ease-in-out { transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1); }
.-translate-x-1\/2 { --bbl-tx:-50%; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.-translate-y-1\/2 { --bbl-ty:-50%; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.translate-y-2 { --bbl-ty:0.5rem; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.\[text-wrap\:balance\] { text-wrap:balance; }
.\[text-wrap\:pretty\] { text-wrap:pretty; }

/* ── State variants ─────────────────────────────────────────────── */
.group:hover .group-hover\:visible { visibility:visible; }
.group:focus-within .group-focus-within\:visible { visibility:visible; }
.hover\:text-white:hover { color:#FFFFFF; }
.hover\:text-\[var\(--cb-cta-primary\)\]:hover { color:var(--cb-cta-primary); }
.group:hover .group-hover\:text-cta { color:#6952FA; }
.hover\:bg-ctaAlt:hover { background-color:#8775FB; }
.hover\:bg-\[\#8775FB\]:hover { background-color:#8775FB; }
.hover\:bg-\[\#E1DCFE\]:hover { background-color:#E1DCFE; }
.hover\:bg-white\/15:hover { background-color:rgba(255, 255, 255, 0.15); }
.group:hover .group-hover\:bg-\[var\(--cb-bg-surface\)\] { background-color:var(--cb-bg-surface); }
.hover\:bg-\[var\(--cb-bg-surface\)\]:hover { background-color:var(--cb-bg-surface); }
.hover\:border-cta:hover { border-color:rgba(105,82,250,.25); box-shadow:0 8px 24px rgba(105,82,250,.25); }
.hover\:border-accent:hover { border-color:rgba(255,130,0,.25); box-shadow:0 8px 24px rgba(255,130,0,.25); }
.group:hover .group-hover\:border-\[var\(--cb-border-focus\)\] { border-color:rgba(105,82,250,.25); box-shadow:0 8px 24px rgba(105,82,250,.25); }
.hover\:border-\[var\(--cb-border-focus\)\]:hover { border-color:rgba(105,82,250,.25); box-shadow:0 8px 24px rgba(105,82,250,.25); }
.hover\:shadow-\[0_16px_36px_rgba\(105\,82\,250\,0\.22\)\]:hover { box-shadow:0 16px 36px rgba(105,82,250,0.22); }
.hover\:shadow-\[0_0_22px_4px_rgba\(105\,82\,250\,0\.35\)\]:hover { box-shadow:0 0 22px 4px rgba(105,82,250,0.35); }
.hover\:shadow-\[0_0_22px_4px_rgba\(105\,82\,250\,0\.45\)\]:hover { box-shadow:0 0 22px 4px rgba(105,82,250,0.45); }
.hover\:shadow-\[0_10px_28px_rgba\(105\,82\,250\,0\.45\)\]:hover { box-shadow:0 10px 28px rgba(105,82,250,0.45); }
.group:hover .group-hover\:opacity-100 { opacity:1; }
.group:focus-within .group-focus-within\:opacity-100 { opacity:1; }
.hover\:-translate-y-1\.5:hover { --bbl-ty:-0.375rem; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.hover\:-translate-y-\[5px\]:hover { --bbl-ty:-5px; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.group:hover .group-hover\:-translate-y-1 { --bbl-ty:-0.25rem; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.hover\:-translate-y-1:hover { --bbl-ty:-0.25rem; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.group:hover .group-hover\:rotate-180 { --bbl-rot:180deg; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.group:hover .group-hover\:rotate-\[360deg\] { --bbl-rot:360deg; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }
.hover\:scale-\[1\.15\]:hover { --bbl-sx:1.15; --bbl-sy:1.15; transform:translate(var(--bbl-tx), var(--bbl-ty)) rotate(var(--bbl-rot)) scale(var(--bbl-sx), var(--bbl-sy)); }

@media (min-width: 640px) {
  .sm\:grid-cols-3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .sm\:flex-row { flex-direction:row; }
  .sm\:gap-10 { gap:2.5rem; }
}

@media (min-width: 768px) {
  .md\:inline-flex { display:inline-flex; }
  .md\:hidden { display:none; }
  .md\:grid-cols-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .md\:whitespace-nowrap { white-space:nowrap; }
  .md\:p-9 { padding:2.25rem; }
  .md\:px-12 { padding-left:3rem; padding-right:3rem; }
  .md\:text-lg { font-size:1.125rem; line-height:1.75rem; }
}

@media (min-width: 1024px) {
  .lg\:whitespace-nowrap { white-space:nowrap; }
  .lg\:grid-cols-4 { grid-template-columns:repeat(4, minmax(0, 1fr)); }
  .lg\:grid-cols-\[1\.25fr_1fr\] { grid-template-columns:1.25fr 1fr; }
  .lg\:grid-cols-\[1\.08fr_1fr\] { grid-template-columns:1.08fr 1fr; }
  .lg\:gap-16 { gap:4rem; }
  .lg\:gap-8 { gap:2rem; }
  .lg\:px-12 { padding-left:3rem; padding-right:3rem; }
}

.pt-2 { padding-top:0.5rem; }
.pb-2 { padding-bottom:0.5rem; }
/* ── Responsive / mobile (plain CSS) ────────────────────────────── */
.bbl-burger { display:none; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:12px; background:transparent; color:#fff; cursor:pointer; }
.bbl-burger .bbl-burger-close { display:none; }
.bbl-burger.is-open .bbl-burger-open { display:none; }
.bbl-burger.is-open .bbl-burger-close { display:block; }
.bbl-cta-hdr { height:44px; background:#fff; color:#575DA6; }
.bbl-cta-hdr:hover, .bbl-cta-hdr:focus-visible { background:#fff; color:#575DA6; }
.bbl-hdr { padding-top:10px; padding-bottom:10px; }
.bbl-hdr .bbl-link { position:relative; }
.bbl-hdr .bbl-link::after {
  content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0;
  background:#C3BAFD; transition:width .25s ease;
}
.bbl-hdr .bbl-link:hover::after,
.bbl-hdr .bbl-link:focus-visible::after { width:100%; }
/* Page-local a:hover rules must not recolor navbar links. */
.bbl-hdr a.bbl-link:hover,
.bbl-hdr a.bbl-link:focus-visible { color:#fff; }
/* Same translucent topbar tint, lighter frost; CTA popovers stay unchanged. */
.bbl-hm-nav-panel {
  gap:4px; padding:6px 8px; border-top:0; border-radius:0 0 12px 12px;
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  box-shadow:0 10px 24px rgba(14,1,39,0.12);
}
.bbl-hm-nav-panel > a {
  position:relative; min-height:44px; padding:10px 12px; border-radius:8px;
  font-size:15.5px; font-weight:500; color:#fff;
}
.bbl-hm-nav-panel > a::after {
  content:""; position:absolute; left:12px; right:12px; bottom:4px; height:1px;
  background:#C3BAFD; transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.bbl-hm-nav-panel > a:hover::after, .bbl-hm-nav-panel > a:focus-visible::after { transform:scaleX(1); }
.bbl-hm-nav-panel > a:hover, .bbl-hm-nav-panel > a:focus-visible { background:rgba(255,255,255,0.03); color:#fff; }
.bbl-hm-nav-panel > a:focus-visible { outline:2px solid #C3BAFD; outline-offset:-2px; }
.bbl-mnav { position:absolute; top:100%; left:0; right:0; display:flex; flex-direction:column; padding:8px 24px 20px; background:#0E0127; border-bottom:1px solid rgba(255,255,255,0.1); max-height:calc(100dvh - 79px); overflow-y:auto; }
.bbl-mnav[hidden] { display:none; }
.bbl-mnav-label { padding:14px 0 4px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,0.4); }
.bbl-mnav-link { display:flex; align-items:center; min-height:48px; font-size:16px; font-weight:600; color:rgba(255,255,255,0.88); text-decoration:none; }
.bbl-mnav-sub { padding-left:14px; font-weight:500; }
.bbl-flink { display:inline-flex; align-items:center; min-height:24px; }
.bbl-hm-mlist { display:none; }
[data-spin] { flex:none; transform:rotate(0deg); transition:transform .6s cubic-bezier(.45,.05,.2,1); }
.bbl-hm-inline { display:inline-block; }
.bbl-hm-ilabel { display:block; margin-bottom:2px; text-align:center; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#5C3BAD; }
.bbl-hm-inline .bbl-hm-trigger { padding-left:16px; padding-right:16px; }

@media (max-width: 767px) {
  .bbl-hdr { padding-left:24px; padding-right:24px; padding-top:8px; padding-bottom:8px; }
  .bbl-nav-desktop, .bbl-hm-nav-panel { display:none; }
  .bbl-burger { display:inline-flex; }
  .bbl-pad { padding-left:24px; padding-right:24px; }
  .bbl-flink { min-height:44px; }
  .bbl-li { width:44px; height:44px; }
  .bbl-hm-trigger { height:auto; min-height:54px; padding:12px 20px; white-space:normal; text-align:left; }
  .bbl-hm-cta { left:0; right:auto; top:calc(100% + 4px); --bbl-ty:0; transform:none; max-width:calc(100vw - 48px); }
  babel-hover-menu[mobile="list"] { display:block; width:100%; }
  babel-hover-menu[mobile="list"] .bbl-hm-desk { display:none; }
  .bbl-hm-mlist { display:flex; flex-direction:column; gap:12px; width:100%; margin-top:8px; }
  .bbl-hm-mlabel { margin:0 0 4px; text-align:center; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#5C3BAD; }
  .bbl-hm-mitem { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:0 24px; border-radius:30px; background:#F7F5FF; color:var(--cb-cta-primary); font-weight:700; font-size:16px; text-decoration:none; transition:background-color .15s; }
  .bbl-hm-mitem:active { background:#E1DCFE; }
}
@media (min-width: 768px) {
  .bbl-mnav { display:none; }
}

/* Griglie e padding responsive */
.bbl-g4 { grid-template-columns:minmax(0,1fr); }
.bbl-g5 { grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (min-width: 640px) {
  .bbl-g4 { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bbl-g5 { grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .bbl-g4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
  .bbl-g5 { grid-template-columns:repeat(5, minmax(0,1fr)); }
}
@media (max-width: 1023px) {
  .bbl-contact-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 767px) {
  .bbl-py { padding-top:64px; padding-bottom:64px; }
  .bbl-pad-card { padding-left:24px; padding-right:24px; padding-top:36px; padding-bottom:36px; }
  .bbl-onescreen { height:auto; overflow:visible; }
  .bbl-onescreen-hero { flex:none; padding-top:112px; padding-bottom:24px; }
  .bbl-onescreen-body { flex:none; overflow:visible; padding-top:32px; padding-bottom:48px; }
}

/* Homepage rhythm: avoid stacking oversized padding across section boundaries. */
main.bbl-home { --bbl-section-space:56px; --bbl-section-tight-space:40px; }
main.bbl-home > #top { padding-top:112px; }
main.bbl-home > section:not(#top) {
  padding-top:var(--bbl-section-space); padding-bottom:var(--bbl-section-space);
}
main.bbl-home #ai .bbl-bb-heading { margin-bottom:24px; }
main.bbl-home #ai .bbl-stat-box {
  height:192px; padding-top:24px; padding-bottom:24px; margin-bottom:24px;
}
main.bbl-home > section#dicono-di-noi { padding-top:var(--bbl-section-tight-space); }
main.bbl-home #dicono-di-noi .bbl-cases-heading { margin-bottom:32px; }
@media (max-width: 767px) {
  main.bbl-home { --bbl-section-space:32px; --bbl-section-tight-space:24px; }
  main.bbl-home > #top { padding-top:96px; }
  main.bbl-home #ai .bbl-stat-box {
    height:auto; min-height:144px; padding-top:20px; padding-bottom:20px; margin-bottom:16px;
  }
  main.bbl-home #dicono-di-noi .bbl-cases-heading { margin-bottom:24px; }
}

/* Stat band (benefits-band): 1 colonna su mobile */
.bbl-bb-2, .bbl-bb-3, .bbl-bb-4 { grid-template-columns:minmax(0,1fr); }
.bbl-stat-num { font-size:clamp(44px, 9vw, 64px); }
@media (max-width: 767px) {
  .bbl-stat-box { height:auto; min-height:180px; }
}
@media (min-width: 640px) {
  .bbl-bb-4 { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (min-width: 768px) {
  .bbl-bb-2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bbl-bb-3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .bbl-bb-4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
}

/* Cookie consent: equal choices, native modal preferences, no scroll lock. */
.bbl-legal-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.bbl-legal-links a, .bbl-legal-links button {
  color:#b5b0c2; font:inherit; font-size:13.5px; text-decoration:none;
  background:none; border:0; padding:0; cursor:pointer;
}
.bbl-legal-links a:hover, .bbl-legal-links button:hover { color:#fff; text-decoration:underline; }
.bbl-legal-links :focus-visible { outline:2px solid #c3bafd; outline-offset:5px; border-radius:2px; }
.bbl-cookie-dialog {
  width:min(540px, calc(100vw - 32px)); max-height:calc(100dvh - 32px);
  margin:auto; padding:28px; overflow:auto; box-sizing:border-box;
  border:1px solid #ddd7fa; border-radius:18px; color:#24153e; background:#fff;
  box-shadow:0 24px 80px rgba(14,1,39,.3); font-family:inherit;
}
.bbl-cookie-dialog::backdrop { background:rgba(14,1,39,.5); }
.bbl-cookie-dialog h2, .bbl-cookie-banner h2 { color:#24153e; font-size:24px; line-height:1.25; margin:0 0 16px; }
.bbl-cookie-dialog p, .bbl-cookie-banner p { color:#494254; font-size:15px; line-height:1.6; margin:0 0 14px; }
.bbl-cookie-dialog a, .bbl-cookie-banner a { color:#4c34c8; text-decoration:underline; }
.bbl-cookie-banner {
  position:fixed; z-index:90; left:50%; bottom:16px; transform:translateX(-50%);
  width:min(960px, calc(100vw - 32px)); max-height:calc(100dvh - 96px); overflow:auto;
  box-sizing:border-box; padding:24px; border:1px solid #ddd7fa; border-radius:18px;
  color:#24153e; background:#fff; box-shadow:0 12px 60px rgba(14,1,39,.3); font-family:inherit;
}
.bbl-cookie-banner[hidden], [data-cookie-storage-warning][hidden] { display:none; }
.bbl-cookie-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.bbl-cookie-actions button {
  flex:1; min-width:120px; min-height:44px; padding:10px 16px; border:2px solid #4c34c8;
  border-radius:9px; background:#4c34c8; color:#fff; font:inherit; font-weight:600; cursor:pointer;
}
.bbl-cookie-actions button:hover { background:#330099; border-color:#330099; }
.bbl-cookie-dialog .bbl-cookie-close { display:block; margin:20px 0 0; padding:8px 0; border:0; background:none; color:#4c34c8; font:inherit; text-decoration:underline; cursor:pointer; }
.bbl-cookie-category { display:flex; align-items:flex-start; gap:12px; margin:18px 0; color:#494254; font-size:15px; line-height:1.6; }
.bbl-cookie-category input { width:20px; height:20px; margin-top:2px; flex-shrink:0; accent-color:#4c34c8; }
.bbl-cookie-dialog :focus-visible, .bbl-cookie-banner :focus-visible { outline:3px solid #575da6; outline-offset:3px; }
@media (max-width:480px) { .bbl-cookie-banner { padding:20px; } .bbl-cookie-banner h2 { font-size:22px; } .bbl-cookie-actions { gap:10px; } .bbl-cookie-actions button { min-width:100%; } }

/* Barra CTA fissa mobile: lascia spazio in fondo alla pagina */
@media (max-width: 767px) {
  body:has(.bbl-sticky-cta) .bbl-footer { padding-bottom:calc(40px + 84px); }
}

/* Frosted-glass card standard: add .bbl-glass to any card (radius/padding stay on the card).
   Hover lifts the card and raises the white tint; inside a .group the parent hover drives it. */
.bbl-glass {
  background:rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 8px 32px rgba(105,82,250,.08), inset 0 1px 0 rgba(255,255,255,.9);
  transition:box-shadow .3s ease, transform .2s ease, background .3s ease;
}
.bbl-glass:hover, .bbl-glass:focus-visible, .group:hover > .bbl-glass {
  outline:0; transform:translateY(-6px); background:rgba(255,255,255,.5);
  box-shadow:0 0 0 1px rgba(105,82,250,.25), 0 12px 32px rgba(105,82,250,.22);
}
/* Card body copy is justified; centred cards (e.g. stat boxes) keep their alignment. */
.bbl-glass p, .bbl-glass .mc-body > span { text-align:justify; hyphens:auto; }
.bbl-glass.text-center p { text-align:inherit; }
/* Colour blobs behind a grid of .bbl-glass cards, so the frost has something to blur. */
.bbl-glass-stage { position:relative; isolation:isolate; }
.bbl-glass-stage::before {
  content:""; position:absolute; inset:-40px 0; z-index:-1; pointer-events:none; filter:blur(48px);
  background:
    radial-gradient(circle 170px at 8% 30%, rgba(135,117,251,.45), rgba(135,117,251,0) 70%),
    radial-gradient(circle 120px at 52% 70%, rgba(135,117,251,.4), rgba(135,117,251,0) 70%),
    radial-gradient(circle 160px at 92% 30%, rgba(135,117,251,.4), rgba(135,117,251,0) 70%);
}
