:root{--spire-600:#2c9ab8;--spire-700:#0284c7;--spire-800:#075985;--spire-500:#38bdf8;--spire-100:#e0f2fe;--spire-50:#f0f9ff;--brand-700:#452a6d;--brand-600:#59358a;--brand-500:#7352a8;--brand-400:#9a7ec4;--brand-300:#c4b2de;--brand-200:#e2d8ee;--brand-100:#f2ecf8;--brand-50:#f9f6fc;--ink-900:#1f1f1e;--ink-800:#2e2e2d;--ink-700:#4a4a49;--ink-600:#6b6b6a;--ink-500:#9c9b9b;--ink-400:#bdbcbc;--ink-300:#d9d8d8;--ink-200:#e8e7e7;--ink-100:#f2f1f1;--ink-50:#f8f7f7;--ink-0:#fff;--success-600:#2f7a4d;--success-100:#e3f3ea;--warning-600:#b8791a;--warning-100:#fbefd6;--danger-600:#b4322e;--danger-100:#fbe5e3;--info-600:#2a6fb0;--info-100:#e2eef9;--fg-1:var(--ink-900);--fg-2:var(--ink-700);--fg-3:var(--ink-500);--fg-4:var(--ink-400);--fg-on-brand:var(--ink-0);--bg-1:var(--ink-0);--bg-2:var(--ink-50);--bg-3:var(--ink-100);--bg-brand-soft:var(--brand-100);--border-1:var(--ink-200);--border-2:var(--ink-300);--border-strong:var(--ink-700);--border-focus:var(--brand-600);--accent:var(--brand-600);--accent-hover:var(--brand-500);--accent-pressed:var(--brand-700);--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--shadow-xs:0 1px 2px #1f1f1e0f;--shadow-sm:0 1px 3px #1f1f1e14, 0 1px 2px #1f1f1e0a;--shadow-md:0 4px 10px #1f1f1e14, 0 2px 4px #1f1f1e0a;--shadow-lg:0 12px 24px #1f1f1e1a, 0 4px 8px #1f1f1e0f;--shadow-focus:0 0 0 3px #59358a40;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.45, 0, .2, 1);--dur-fast:.12s;--dur-med:.2s;--dur-slow:.32s;--font-sans:"Roboto", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Roboto Mono", Menlo, Consolas, monospace;--container:1200px;--gutter:clamp(16px, 4vw, 24px);--nav-island-offset:88px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{min-height:100%;font-family:var(--font-sans);color:var(--fg-1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:0 0;margin:0;font-size:16px;line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a[href]{cursor:pointer}button{cursor:pointer;font-family:inherit}#root{min-height:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--atm-x1:15%;--atm-y1:12%;--atm-c1:#9b7ac859;--atm-x2:85%;--atm-y2:28%;--atm-c2:#7a8adc47;--atm-x3:70%;--atm-y3:78%;--atm-c3:#e8b86a38;--atm-x4:20%;--atm-y4:88%;--atm-c4:#b48ce642;--atm-base:#fbfafd;--atm-grain:.5}.atmosphere{z-index:-1;pointer-events:none;background:var(--atm-base);position:fixed;inset:0;overflow:hidden}.atm-blob{filter:blur(60px);will-change:transform, background;border-radius:50%;position:absolute}.atm-blob.b1{width:60vw;height:60vw;left:var(--atm-x1);top:var(--atm-y1);background:var(--atm-c1);transform:translate(-50%,-50%)}.atm-blob.b2{width:55vw;height:55vw;left:var(--atm-x2);top:var(--atm-y2);background:var(--atm-c2);transform:translate(-50%,-50%)}.atm-blob.b3{width:50vw;height:50vw;left:var(--atm-x3);top:var(--atm-y3);background:var(--atm-c3);transform:translate(-50%,-50%)}.atm-blob.b4{width:45vw;height:45vw;left:var(--atm-x4);top:var(--atm-y4);background:var(--atm-c4);transform:translate(-50%,-50%)}.atm-grain{opacity:var(--atm-grain);mix-blend-mode:overlay;background:repeating-radial-gradient(circle at 30% 20%,#fff9 0 1px,#0000 1px 4px),repeating-radial-gradient(circle at 70% 80%,#0000000a 0 1px,#0000 1px 4px);position:absolute;inset:-10%}main,footer{z-index:2;position:relative}.reveal{opacity:0;transition:opacity .72s var(--ease-out), transform .72s var(--ease-out);transform:translateY(14px)}.reveal.in{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(24px)}.reveal-stagger.in>:first-child{transition-delay:60ms}.reveal-stagger.in>:nth-child(2){transition-delay:.14s}.reveal-stagger.in>:nth-child(3){transition-delay:.22s}.reveal-stagger.in>:nth-child(4){transition-delay:.3s}.reveal-stagger.in>:nth-child(5){transition-delay:.38s}.reveal-stagger.in>:nth-child(6){transition-delay:.46s}.reveal-stagger.in>*{opacity:1;transform:translateY(0)}.lux-card{transform-style:preserve-3d;will-change:transform;transition:transform .32s cubic-bezier(.22,.61,.36,1),box-shadow .32s,background .24s,border-color .24s;position:relative;overflow:hidden}.lux-card.is-hover{transform:perspective(900px) rotateX(calc(var(--rx,0deg) * var(--tilt,1))) rotateY(calc(var(--ry,0deg) * var(--tilt,1))) translateZ(8px)}.lux-card:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(280px circle at calc(var(--mx,50%) * 1%) calc(var(--my,50%) * 1%), #7c5cc538 0%, #7c5cc51a 28%, #7c5cc500 62%);opacity:0;z-index:1;mix-blend-mode:plus-lighter;transition:opacity .28s;position:absolute;inset:0}.lux-card.is-hover:before{opacity:1}.lux-card:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#fff0 40%,#ffffff2e 50%,#fff0 60%) 0 0/220% 220%;background-position:calc(var(--mx,50%) * 1%) calc(var(--my,50%) * 1%);opacity:0;z-index:1;mix-blend-mode:overlay;transition:opacity .28s;position:absolute;inset:0}.lux-card.is-hover:after{opacity:.6}.lux-card>*{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1!important;transition:none!important;transform:none!important}.lux-card,.lux-card.is-hover{transform:none!important}.lux-card:before,.lux-card:after{display:none}}.nav{z-index:50;pointer-events:none;width:calc(100% - 32px);max-width:920px;position:fixed;top:16px;left:50%;transform:translate(-50%)}.nav-inner{pointer-events:auto;height:56px;color:var(--ink-900);-webkit-backdrop-filter:saturate(180%)blur(20px);transition:max-width .32s var(--ease-out), background .24s var(--ease-out), box-shadow .24s var(--ease-out), border-radius .14s var(--ease-out);background:#ffffffa6;border:1px solid #ffffff8c;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 18px;display:flex;box-shadow:inset 0 1px #fff9,0 8px 28px -10px #452a6d38,0 2px 8px -2px #452a6d1a}.nav.scrolled .nav-inner{background:#ffffffd1;box-shadow:inset 0 1px #ffffffb3,0 12px 32px -10px #452a6d47,0 4px 12px -4px #452a6d24}.logo{color:var(--ink-900);letter-spacing:-.01em;cursor:pointer;flex-shrink:0;align-items:center;gap:10px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.logo:focus-visible{outline:2px solid var(--brand-600);outline-offset:3px;border-radius:12px}.logo--bi{gap:12px}.logo-wordmark{letter-spacing:-.02em;color:var(--brand-600);font-weight:700}.logo-x{color:var(--ink-400);-webkit-user-select:none;user-select:none;font-size:16px;font-weight:300}.logo-spire{width:auto;height:22px}.nav-links{flex:1;gap:2px;margin-left:12px;display:flex}.nav-links a{color:var(--fg-2);cursor:pointer;transition:background .16s var(--ease-out), color .16s var(--ease-out);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--ink-900);background:#59358a14}.nav-links a:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.nav-cta{background:var(--brand-600);color:#fff;height:44px;transition:background .16s var(--ease-out), transform .16s var(--ease-out);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.nav-cta:focus-visible{outline:2px solid var(--brand-600);outline-offset:3px;box-shadow:0 0 0 3px #fffffff2}.nav-cta:hover{background:var(--brand-500);transform:translateY(-1px)}.nav-cta:active{background:var(--brand-700);transform:translateY(0)}.nav-burger{width:44px;height:44px;color:var(--brand-700);transition:background .16s var(--ease-out);background:#59358a1a;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:none}.nav-burger:hover{background:#59358a2e}.nav-burger:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.nav-burger .bars{width:18px;height:12px;position:relative}.nav-burger .bars span{height:2px;transition:transform .28s var(--ease-out), opacity .2s var(--ease-out), top .28s var(--ease-out);background:currentColor;border-radius:2px;position:absolute;left:0;right:0}.nav-burger .bars span:first-child{top:0}.nav-burger .bars span:nth-child(2){top:5px}.nav-burger .bars span:nth-child(3){top:10px}.nav.open .nav-burger .bars span:first-child{top:5px;transform:rotate(45deg)}.nav.open .nav-burger .bars span:nth-child(2){opacity:0}.nav.open .nav-burger .bars span:nth-child(3){top:5px;transform:rotate(-45deg)}.nav-panel{display:none}.nav-panel-inner{border-top:1px solid #1f1f1e14;flex-direction:column;gap:2px;margin-top:4px;padding:8px 0 14px;display:flex}.nav-panel a{color:var(--fg-2);cursor:pointer;transition:background .16s var(--ease-out), color .16s var(--ease-out);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.nav-panel a:hover{color:var(--ink-900);background:#59358a14}.nav-panel a:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.nav-panel a .arrow{opacity:.4;color:var(--brand-600);transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);margin-left:auto}.nav-panel a:hover .arrow{opacity:.9;transform:translate(2px)}.nav-panel .panel-cta{background:var(--brand-600);color:#fff;justify-content:center;margin-top:8px;font-weight:600}.nav-panel .panel-cta:hover{background:var(--brand-500);color:#fff}.nav-panel .panel-cta:focus-visible{outline-offset:3px;outline:2px solid #fff}.nav-panel .panel-cta .arrow{display:none}@media (width<=920px){.nav-links,.nav-cta{display:none}.nav-burger{display:inline-flex}.nav-panel{opacity:0;max-height:0;transition:max-height .36s var(--ease-out), opacity .22s var(--ease-out), padding .28s var(--ease-out), margin .28s var(--ease-out);margin:0 6px;padding:0 14px;display:block;overflow:hidden}.nav-inner{height:auto;transition:border-radius .14s var(--ease-out), background .24s var(--ease-out), box-shadow .24s var(--ease-out);border-radius:999px;flex-direction:column;align-items:stretch;gap:0;padding:8px}.nav-row{justify-content:space-between;align-items:center;height:44px;padding:0 0 0 12px;display:flex}.nav.open .nav-inner{border-radius:28px}.nav.open .nav-panel{opacity:1;max-height:420px}}@media (width>=921px){.nav-row{display:contents}}@media (width<=480px){.nav{width:calc(100% - 16px);top:12px}.logo{font-size:14px}.logo-spire{height:20px}}body{padding-top:var(--nav-island-offset)}@media (width<=480px){:root{--nav-island-offset:76px}}.container{width:100%;max-width:var(--container);padding:0 var(--gutter);margin:0 auto}section[id]{scroll-margin-top:calc(var(--nav-island-offset) + 12px)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--brand-600);color:#fff;cursor:pointer;transition:transform .2s var(--ease-out);border-radius:0 0 10px 10px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;position:fixed;top:0;left:16px;transform:translateY(-120%)}.skip-link:focus{outline-offset:2px;outline:2px solid #fff;transform:translateY(0)}#main:focus{outline:none}#main:focus-visible{outline:2px solid var(--brand-600);outline-offset:4px}.hero{margin-top:calc(-1 * var(--nav-island-offset));padding:calc(var(--nav-island-offset) + 64px) 0 clamp(56px, 8vw, 96px);background:0 0;position:relative;overflow:hidden}.hero-inner{grid-template-columns:1fr;align-items:center;gap:clamp(32px,5vw,56px);display:grid}@media (width>=1000px){.hero-inner{grid-template-columns:1.05fr 1fr}}.hero-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700);background:var(--brand-100);border-radius:999px;align-items:center;gap:10px;margin-bottom:24px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-flex}.hero-eyebrow-dot{background:var(--brand-600);border-radius:999px;width:8px;height:8px;animation:2.4s ease-in-out infinite hero-dot-pulse;box-shadow:0 0 0 4px #59358a26}@keyframes hero-dot-pulse{0%,to{box-shadow:0 0 0 4px #59358a26}50%{box-shadow:0 0 0 6px #59358a0d}}@media (prefers-reduced-motion:reduce){.hero-eyebrow-dot{animation:none}}.hero h1{letter-spacing:-.02em;color:var(--ink-900);text-wrap:balance;margin:0 0 20px;font-size:clamp(34px,5.4vw,64px);font-weight:700;line-height:1.04}.hero h1 .accent{color:var(--brand-600)}.hero h1 .accent-spire{color:var(--spire-700)}.hero .lede{color:var(--fg-2);text-wrap:pretty;max-width:56ch;margin:0 0 28px;font-size:clamp(16px,1.6vw,19px);line-height:1.55}.hero-ctas{flex-wrap:wrap;gap:12px;display:flex}.hero-meta{color:var(--fg-3);border-top:1px solid #1f1f1e1a;flex-wrap:wrap;gap:28px;margin-top:36px;padding-top:24px;font-size:13px;display:flex}.hero-meta strong{color:var(--fg-1);letter-spacing:-.01em;font-size:22px;font-weight:700;display:block}.btn{border-radius:var(--radius-md);height:44px;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand-600);color:#fff;box-shadow:inset 0 1px #ffffff26,0 6px 18px #59358a4d}.btn-primary:hover{background:var(--brand-500)}.btn-ghost{color:var(--fg-1);border-color:var(--border-2);background:0 0}.btn-ghost:hover{border-color:var(--ink-700);background:var(--ink-50)}.btn-lg{border-radius:10px;height:52px;padding:0 26px;font-size:16px}.btn:focus-visible{outline:2px solid var(--brand-600);outline-offset:3px}.btn-primary:focus-visible{box-shadow:0 0 0 4px var(--brand-600);outline-color:#fff}.btn-ghost:focus-visible{outline-color:var(--brand-600)}.section-veil{background:#ffffff59}section{padding:clamp(56px,8vw,112px) 0}.sect-head{text-align:center;max-width:720px;margin:0 auto clamp(32px,4vw,56px)}.sect-head .kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--brand-700);font-size:12px;font-weight:700}.sect-head h2{letter-spacing:-.015em;color:var(--ink-900);text-wrap:balance;margin:12px 0 14px;font-size:clamp(28px,3.4vw,40px);font-weight:700;line-height:1.15}.sect-head p{color:var(--fg-2);text-wrap:pretty;margin:0;font-size:17px;line-height:1.55}.video-player-fallback{max-width:1000px;min-height:200px;color:var(--fg-3);text-align:center;background:#ffffff80;border:1px dashed #59358a59;border-radius:16px;place-items:center;margin:0 auto;padding:24px;font-size:15px;line-height:1.55;display:grid}.video-player-fallback code{font-size:.9em}.intro-video-lazy-host{min-height:120px}.intro-video-skeleton{aspect-ratio:16/9;border-radius:var(--radius-xl);border:1px solid var(--border-1);width:100%;color:var(--fg-3);background:linear-gradient(135deg,#59358a14,#0284c70f);place-items:center;font-size:14px;display:grid}.intro-video-skeleton-label{border-radius:var(--radius-pill);border:1px solid var(--border-1);background:#ffffffbf;padding:12px 16px}.mockup{background:linear-gradient(180deg, #fff, var(--ink-50));border:1px solid var(--border-1);transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out);border-radius:16px;padding:14px;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #1f1f1e2e,0 12px 24px -10px #59358a2e}.mockup:hover{box-shadow:0 38px 70px -22px #1f1f1e38,0 14px 28px -10px #59358a40}.mockup:before{content:"";pointer-events:none;background:radial-gradient(800px 400px at 100% 0,#0ea5e914,#0000 60%);position:absolute;inset:0}.mockup-bar{align-items:center;gap:8px;padding:6px 8px 12px;display:flex}.mockup-bar .dots{gap:6px;display:flex}.mockup-bar .dots span{background:var(--ink-200);width:9px;height:9px;transition:background var(--dur-fast) var(--ease-out);border-radius:999px}.mockup-bar .dots span:first-child{background:#ff6159}.mockup-bar .dots span:nth-child(2){background:#ffbe2e}.mockup-bar .dots span:nth-child(3){background:#28c941}.mockup-bar .url{background:var(--ink-100);height:22px;color:var(--fg-3);font-size:11px;font-family:var(--font-mono);border-radius:6px;flex:1;align-items:center;gap:8px;padding:0 8px 0 10px;display:flex}.mockup-bar .url .url-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.live-pill{font-family:var(--font-sans);color:var(--success-600);letter-spacing:.04em;background:#2f7a4d1f;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.live-pill .live-dot{background:var(--success-600);border-radius:999px;width:6px;height:6px;animation:1.8s ease-out infinite mockup-live-pulse;box-shadow:0 0 #2f7a4d80}@keyframes mockup-live-pulse{0%{box-shadow:0 0 #2f7a4d80}70%{box-shadow:0 0 0 8px #2f7a4d00}to{box-shadow:0 0 #2f7a4d00}}.mockup-filters{flex-wrap:wrap;gap:6px;padding:0 4px 10px;display:flex}.filter-chip{border:1px solid var(--border-1);color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.filter-chip:hover{border-color:var(--brand-300);color:var(--brand-700);background:var(--brand-50)}.filter-chip:active{transform:scale(.96)}.filter-chip:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.filter-chip.active{background:var(--brand-100);color:var(--brand-700);border-color:var(--brand-300);box-shadow:0 1px #59358a0d}.filter-chip.add{color:var(--fg-3);border-style:dashed}.filter-chip.add:hover{color:var(--brand-700);border-color:var(--brand-400);background:var(--brand-50)}.filter-chip .chip-label{animation:chip-label-in .28s var(--ease-out);display:inline-block}.filter-chip .chip-caret{opacity:.6;transition:transform var(--dur-fast) var(--ease-out)}.filter-chip:hover .chip-caret{opacity:1;transform:translateY(1px)}@keyframes chip-label-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mockup-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding:4px;display:grid}@media (width<=720px){.mockup-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.mockup-grid{grid-template-columns:1fr}}.kpi{border:1px solid var(--border-1);text-align:left;cursor:pointer;transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);animation:kpi-rise .52s var(--ease-out) both;background:#fff;border-radius:10px;padding:12px;font-family:inherit;position:relative;overflow:hidden}.kpi:after{content:"";border-radius:inherit;opacity:0;transition:opacity var(--dur-med) var(--ease-out);pointer-events:none;z-index:0;-webkit-mask-composite:xor;background:linear-gradient(135deg,#59358a2e,#0ea5e92e);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.kpi:hover{border-color:#0000;transform:translateY(-2px);box-shadow:0 14px 30px -16px #59358a59}.kpi:hover:after{opacity:1}.kpi>*{z-index:1;position:relative}.kpi-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi .label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.kpi .kpi-spark{color:var(--brand-400);opacity:0;transition:opacity var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);transform:translateY(2px)}.kpi:hover .kpi-spark,.kpi:focus-visible .kpi-spark{opacity:1;transform:translateY(0)}.kpi.brand .kpi-spark{color:var(--brand-500)}.kpi.spire .kpi-spark{color:var(--spire-600)}.kpi .value{color:var(--ink-900);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:20px;font-weight:700}.kpi .delta{align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:600;display:inline-flex}.kpi .delta-suffix{color:var(--fg-3);font-weight:500}.kpi .delta.up{color:var(--success-600)}.kpi .delta.dn{color:var(--danger-600)}.kpi.brand .value{color:var(--brand-600)}.kpi.spire .value{color:var(--spire-700)}.kpi.pop{animation:kpi-pop .38s var(--ease-out)}@keyframes kpi-pop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes kpi-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kpi:first-child{animation-delay:40ms}.kpi:nth-child(2){animation-delay:90ms}.kpi:nth-child(3){animation-delay:.14s}.kpi:nth-child(4){animation-delay:.19s}.chart-card{border:1px solid var(--border-1);transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out);animation:kpi-rise .6s var(--ease-out) both;background:#fff;border-radius:10px;grid-column:span 2;padding:12px;animation-delay:.24s}.chart-card:hover{box-shadow:0 14px 30px -18px #1f1f1e33}.chart-card--wide{grid-column:span 4;animation-delay:.32s}@media (width<=720px){.chart-card--wide{grid-column:span 2}}@media (width<=480px){.chart-card,.chart-card--wide{grid-column:span 1}}.chart-card .ctitle{color:var(--fg-2);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.chart-card .pill{background:var(--brand-100);color:var(--brand-700);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.chart-card .pill.spire{background:var(--spire-100);color:var(--spire-800)}.bars{align-items:flex-end;gap:6px;height:78px;padding-top:4px;display:flex;position:relative}.bars .bar{height:var(--bar-h,50%);cursor:pointer;background:linear-gradient(180deg, var(--brand-500), var(--brand-700));transform-origin:bottom;transition:filter var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);animation:bar-grow .6s var(--ease-out) both;animation-delay:calc(var(--bar-i,0) * 50ms + .28s);border:none;border-radius:4px 4px 0 0;flex:1;padding:0;position:relative}@keyframes bar-grow{0%{opacity:.4;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.bars .bar.spire{background:linear-gradient(180deg, var(--spire-500), var(--spire-800))}.bars .bar:hover,.bars .bar.is-hover{filter:brightness(1.08);transform:scaleY(1.04);box-shadow:0 6px 14px -6px #59358a80}.bars .bar.is-selected{outline:2px solid var(--brand-300);outline-offset:2px;filter:brightness(1.1)saturate(1.1)}.bars .bar.spire.is-selected{outline-color:var(--spire-500)}.bar-tip{background:var(--ink-900);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);z-index:5;border-radius:6px;flex-direction:column;align-items:center;gap:0;padding:5px 8px;font-size:10px;font-weight:500;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);box-shadow:0 6px 14px #1f1f1e33}.bar-tip:after{content:"";border:4px solid #0000;border-top-color:var(--ink-900);width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.bar-tip strong{color:#fff;font-size:11px;font-weight:700}.bar-tip span{color:var(--ink-300);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.bars .bar:hover .bar-tip,.bars .bar.is-hover .bar-tip,.bars .bar:focus-visible .bar-tip{opacity:1;transform:translate(-50%)}.bars-axis{gap:6px;margin-top:6px;display:flex}.bars-axis span{text-align:center;color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;transition:color var(--dur-fast) var(--ease-out);flex:1;font-size:9px;font-weight:500}.bars-axis span.is-selected{color:var(--brand-700);font-weight:700}.line-wrap{position:relative}.line-wrap:focus-visible{outline:2px solid var(--brand-600);outline-offset:4px;border-radius:8px}.line-svg{cursor:crosshair;width:100%;height:72px;display:block}.line-stroke{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:line-draw 1.4s var(--ease-out) forwards}.line-stroke--blue{animation-delay:.22s}@keyframes line-draw{to{stroke-dashoffset:0}}.line-area{opacity:0;animation:line-fade .8s var(--ease-out) forwards;animation-delay:.8s}@keyframes line-fade{to{opacity:1}}.line-tip{background:var(--ink-900);color:#fff;white-space:nowrap;pointer-events:none;z-index:4;border-radius:6px;flex-direction:column;gap:2px;padding:6px 10px;font-size:10px;font-weight:500;display:flex;position:absolute;top:-6px;transform:translate(-50%,-100%);box-shadow:0 6px 14px #1f1f1e33}.line-tip-label{color:var(--ink-300);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.line-tip-row{align-items:center;gap:6px;display:inline-flex}.line-tip .dot{border-radius:999px;width:7px;height:7px}.line-tip .dot-purple{background:var(--brand-500)}.line-tip .dot-blue{background:var(--spire-600)}.tree{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;gap:4px;height:72px;display:grid}.tree-cell{cursor:pointer;transform-origin:50%;transition:transform var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);animation:cell-in .5s var(--ease-out) both;border:none;border-radius:4px;padding:0;position:relative;overflow:visible}.tree-cell.t1{grid-row:span 2;animation-delay:.32s}.tree-cell.t2{animation-delay:.36s}.tree-cell.t3{animation-delay:.4s}.tree-cell.t4{animation-delay:.44s}.tree-cell.t5{animation-delay:.48s}@keyframes cell-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.tree-cell:hover{filter:brightness(1.05)saturate(1.1);z-index:2;transform:scale(1.04);box-shadow:0 6px 14px -4px #1f1f1e40}.tree-cell.is-selected{outline-offset:-3px;outline:2px solid #fff;box-shadow:0 0 0 2px #59358a66,0 8px 18px -6px #1f1f1e4d}.tree-tip{background:var(--ink-900);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);z-index:5;border-radius:6px;flex-direction:column;align-items:center;padding:5px 8px;font-size:10px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,4px);box-shadow:0 6px 14px #1f1f1e33}.tree-tip:after{content:"";border:4px solid #0000;border-top-color:var(--ink-900);width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tree-tip strong{font-size:11px;font-weight:700}.tree-tip span{color:var(--ink-300);letter-spacing:.04em;font-size:9px}.tree-tip.show,.tree-cell:focus-visible .tree-tip{opacity:1;transform:translate(-50%)}.live-toast{color:#fff;font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;z-index:3;background:#1f1f1eeb;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;bottom:12px;right:12px;transform:translateY(8px);box-shadow:0 8px 22px -8px #1f1f1e66}.live-toast.show{animation:toast-pop 2.8s var(--ease-out)}.live-toast-dot{background:#28c941;border-radius:999px;width:6px;height:6px;animation:1.6s ease-out infinite mockup-live-pulse;box-shadow:0 0 #28c94180}@keyframes toast-pop{0%{opacity:0;transform:translateY(8px)}10%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.float-card{border:1px solid var(--border-1);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex;position:absolute;bottom:-22px;left:-18px}.float-card .ico{background:linear-gradient(135deg, var(--brand-600), var(--spire-700));color:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.float-card .ttl{color:var(--ink-900);font-weight:600}.float-card .sub{color:var(--fg-3);font-size:12px}@media (prefers-reduced-motion:reduce){.mockup,.mockup *,.mockup :before,.mockup :after{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}.live-pill .live-dot,.live-toast-dot{animation:none!important}.line-stroke{stroke-dasharray:none;stroke-dashoffset:0}.line-area{opacity:1}.live-toast.show{opacity:0}}.video-player-container{aspect-ratio:16/9;border-radius:var(--radius-xl);border:1px solid var(--border-1);background:#000;width:100%;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #1f1f1e33,0 12px 24px -10px #59358a33}.video-player-container video{object-fit:cover;cursor:pointer;width:100%;height:100%}.video-overlay-play{cursor:pointer;transition:background var(--dur-med);z-index:10;background:#0003;place-items:center;display:grid;position:absolute;inset:0}.video-overlay-play:hover{background:#0000004d}.play-button-large{background:var(--brand-600);color:#fff;width:80px;height:80px;transition:transform var(--dur-med) var(--ease-out), background var(--dur-med);border-radius:999px;place-items:center;display:grid;transform:scale(1);box-shadow:0 8px 32px #59358a66}.play-button-large svg{width:40px;height:40px;margin-left:4px}.video-overlay-play:hover .play-button-large{background:var(--brand-500);transform:scale(1.1)}.video-controls-wrapper{opacity:0;transition:opacity var(--dur-med), transform var(--dur-med);z-index:20;background:linear-gradient(#0000 0%,#0009 100%);padding:20px;position:absolute;bottom:0;left:0;right:0;transform:translateY(10px)}.video-player-container.show-controls .video-controls-wrapper,.video-player-container.is-paused .video-controls-wrapper{opacity:1;transform:translateY(0)}.video-controls-main{-webkit-backdrop-filter:blur(12px)saturate(180%);border-radius:var(--radius-lg);color:#fff;background:#ffffff1a;border:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.controls-left{flex-grow:1}.controls-left,.controls-right{align-items:center;gap:12px;display:flex}.control-btn{color:#fff;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur-fast), transform var(--dur-fast);background:0 0;border:none;place-items:center;padding:8px;display:grid}.control-btn:hover{background:#ffffff26}.control-btn:active{transform:scale(.95)}.control-btn svg{width:20px;height:20px}.video-time{font-size:13px;font-weight:500;font-family:var(--font-mono);color:#ffffffe6;gap:4px;display:flex}.time-divider{color:#fff6}.video-progress-container{width:100%;position:relative}.video-progress-bar{-webkit-appearance:none;cursor:pointer;background:#fff3;border-radius:2px;outline:none;width:100%;height:4px;margin:0;position:relative}.video-progress-bar::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--brand-500) 0%, var(--brand-500) var(--progress), #fff3 var(--progress), #fff3 100%);border-radius:2px;width:100%;height:4px}.video-progress-bar::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;opacity:0;width:12px;height:12px;transition:opacity var(--dur-fast);background:#fff;border-radius:999px;margin-top:-4px;box-shadow:0 0 10px #0000004d}.video-player-container:hover .video-progress-bar::-webkit-slider-thumb{opacity:1}.volume-control{max-width:40px;transition:max-width var(--dur-med) var(--ease-out);align-items:center;gap:0;display:flex;overflow:hidden}.volume-control:hover{max-width:140px}.volume-slider{-webkit-appearance:none;cursor:pointer;background:#fff3;border-radius:2px;width:80px;height:4px;margin-left:8px}.volume-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, #fff 0%, #fff var(--volume-prog), #fff3 var(--volume-prog), #fff3 100%);border-radius:2px;width:100%;height:4px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:999px;width:10px;height:10px;margin-top:-3px}.hide-controls .video-controls-wrapper,.video-player-container.is-playing.hide-controls{cursor:none}.spire-word{color:var(--spire-600);font-weight:600}.bizkey-word{color:var(--brand-500);font-weight:600}.pillars{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=760px){.pillars{grid-template-columns:repeat(3,1fr)}}.pillar{-webkit-backdrop-filter:blur(8px);transition:box-shadow .32s var(--ease-out);background:#ffffffb8;border:1px solid #ffffffb3;border-radius:14px;padding:28px;position:relative;box-shadow:inset 0 1px #fffc,0 12px 32px -16px #452a6d1f}.pillar .num{color:var(--accent);letter-spacing:.1em;font-size:12px;font-weight:700}.pillar h3{color:var(--ink-900);letter-spacing:-.01em;margin:8px 0 10px;font-size:22px;font-weight:700}.pillar p{color:var(--fg-2);margin:0 0 16px;font-size:15px;line-height:1.55}.pillar ul{margin:0;padding:0;font-size:14px;list-style:none}.pillar ul li{border-top:1px solid var(--border-1);color:var(--fg-2);align-items:center;gap:10px;padding:8px 0;display:flex}.pillar ul li:before{content:"";background:var(--accent);border-radius:999px;flex-shrink:0;width:6px;height:6px}.integration-section{background:linear-gradient(#f0f9ffbf,#ffffffa6)}.integration-section .sect-head .kicker{color:var(--spire-700)}.integration{grid-template-columns:1fr;align-items:stretch;gap:20px;display:grid}@media (width>=760px){.integration{grid-template-columns:1fr auto 1fr auto 1fr}}.int-step{border:1px solid var(--border-1);text-align:center;background:#ffffffd9;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:28px;display:flex}.int-step .ic{border-radius:14px;place-items:center;width:56px;height:56px;margin-bottom:4px;display:grid}.int-step.step-1 .ic{background:var(--spire-100);color:var(--spire-700)}.int-step.step-2 .ic{background:linear-gradient(135deg, var(--spire-100), var(--brand-100));color:var(--brand-600)}.int-step.step-3 .ic{background:var(--brand-100);color:var(--brand-600)}.int-step h4{color:var(--ink-900);margin:0;font-size:18px;font-weight:700}.int-step p{color:var(--fg-2);margin:0;font-size:14px;line-height:1.5}.int-arrow{color:var(--ink-300);align-self:center;font-size:24px;display:none}@media (width>=760px){.int-arrow{display:block}}.testimonial-section{--testimonial-marquee-duration:48s;background:radial-gradient(900px 520px at 88% 12%,#0ea5e917,#0000 58%),radial-gradient(780px 460px at 8% 88%,#59358a14,#0000 55%),linear-gradient(#ffffffc7,#ecf4ffb8)}.testimonial-section .sect-head .kicker{color:var(--spire-700)}.testimonial-marquee-stack{flex-direction:column;gap:18px;margin-top:clamp(8px,2vw,20px);display:flex}.testimonial-marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.testimonial-marquee-track{width:max-content;animation:testimonial-marquee-left var(--testimonial-marquee-duration) linear infinite;will-change:transform;display:flex}.testimonial-marquee-track--reverse{animation-direction:reverse}.testimonial-marquee-group{flex-shrink:0;align-items:stretch;gap:20px;padding-right:20px;display:flex}@keyframes testimonial-marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.testimonial-card{text-align:left;-webkit-backdrop-filter:blur(14px)saturate(140%);background:#ffffff6b;border:1px solid #ffffffb8;border-radius:16px;flex:none;width:min(360px,86vw);padding:22px 24px 20px;box-shadow:inset 0 1px #ffffffd9,0 18px 44px -22px #452a6d2e,0 8px 20px -12px #0284c71a}.testimonial-card-quote{letter-spacing:-.01em;color:var(--ink-900);text-wrap:balance;margin:0 0 18px;padding:0;font-size:15px;font-weight:500;line-height:1.55}.testimonial-card-quote:before{content:"“";color:var(--brand-500);margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:36px;line-height:.65;display:block}.testimonial-card-author{color:var(--fg-2);align-items:center;gap:12px;font-size:13px;display:flex}.testimonial-card-avatar{background:linear-gradient(135deg, var(--brand-500), var(--spire-600));color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:14px;font-weight:700;display:grid}.testimonial-card-meta{text-align:left;min-width:0}.testimonial-card-meta strong{color:var(--ink-900);margin-bottom:2px;font-size:14px;font-weight:600;display:block}.testimonial-card-meta span{line-height:1.45;display:block}@media (prefers-reduced-motion:reduce){.testimonial-marquee{-webkit-mask-image:none;mask-image:none}.testimonial-marquee-track{flex-wrap:wrap;justify-content:center;row-gap:16px;width:100%;max-width:1100px;margin-inline:auto;animation:none}.testimonial-marquee-group[aria-hidden=true]{display:none}}.faq{max-width:760px;margin:0 auto}.faq-accordion{--faq-ease:cubic-bezier(.22, 1, .36, 1);--faq-ease-spring:cubic-bezier(.33, 1.1, .32, 1);--faq-panel-dur:.56s;--faq-fade-dur:.48s;border-top:1px solid var(--border-1);flex-direction:column;display:flex}.faq-card{border-bottom:1px solid var(--border-1);transition:background-color .38s var(--faq-ease), border-color .42s var(--faq-ease);background:0 0;padding-left:20px;position:relative}.faq-card.is-open{border-bottom-color:#59358a24}.faq-card:before{content:"";background:linear-gradient(180deg, var(--brand-500) 0%, var(--spire-500) 100%);transform-origin:50% 0;opacity:0;width:2px;transition:transform var(--faq-panel-dur) var(--faq-ease), opacity .32s var(--ease-out);border-radius:2px;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.faq-card.is-open:before{opacity:1;transform:scaleY(1)}@media (hover:hover){.faq-card:where(:not(.is-open)):hover{background-color:#59358a07}}.faq-card-heading{font-size:inherit;font-weight:inherit;margin:0}.faq-trigger{box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--space-5);text-align:left;width:100%;font:inherit;letter-spacing:-.018em;color:var(--ink-800);cursor:pointer;border-radius:var(--radius-sm);transition:color .32s var(--faq-ease);background:0 0;border:none;margin:0;padding:22px 4px 22px 0;font-size:17px;font-weight:500;line-height:1.38;display:flex}.faq-card.is-open .faq-trigger{color:var(--ink-900)}.faq-trigger:hover{color:var(--brand-600)}.faq-trigger:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (hover:hover){.faq-trigger:hover .faq-trigger-label{transform:translate(3px)}}.faq-trigger-label{text-wrap:balance;min-width:0;transition:transform .42s var(--faq-ease);flex:1;display:block}.faq-trigger-icon{color:var(--ink-500);opacity:.72;transition:color .32s var(--faq-ease), opacity .32s var(--faq-ease);flex-shrink:0;place-items:center;display:grid}.faq-trigger:hover .faq-trigger-icon{color:var(--brand-500);opacity:1}.faq-card.is-open .faq-trigger-icon{color:var(--brand-600);opacity:1}.faq-trigger-plus{transition:transform .52s var(--faq-ease-spring);display:block;transform:rotate(0)}.faq-card.is-open .faq-trigger-plus{transform:rotate(45deg)}.faq-panel{transition:grid-template-rows var(--faq-panel-dur) var(--faq-ease);grid-template-rows:0fr;display:grid}.faq-card.is-open .faq-panel{grid-template-rows:1fr}.faq-panel-inner{min-height:0;overflow:hidden}.faq-answer{color:var(--fg-2);opacity:0;max-width:62ch;transition:opacity var(--faq-fade-dur) var(--faq-ease) 60ms, transform .52s var(--faq-ease) 45ms;margin:0;padding:0 0 26px;font-size:15px;line-height:1.68;transform:translateY(-10px)}.faq-card.is-open .faq-answer{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.faq-card,.faq-card:before,.faq-trigger,.faq-trigger-label,.faq-trigger-icon,.faq-trigger-plus,.faq-panel,.faq-answer{transition:none!important}.faq-card:before{opacity:0;transform:scaleY(1)}.faq-card.is-open:before{opacity:1}.faq-trigger-plus{transform:rotate(0)}.faq-card.is-open .faq-trigger-plus{transform:rotate(45deg)}.faq-answer{transform:none}.faq-card.is-open .faq-answer{opacity:1}.faq-card:not(.is-open) .faq-answer{opacity:0}}.contact-copy .kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--brand-600);font-size:12px;font-weight:700}.contact{grid-template-columns:1fr;align-items:start;gap:48px;display:grid}@media (width>=900px){.contact{grid-template-columns:1fr 1.1fr;gap:64px}}.contact-copy h2{letter-spacing:-.015em;color:var(--ink-900);text-wrap:balance;margin:12px 0 18px;font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.15}.contact-copy h2 .accent{color:var(--brand-600)}.contact-copy p{color:var(--fg-2);max-width:50ch;font-size:17px;line-height:1.55}.contact-copy .features{gap:14px;margin-top:28px;display:grid}.contact-copy .feat{align-items:flex-start;gap:12px;font-size:14px;display:flex}.contact-copy .feat .check{background:var(--brand-100);width:22px;height:22px;color:var(--brand-700);border-radius:999px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.contact-copy .feat strong{color:var(--ink-900);margin-bottom:2px;font-size:15px;font-weight:600;display:block}.contact-copy .feat span{color:var(--fg-2)}.contact-card{border:1px solid var(--border-1);background:#ffffffeb;border-radius:16px;padding:clamp(28px,4vw,40px);box-shadow:0 30px 60px -20px #1f1f1e2e,0 12px 24px -10px #59358a2e}.contact-card h3{color:var(--ink-900);letter-spacing:-.01em;margin:0 0 6px;font-size:22px;font-weight:700}.contact-card .sub{color:var(--fg-3);margin:0 0 24px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .full{grid-column:1/-1}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--fg-2);letter-spacing:.02em;font-size:12px;font-weight:600}.field label .req{color:var(--danger-600)}.field input,.field select,.field textarea{border:1px solid var(--border-2);border-radius:var(--radius-md);color:var(--ink-900);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);background:#fff;padding:11px 12px;font-family:inherit;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-600);box-shadow:var(--shadow-focus);outline:none}.field textarea{resize:vertical;min-height:96px}.radio-group{flex-wrap:wrap;gap:10px;display:flex}.radio-pill{border:1px solid var(--border-2);border-radius:var(--radius-md);cursor:pointer;min-width:120px;transition:all var(--dur-fast);flex:1;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:500;display:flex;position:relative}.radio-pill input{opacity:0;pointer-events:none;position:absolute}.radio-pill .dot-r{border:2px solid var(--border-2);width:16px;height:16px;transition:all var(--dur-fast);border-radius:999px;flex-shrink:0}.radio-pill:hover{border-color:var(--ink-700)}.radio-pill.checked{border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-700)}.radio-pill.checked .dot-r{border-color:var(--brand-600);background:var(--brand-600);box-shadow:inset 0 0 0 3px #fff}.contact-form-error{color:var(--danger-600);background:var(--danger-100);border:1px solid color-mix(in srgb, var(--danger-600) 25%, transparent);border-radius:10px;margin-top:16px;padding:12px 14px;font-size:14px;line-height:1.45}.form-submit{margin-top:24px}.form-submit .btn{justify-content:center;width:100%}.form-fineprint{color:var(--fg-3);text-align:center;margin-top:14px;font-size:12px}.contact-success{background:var(--success-100);border:1px solid var(--success-600);color:var(--success-600);text-align:center;border-radius:12px;padding:32px}.contact-success-icon{color:var(--success-600);margin-bottom:8px;justify-content:center;margin-inline:auto;display:flex}.contact-success h3{color:var(--success-600);margin:0 0 6px;font-size:22px}.contact-success p{color:var(--ink-700);margin:0}.footer{background:var(--ink-900);color:#ffffffb3;padding:56px 0 32px}.footer-top{border-bottom:1px solid #ffffff1a;grid-template-columns:1fr;gap:40px;padding-bottom:40px;display:grid}@media (width>=760px){.footer-top{grid-template-columns:2fr 1fr 1fr 1fr}}.footer h5{color:#fff;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:700}.footer ul{flex-direction:column;gap:10px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.footer a:hover{color:#fff}.footer a{cursor:pointer}.footer a:focus-visible{outline:2px solid var(--brand-400);outline-offset:3px;border-radius:4px}.footer-lockup .wordmark{color:#fff;letter-spacing:-.02em;margin-bottom:12px;font-size:22px;font-weight:700}.footer-lockup p{max-width:36ch;margin:0 0 16px;font-size:14px;line-height:1.55}.footer-lockup .partner{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.footer-lockup .partner img{filter:brightness(0)invert()opacity(.8);width:auto;height:18px}.footer-bot{color:#ffffff80;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;font-size:12px;display:flex}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.gallery-tabs{border:1px solid var(--border-1);border-radius:var(--radius-pill);width:fit-content;max-width:100%;box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(8px);background:#ffffffd9;flex-wrap:wrap;justify-content:center;gap:4px;margin:0 auto 32px;padding:5px;display:flex}.gallery-tabs button{border-radius:var(--radius-pill);color:var(--fg-2);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background var(--dur-med) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex;position:relative}.gallery-tabs button:hover{color:var(--ink-900)}.gallery-tabs button:active{transform:scale(.97)}.gallery-tabs button .tab-count{letter-spacing:.02em;background:var(--ink-100);min-width:22px;height:18px;color:var(--fg-3);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.gallery-tabs button.active{background:var(--brand-600);color:#fff;box-shadow:inset 0 1px #fff3,0 6px 14px -6px #59358a73}.gallery-tabs button.active .tab-count{color:#fff;background:#fff3}.gallery-tabs button:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.widgets-grid{grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:16px;display:grid}.widget-card{--mx:50%;--my:50%;--accent:var(--brand-600);--accent-soft:var(--brand-100);--accent-tint:var(--brand-50);--accent-light:var(--brand-400);border:1px solid var(--border-1);text-align:left;color:inherit;isolation:isolate;animation:w-card-rise .52s var(--ease-out) both;transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);background:#ffffffeb;border-radius:14px;flex-direction:column;gap:12px;padding:14px;font-family:inherit;display:flex;position:relative;overflow:hidden}.widget-card.spire{--accent:var(--spire-700);--accent-soft:var(--spire-100);--accent-tint:var(--spire-50);--accent-light:var(--spire-500)}@keyframes w-card-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.widget-card:before{content:"";border-radius:inherit;background:radial-gradient(220px circle at var(--mx) var(--my), color-mix(in srgb, var(--accent) 16%, transparent), transparent 60%);opacity:0;transition:opacity var(--dur-med) var(--ease-out);pointer-events:none;z-index:0;position:absolute;inset:0}.widget-card>*{z-index:1;position:relative}.widget-card:hover{border-color:var(--accent-light);box-shadow:0 18px 32px -16px #1f1f1e2e, 0 8px 20px -10px color-mix(in srgb, var(--accent) 40%, transparent);transform:translateY(-4px)}.widget-card:hover:before{opacity:1}.widget-card:focus-within{border-color:var(--accent-light)}.widget-card-preview{background:linear-gradient(135deg, var(--accent-tint), #fff 60%), linear-gradient(180deg, #fff, var(--ink-50));border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border-1));border-radius:10px;height:108px;padding:10px;position:relative;overflow:hidden}.widget-card-preview:after{content:"";background:radial-gradient(160px 80px at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%);pointer-events:none;position:absolute;inset:0}.preview-meta{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border-1));color:var(--accent);text-transform:uppercase;letter-spacing:.06em;-webkit-backdrop-filter:blur(6px);z-index:2;background:#ffffffe0;border-radius:999px;align-items:center;gap:5px;padding:3px 7px 3px 5px;font-size:9.5px;font-weight:700;display:inline-flex;position:absolute;top:8px;left:8px}.preview-arrow{background:var(--accent);color:#fff;opacity:0;width:24px;height:24px;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-med) var(--ease-out);pointer-events:none;box-shadow:0 6px 14px -4px color-mix(in srgb, var(--accent) 60%, transparent);z-index:2;border-radius:999px;place-items:center;display:grid;position:absolute;top:8px;right:8px;transform:translate(4px,-4px)scale(.8)}.widget-card:hover .preview-arrow,.widget-card:focus-visible .preview-arrow{opacity:1;transform:translate(0)scale(1)}.preview-canvas{justify-content:stretch;align-items:stretch;display:flex;position:absolute;inset:30px 10px 10px}.preview-swap{min-width:0;animation:w-preview-swap .36s var(--ease-out);flex:1;display:flex}@keyframes w-preview-swap{0%{opacity:0;filter:blur(2px);transform:scale(.94)translateY(4px)}60%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}.preview-icon{animation:w-icon-swap .28s var(--ease-out);display:inline-flex}@keyframes w-icon-swap{0%{opacity:0;transform:scale(.6)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}.widget-card h4{color:var(--ink-900);letter-spacing:-.005em;margin:0;font-size:14.5px;font-weight:600;line-height:1.25}.widget-tags{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.widget-tag{text-transform:uppercase;letter-spacing:.05em;border:1px solid color-mix(in srgb, var(--accent) 14%, transparent);background:var(--accent-soft);color:var(--accent);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-family:inherit;font-size:10px;font-weight:700;display:inline-flex;position:relative}.widget-card:hover .widget-tag{background:color-mix(in srgb, var(--accent) 14%, #fff)}.widget-tag:hover:not(.is-active):not(:disabled){background:color-mix(in srgb, var(--accent) 22%, #fff);border-color:color-mix(in srgb, var(--accent) 28%, transparent);transform:translateY(-1px)}.widget-tag:active:not(:disabled){transform:scale(.94)}.widget-tag.is-active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 10px -4px color-mix(in srgb, var(--accent) 70%, transparent)}.widget-card:hover .widget-tag.is-active{background:var(--accent)}.widget-tag.is-static{cursor:default;opacity:.95}.widget-tag:disabled{cursor:default}.widget-tag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mp{width:100%;height:100%;display:flex}.mp-brand{color:var(--brand-600)}.mp-spire{color:var(--spire-700)}.mp-kpi{flex-direction:column;justify-content:flex-end;position:relative}.mp-kpi-label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.mp-kpi-value{color:currentColor;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.1}.mp-kpi-delta{color:var(--success-600);margin-top:1px;font-size:10px;font-weight:700}.mp-kpi-spark{pointer-events:none;opacity:0;width:100%;height:60%;transition:opacity var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;color:var(--accent-light);position:absolute;inset:0 0 18px;transform:translateY(4px)}.widget-card:hover .mp-kpi-spark,.widget-card:focus-visible .mp-kpi-spark{opacity:.55;transform:translateY(0)}.mp-bars{align-items:flex-end;gap:4px}.mp-bar{height:var(--bar-h,50%);background:linear-gradient(180deg, var(--accent-light), var(--accent));transform-origin:bottom;transition:transform var(--dur-med) var(--ease-out);transition-delay:calc(var(--bar-i,0) * 35ms);border-radius:3px 3px 0 0;flex:1}.widget-card:hover .mp-bar,.widget-card:focus-visible .mp-bar{transform:scaleY(1.08)}.widget-card:hover .mp-bar:nth-child(odd){filter:brightness(1.06)}.mp-barsh{flex-direction:column;justify-content:center;gap:5px}.mp-barh{color:var(--fg-3);align-items:center;gap:6px;font-size:9px;display:flex}.mp-barh-label{text-transform:uppercase;letter-spacing:.04em;width:26px;font-weight:600}.mp-barh-track{background:color-mix(in srgb, var(--accent) 8%, #fff);border-radius:3px;flex:1;height:6px;overflow:hidden}.mp-barh-fill{background:linear-gradient(90deg, var(--accent-light), var(--accent));width:0%;height:100%;transition:width .52s var(--ease-out);transition-delay:calc(var(--bar-i,0) * 60ms);border-radius:3px;display:block}.mp-barh{--w:40%}.widget-card .mp-barh-fill{width:calc(var(--w) * .5)}.widget-card:hover .mp-barh-fill,.widget-card:focus-visible .mp-barh-fill{width:var(--w)}.mp-line{width:100%;height:100%;display:block}.mp-line-stroke{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240px;animation:w-line-draw 1.1s var(--ease-out) both;animation-delay:.18s}.mp-line-area{opacity:0;animation:w-line-fade .7s var(--ease-out) forwards;animation-delay:.7s}@keyframes w-line-draw{to{stroke-dashoffset:0}}@keyframes w-line-fade{to{opacity:1}}.widget-card:hover .mp-line-stroke,.widget-card:focus-visible .mp-line-stroke{animation:w-line-redraw .9s var(--ease-out) both}@keyframes w-line-redraw{0%{stroke-dashoffset:240px}to{stroke-dashoffset:0}}.mp-tree{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;gap:3px;display:grid}.mp-tree-cell{transform-origin:50%;transition:transform var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out);transition-delay:calc(var(--bar-i,0) * 30ms);border-radius:3px}.mp-tree-cell.c1{background:var(--accent);grid-row:span 2}.mp-tree-cell.c2{background:var(--accent-light)}.mp-tree-cell.c3{background:color-mix(in srgb, var(--accent) 55%, #fff)}.mp-tree-cell.c4{background:color-mix(in srgb, var(--accent-light) 70%, #fff)}.mp-tree-cell.c5{background:color-mix(in srgb, var(--accent) 40%, #fff)}.widget-card:hover .mp-tree-cell,.widget-card:focus-visible .mp-tree-cell{filter:brightness(1.08);transform:scale(.97)}.widget-card:hover .mp-tree-cell.c1,.widget-card:focus-visible .mp-tree-cell.c1{transform:scale(1.02)}.mp-table{flex-direction:column;justify-content:center;gap:4px}.mp-row{opacity:.85;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-med) var(--ease-out);transition-delay:calc(var(--bar-i,0) * 40ms);gap:4px;display:flex;transform:translate(-2px)}.mp-row.is-head{opacity:1}.mp-cell{background:var(--ink-200);border-radius:2px;flex:1;height:6px}.mp-cell.mp-cell-end{max-width:28px}.mp-row.is-head .mp-cell,.mp-row.is-head .mp-cell-end{background:var(--accent)}.widget-card:hover .mp-row,.widget-card:focus-visible .mp-row{opacity:1;transform:translate(0)}.widget-card:hover .mp-row:not(.is-head) .mp-cell{background:color-mix(in srgb, var(--accent) 22%, var(--ink-200))}.mp-ratio{justify-content:center;align-items:center;gap:10px}.mp-ratio-svg{flex-shrink:0;width:56px;height:56px}.mp-ratio-track{stroke:color-mix(in srgb, var(--accent) 14%, var(--ink-200))}.mp-ratio-fill{color:var(--accent);animation:w-ratio-draw .9s var(--ease-out) both;transform-origin:20px 20px;transform:rotate(-90deg)}@keyframes w-ratio-draw{0%{stroke-dashoffset:100.531px;opacity:0}to{opacity:1}}.mp-ratio-text{flex-direction:column;align-items:flex-start;line-height:1.05;display:flex}.mp-ratio-pct{color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.mp-ratio-label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:9.5px;font-weight:700}.widget-card:hover .mp-ratio-fill,.widget-card:focus-visible .mp-ratio-fill{filter:brightness(1.06)}@media (prefers-reduced-motion:reduce){.widget-card,.widget-card *,.widget-card :before,.widget-card :after{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}.mp-line-stroke{stroke-dasharray:none;stroke-dashoffset:0}.mp-line-area{opacity:1}.widget-card .mp-barh-fill{width:var(--w)}}
