:root{--ink: #151122;--ink-2: #4b4364;--ink-3: #736c8c;--bg: #fbfaff;--paper: #fff;--tint: #f4f1fb;--violet: #3b2a6b;--violet-2: #6a48b8;--cyan: #2fb0c9;--line: rgba(59, 42, 107, .14);--line-soft: rgba(59, 42, 107, .07);--shell: 1180px;--pad: 28px;--ease: cubic-bezier(.22, .68, .28, 1);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Google Sans Flex", "Fraunces", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{overflow-x:hidden}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}canvas,svg,img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}::selection{background:#2fb0c947}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.serif{font-family:var(--font-serif);font-weight:500;letter-spacing:-.025em}.mono{font-family:var(--font-mono)}.shell{max-width:var(--shell);margin:0 auto;padding:0 var(--pad)}.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:20px}.eyebrow:before{content:"";width:26px;height:1px;background:currentColor;opacity:.55}.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #2fb0c92e;flex-shrink:0}.lede{font-size:17px;line-height:1.62;color:var(--ink-2)}.sec{padding:104px 0}.sec-head{max-width:640px;margin-bottom:48px}.sec-h2{font-size:clamp(30px,4.4vw,52px);line-height:1.06;text-wrap:balance}.sec-head .lede{margin-top:18px}.head-split{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}.head-split>div{flex:1 1 440px;max-width:640px}.btn{display:inline-block;padding:11px 19px;border-radius:999px;font-size:14.5px;font-weight:600;transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .2s}.btn-lg{padding:14px 22px;font-size:14.5px;display:inline-flex;align-items:center;gap:9px}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{transform:translateY(-1px);box-shadow:0 10px 22px -12px #151122b3}.btn-ghost{border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:#3b2a6b6b;background:#fff}.btn-grad{background:linear-gradient(115deg,#3b2a6b,#2fb0c9);color:#fff;box-shadow:0 8px 20px -10px #3b2a6b8c}.btn-grad:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px -10px #3b2a6bb3}.show-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-size:14.5px;font-weight:600;color:#fff;white-space:nowrap;background:linear-gradient(115deg,#3b2a6b,#6a48b8,#2fb0c9);box-shadow:0 12px 28px -12px #3b2a6b99;transition:transform .2s var(--ease),box-shadow .25s var(--ease)}.show-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:0 18px 36px -12px #3b2a6bbf}.show-cta .pulse{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 #ffffffb3;animation:pulseCta 1.8s ease-out infinite}@keyframes pulseCta{0%{box-shadow:0 0 #ffffff8c}70%{box-shadow:0 0 0 10px #fff0}to{box-shadow:0 0 #fff0}}.tx{font-size:14.5px;font-weight:600;color:var(--violet);white-space:nowrap}.tx:hover{color:var(--violet-2)}.arr{display:inline-block;transition:transform .25s var(--ease)}.btn:hover .arr,.tx:hover .arr,a:hover>.arr{transform:translate(4px)}.card-glow{position:relative}.card-glow:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:2;padding:1px;pointer-events:none;opacity:0;background:radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%),rgba(106,72,184,.55),rgba(47,176,201,.35) 45%,transparent 72%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;transition:opacity .35s var(--ease)}@media(hover:hover)and (pointer:fine){.card-glow:hover:before{opacity:1}}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d, 0ms)}[data-reveal].is-in{opacity:1;transform:none}@media(max-width:840px){:root{--pad: 20px}.sec{padding:76px 0}}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
