.pub-root{--pub-paper:#fcfbf9;--pub-paper-2:#f4f2ec;--pub-card:#fff;--pub-ink:#101319;--pub-ink-2:#2a3140;--pub-muted:#5c6572;--pub-faint:#5c6572;--pub-line:#10131914;--pub-line-strong:#10131924;--pub-violet:#7c3aed;--pub-indigo:#4f46e5;--pub-accent:#7c3aed;--pub-grad:linear-gradient(105deg, #7c3aed 0%, #4f46e5 100%);--pub-grad-soft:linear-gradient(135deg, #7c3aed17, #4f46e512);--pub-tint-violet:#7c3aed14;--pub-ok:#047857;--pub-cyan:#0891b2;--pub-tint-cyan:#0891b214;--pub-tone-rose:#e11d48;--pub-tone-sky:#0284c7;--pub-tone-emerald:#047857;--pub-tone-amber:#d97706;--pub-tone-violet:#7c3aed;--pub-r:18px;--pub-r-lg:26px;--pub-shadow-s:0 1px 2px #1013190d, 0 8px 24px -18px #1013191f;--pub-shadow-m:0 1px 2px #1013190d, 0 12px 40px -12px #7c3aed2e;--pub-shadow-l:0 2px 4px #1013190a, 0 50px 110px -55px #23165066;background-color:var(--pub-paper);color:var(--pub-ink);font-family:var(--pub-font-body), system-ui, -apple-system, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;isolation:isolate;font-size:18px;line-height:1.7;overflow-x:clip}.pub-root ::selection{background:#7c3aed29}.pub-contact-input{border:1px solid var(--pub-line-strong);background:var(--pub-paper);width:100%;min-height:48px;color:var(--pub-ink);border-radius:14px;outline:none;padding-inline:1rem;transition:border-color .16s,box-shadow .16s,background-color .16s}.pub-contact-input:focus{border-color:var(--pub-violet);background:#fff;box-shadow:0 0 0 3px #7c3aed24}.pub-container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}.pub-container-wide{max-width:1320px}.pub-section{padding-block:clamp(4.5rem,9vw,7.5rem);position:relative}.pub-section-alt{background:var(--pub-paper-2)}.pub-bg-dots:before{content:"";pointer-events:none;background-image:radial-gradient(#10131917 1px,#0000 1.5px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(58% 55% at 50% 42%,#000 25%,#0000 78%);mask-image:radial-gradient(58% 55% at 50% 42%,#000 25%,#0000 78%)}.pub-bg-corner:before{content:"";pointer-events:none;background:radial-gradient(38% 46% at 100% 0,#7c3aed12,#0000 62%),radial-gradient(30% 40% at 0 100%,#0891b20f,#0000 60%);position:absolute;inset:0}.pub-bg-corner-b:before{content:"";pointer-events:none;background:radial-gradient(34% 44% at 0 0,#0891b20f,#0000 60%),radial-gradient(36% 46% at 100% 100%,#7c3aed12,#0000 62%);position:absolute;inset:0}.pub-bg-arc:before{content:"";pointer-events:none;background:radial-gradient(72% 120% at 50% -55%,#4f46e514,#0000 62%);position:absolute;inset:0}.pub-divider-fade{position:relative}.pub-divider-fade:after{content:"";background:linear-gradient(90deg, transparent, var(--pub-line-strong) 22%, var(--pub-line-strong) 78%, transparent);height:1px;position:absolute;top:0;left:8%;right:8%}.pub-topline:before{content:"";background:var(--pub-grad);opacity:.55;height:2px;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30% 70%,#0000);mask-image:linear-gradient(90deg,#0000,#000 30% 70%,#0000)}.pub-display,.pub-h1,.pub-h2{font-family:var(--font-display), var(--pub-font-body), system-ui, sans-serif;color:var(--pub-ink)}.pub-h3{font-family:var(--pub-font-body), system-ui, sans-serif;color:var(--pub-ink)}.pub-h1{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(2.6rem,5.2vw,4.3rem);font-weight:600;line-height:1.12}.pub-h2{letter-spacing:-.008em;text-wrap:balance;font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:600;line-height:1.18}.pub-h3{letter-spacing:-.012em;font-size:clamp(1.22rem,1.9vw,1.55rem);font-weight:800;line-height:1.3}.pub-lead{font-family:var(--pub-font-body), system-ui, sans-serif;color:var(--pub-muted);text-wrap:pretty;font-size:clamp(1.13rem,1.5vw,1.32rem);line-height:1.72}.pub-body{font-family:var(--pub-font-body), system-ui, sans-serif;color:var(--pub-muted);font-size:1.02rem;line-height:1.75}.pub-mono{font-family:var(--pub-font-mono), ui-monospace, "SF Mono", monospace}.pub-numeral{font-family:var(--font-display), var(--pub-font-body), system-ui, sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:600}.pub-grad-text{background:var(--pub-grad);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:inherit}.pub-eyebrow{font-family:var(--pub-font-body);letter-spacing:.06em;color:var(--pub-accent);background:var(--pub-tint-violet);border:1px solid #7c3aed29;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.pub-card{background:var(--pub-card);border:1px solid var(--pub-line);border-radius:var(--pub-r-lg);min-width:0;box-shadow:var(--pub-shadow-s);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}.pub-card-hover:hover{box-shadow:var(--pub-shadow-m);border-color:var(--pub-line-strong);transform:translateY(-4px)}.pub-btn{box-sizing:border-box;min-width:0;max-width:100%;font-family:var(--pub-font-body);cursor:pointer;white-space:normal;text-align:center;overflow-wrap:anywhere;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:14px 26px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s,background-color .25s,border-color .25s;display:inline-flex}.pub-btn svg{transition:transform .25s}.pub-btn-primary{background:var(--pub-accent);color:#fff;box-shadow:0 14px 34px -16px #7c3aed8c}.pub-btn-primary:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 20px 44px -16px #7c3aed80}.pub-btn-primary:hover svg{transform:translate(-3px)}.pub-btn-ghost{color:var(--pub-ink);border-color:var(--pub-line-strong);background:0 0}.pub-btn-ghost:hover{border-color:var(--pub-ink);background:#fff;transform:translateY(-2px)}.pub-btn-ghost:hover svg{transform:translate(-3px)}[dir=ltr] .pub-btn-primary:hover svg,[dir=ltr] .pub-btn-ghost:hover svg{transform:translate(3px)}.pub-hero-wash{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pub-hero-wash:before{content:"";background:radial-gradient(42% 55% at 18% 12%,#7c3aed1a,#0000 65%),radial-gradient(40% 50% at 84% 6%,#0891b21a,#0000 62%),radial-gradient(30% 40% at 55% 0,#4f46e512,#0000 60%);height:80%;position:absolute;inset:-20% -10% auto}.pub-grid-lines{pointer-events:none;background-image:linear-gradient(#10131909 1px,#0000 1px),linear-gradient(270deg,#10131909 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 62% at 50% 30%,#000 30%,#0000 78%);mask-image:radial-gradient(75% 62% at 50% 30%,#000 30%,#0000 78%)}.pub-chat{background:var(--pub-card);border:1px solid var(--pub-line);border-radius:var(--pub-r-lg);box-shadow:var(--pub-shadow-l);overflow:hidden}.pub-chat-head{border-bottom:1px solid var(--pub-line);background:linear-gradient(#fff,#fbfaf8);align-items:center;gap:10px;padding:13px 18px;display:flex}.pub-bubble-user{background:var(--pub-ink);color:#fff;border-radius:20px;max-width:85%;padding:12px 18px;font-size:.98rem;line-height:1.55;box-shadow:0 10px 24px -14px #10131980}.pub-bubble-ai{background:var(--pub-paper-2);color:var(--pub-ink);border:1px solid var(--pub-line);border-radius:20px;max-width:92%;padding:12px 18px;font-size:.98rem;line-height:1.55}.pub-action-chip{border:1px solid var(--pub-line);color:var(--pub-ink-2);box-shadow:var(--pub-shadow-s);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;font-weight:600;display:flex}.pub-typing{align-items:center;gap:4px;padding:4px 2px;display:inline-flex}.pub-typing span{background:var(--pub-faint);border-radius:999px;width:6px;height:6px;animation:1.1s ease-in-out infinite pubTyping}.pub-typing span:nth-child(2){animation-delay:.15s}.pub-typing span:nth-child(3){animation-delay:.3s}@keyframes pubTyping{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.pub-caret{vertical-align:-.15em;background:currentColor;width:2px;height:1.05em;margin-inline-start:2px;animation:.9s step-end infinite pubCaret;display:inline-block}@keyframes pubCaret{50%{opacity:0}}.pub-frame{border:1px solid var(--pub-line);box-shadow:var(--pub-shadow-l);background:#fff;border-radius:20px;overflow:hidden}.pub-frame-bar{border-bottom:1px solid var(--pub-line);background:#fbfaf8;align-items:center;gap:8px;padding:11px 16px;display:flex}.pub-frame-dot{background:#e4e1da;border-radius:999px;width:10px;height:10px}.pub-portfolio-rail{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-inline:1px}.pub-portfolio-rail::-webkit-scrollbar{display:none}.pub-demo-pill{letter-spacing:.04em;color:var(--pub-accent);background:var(--pub-tint-violet);border:1px solid #7c3aed2e;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:10px;font-weight:700}.pub-os ol::-webkit-scrollbar{display:none}.pub-os .overflow-x-auto::-webkit-scrollbar{display:none}.pub-os ol,.pub-os .overflow-x-auto{scrollbar-width:none}.pub-marquee-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.pub-marquee{gap:14px;width:max-content;animation:44s linear infinite pubMarquee;display:flex}.pub-marquee:hover{animation-play-state:paused}@keyframes pubMarquee{to{transform:translate(-50%)}}[dir=rtl] .pub-marquee{animation-name:pubMarqueeRtl}@keyframes pubMarqueeRtl{to{transform:translate(50%)}}@media (prefers-reduced-motion:reduce){.pub-root *,.pub-root :before,.pub-root :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pub-footer-lang .relative>div[role=listbox]{top:auto;bottom:calc(100% + 8px)}.pub-root a:focus-visible,.pub-root button:focus-visible{outline:2px solid var(--pub-accent);outline-offset:3px;border-radius:8px}
