@import "https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";
.landing-root{--lp-brand-dark:#0f3d52;--lp-brand-dark-2:#0a2d3e;--lp-brand-highlight:#0e6081;--lp-brand-primary:#79929d;--lp-brand-neutral1:#9fb3bc;--lp-brand-neutral2:#4e6e7d;--lp-brand-light:#d5dbde;--lp-brand-light-2:#e2e7ea;--lp-brand-light-3:#f0f4f6;--lp-bg:#fff;--lp-bg-soft:#f6f9fa;--lp-bg-mute:#eef3f5;--lp-surface:#fff;--lp-border:#e5e9ec;--lp-border-2:#eef1f3;--lp-fg:#0b2430;--lp-fg-2:#3a5663;--lp-fg-3:#6d8591;--lp-fg-4:#9aadb6;--lp-ok:#1f8a5b;--lp-ok-bg:#e3f4ec;--lp-warn:#c9821f;--lp-warn-bg:#fbefdb;--lp-over:#c4544f;--lp-over-bg:#f8e6e5;--lp-info:#0e6081;--lp-info-bg:#e2eef2;--lp-radius:14px;--lp-radius-sm:9px;--lp-shadow-sm:0 1px 2px #0f3d520d;--lp-shadow:0 10px 30px -12px #0f3d5238, 0 2px 8px #0f3d520f;--lp-shadow-lg:0 34px 70px -28px #0a2d3e6b, 0 8px 24px #0f3d521a;--lp-maxw:1200px;background:var(--lp-bg);color:var(--lp-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"rlig" 1, "calt" 1;font-family:Raleway,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}html:has(.landing-root){scroll-behavior:smooth}.landing-root *{box-sizing:border-box;margin:0;padding:0}.landing-root a{color:inherit;text-decoration:none}.landing-root img{max-width:100%;display:block}.landing-root ::selection{background:#0e60812e}.landing-root .mono{font-feature-settings:"tnum" 1;font-family:JetBrains Mono,ui-monospace,monospace}.landing-root .wrap{max-width:var(--lp-maxw);margin:0 auto;padding:0 28px}.landing-root .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--lp-brand-highlight);font-size:12px;font-weight:700}.landing-root .section{padding:96px 0}.landing-root .section-tight{padding:64px 0}.landing-root .dev-ribbon{background:var(--lp-brand-dark-2);color:#cfe0e7;letter-spacing:.02em;text-align:center;justify-content:center;align-items:center;gap:10px;padding:7px 16px;font-size:12px;font-weight:500;display:flex}.landing-root .dev-ribbon .pill{letter-spacing:.1em;color:#3a2a06;text-transform:uppercase;background:#f2b950;border-radius:5px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.landing-root .dev-ribbon a{color:#9fd0e0;text-underline-offset:2px;text-decoration:underline}.landing-root .dev-ribbon .dot{background:#5fcf9b;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #5fcf9b2e}.landing-root .topbar-stack{z-index:60;position:sticky;top:0}.landing-root .nav{z-index:50;border-bottom:1px solid var(--lp-border);background:#fff;position:relative;box-shadow:0 1px #0f3d520a}.landing-root .nav-inner{height:66px;max-width:var(--lp-maxw);align-items:center;gap:28px;margin:0 auto;padding:0 28px;display:flex}.landing-root .brand{align-items:center;gap:11px;display:flex}.landing-root .logo-mark{background:linear-gradient(135deg, var(--lp-brand-dark) 0%, var(--lp-brand-highlight) 100%);color:#fff;letter-spacing:-.02em;border-radius:9px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff73,0 6px 16px #0e608147}.landing-root .logo-text{color:var(--lp-brand-dark);letter-spacing:-.01em;font-size:18px;font-weight:600}.landing-root .nav-links{align-items:center;gap:4px;margin-left:8px;display:flex}.landing-root .nav-links a{color:var(--lp-fg-2);border-radius:8px;padding:8px 13px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.landing-root .nav-links a:hover{background:var(--lp-bg-mute);color:var(--lp-fg)}.landing-root .nav-cta{align-items:center;gap:10px;margin-left:auto;display:flex}.landing-root .btn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14.5px;font-weight:600;transition:all .16s;display:inline-flex}.landing-root .btn svg{width:17px;height:17px}.landing-root .btn-primary{background:var(--lp-brand-dark);color:#fff;box-shadow:0 6px 18px -6px #0f3d5280}.landing-root .btn-primary:hover{background:#08283a;transform:translateY(-1px);box-shadow:0 12px 26px -8px #0f3d528c}.landing-root .btn-accent{background:var(--lp-brand-highlight);color:#fff;box-shadow:0 6px 18px -6px #0e60818c}.landing-root .btn-accent:hover{background:#0a4d67;transform:translateY(-1px)}.landing-root .btn-secondary{color:var(--lp-brand-dark);border-color:var(--lp-border);background:#fff}.landing-root .btn-secondary:hover{background:var(--lp-bg-soft);border-color:var(--lp-brand-neutral1)}.landing-root .btn-ghost{color:var(--lp-fg-2)}.landing-root .btn-ghost:hover{background:var(--lp-bg-mute);color:var(--lp-fg)}.landing-root .btn-lg{border-radius:11px;padding:14px 24px;font-size:16px}.landing-root .btn-ondark{color:var(--lp-brand-dark);background:#fff}.landing-root .btn-ondark:hover{background:#eaf2f5;transform:translateY(-1px)}.landing-root .btn-onlight-ghost{color:#fff;border-color:#ffffff47}.landing-root .btn-onlight-ghost:hover{background:#ffffff1a}.landing-root .hero{position:relative;overflow:hidden}.landing-root .headline{letter-spacing:-.025em;color:var(--lp-fg);font-weight:700;line-height:1.02}.landing-root .lead{color:var(--lp-fg-2);max-width:34em;font-size:19px;line-height:1.55}.landing-root .tag-row{flex-wrap:wrap;gap:9px;display:flex}.landing-root .tag{color:var(--lp-fg-2);background:var(--lp-bg-soft);border:1px solid var(--lp-border);border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}.landing-root .tag .d{border-radius:50%;width:7px;height:7px}.landing-root .heroA{background:radial-gradient(1100px 520px at 78% -8%,#0e60811a,#0000 60%),linear-gradient(#fbfdfe,#f3f8fa);padding:78px 0 90px}.landing-root .heroA .grid{grid-template-columns:1.02fr 1.1fr;align-items:center;gap:56px;display:grid}.landing-root .heroA .headline{font-size:58px}.landing-root .heroA .cta-row{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.landing-root .heroA .visual{position:relative}.landing-root .appui{border:1px solid var(--lp-border);box-shadow:var(--lp-shadow);background:#fcfdfe;border-radius:16px;overflow:hidden}.landing-root .mk{vertical-align:middle;background:#e7edf0;border-radius:6px;flex-shrink:0;height:9px;display:inline-block}.landing-root .mk.d{background:#d2dde2}.landing-root .mk.lite{background:#ffffff80}.landing-root .mk-av{background:#cdd9df;border-radius:50%;flex-shrink:0;width:28px;height:28px}.landing-root .cap-dot{border-radius:50%;justify-self:end;width:10px;height:10px}.landing-root .cap-dot.over{background:var(--lp-over)}.landing-root .cap-dot.warn{background:var(--lp-warn)}.landing-root .cap-dot.ok{background:var(--lp-ok)}.landing-root .cap-dot.low{background:var(--lp-brand-neutral1)}.landing-root .app-grid.mock .app-nav .it{color:var(--lp-fg-3)}.landing-root .app-grid.mock .app-nav .it svg{opacity:.7}.landing-root .app-grid.mock .app-nav .it.active svg{opacity:1}.landing-root .app-grid.mock .seg b{border-radius:5px;width:26px;height:15px;padding:0}.landing-root .app-grid.mock .cap-bar i{opacity:.92}.landing-root .cap-card.mock .live .d{background:var(--lp-ok)}.landing-root .app-grid{grid-template-columns:188px 1fr;display:grid}.landing-root .app-side{border-right:1px solid var(--lp-border-2);background:#fbfcfd;min-width:0;padding:12px 10px}.landing-root .app-brand{border-bottom:1px solid var(--lp-border-2);align-items:center;gap:8px;margin-bottom:8px;padding:4px 6px 12px;display:flex}.landing-root .app-brand .m{background:linear-gradient(135deg, var(--lp-brand-dark), var(--lp-brand-highlight));color:#fff;border-radius:6px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.landing-root .app-nav{flex-direction:column;gap:1px;display:flex}.landing-root .app-nav .it{color:var(--lp-fg-2);border-radius:7px;align-items:center;gap:9px;padding:7px 9px;font-size:12.5px;font-weight:500;display:flex}.landing-root .app-nav .it svg{width:15px;height:15px;color:var(--lp-fg-3);flex-shrink:0}.landing-root .app-nav .it.active{background:var(--lp-brand-dark);color:#fff}.landing-root .app-nav .it.active svg{color:#fff}.landing-root .app-nav .glabel{letter-spacing:.09em;text-transform:uppercase;color:var(--lp-fg-4);padding:12px 9px 4px;font-size:9.5px;font-weight:700}.landing-root .app-main{flex-direction:column;min-width:0;display:flex}.landing-root .app-top{border-bottom:1px solid var(--lp-border-2);background:linear-gradient(#f8fafb,#f1f5f7);align-items:center;gap:12px;height:46px;padding:0 16px;display:flex}.landing-root .app-top .seg{border:1px solid var(--lp-border);background:#fff;border-radius:8px;margin-left:auto;padding:2px;display:flex}.landing-root .app-top .seg b{color:var(--lp-fg-3);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.landing-root .app-top .seg b.on{background:var(--lp-brand-dark);color:#fff}.landing-root .app-body{background:#fff;flex-direction:column;gap:14px;padding:16px;display:flex}.landing-root .kpi-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.landing-root .kpi{border:1px solid var(--lp-border);background:#fff;border-radius:10px;padding:11px 12px}.landing-root .kpi .l{color:var(--lp-fg-3);letter-spacing:.02em;align-items:center;gap:6px;font-size:10.5px;font-weight:600;display:flex}.landing-root .kpi .l .ic{border-radius:3px;width:9px;height:9px}.landing-root .panel{border:1px solid var(--lp-border);background:#fff;border-radius:11px;overflow:hidden}.landing-root .panel-h{border-bottom:1px solid var(--lp-border-2);align-items:center;gap:8px;padding:11px 14px;display:flex}.landing-root .cap-row{border-bottom:1px solid var(--lp-border-2);grid-template-columns:150px 1fr 56px;align-items:center;gap:12px;padding:11px 14px;display:grid}.landing-root .cap-row:last-child{border-bottom:none}.landing-root .cap-person{align-items:center;gap:9px;min-width:0;display:flex}.landing-root .cap-bar{background:var(--lp-bg-mute);border-radius:6px;height:11px;display:flex;position:relative;overflow:hidden}.landing-root .cap-bar i{height:100%;display:block}.landing-root .proj-list{padding:6px 0}.landing-root .proj-row{align-items:center;gap:10px;padding:9px 14px;display:flex}.landing-root .proj-row .sw{border-radius:3px;flex-shrink:0;width:9px;height:9px}.landing-root .miniavs{display:flex}.landing-root .miniavs .av{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:20px;height:20px;margin-left:-6px;font-size:8.5px;font-weight:700;display:grid}.landing-root .miniavs .av:first-child{margin-left:0}.landing-root .legend{border-top:1px solid var(--lp-border-2);gap:14px;padding:10px 14px;display:flex}.landing-root .legend i{color:var(--lp-fg-3);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.landing-root .legend i .d{border-radius:3px;width:9px;height:9px}.landing-root .cap-card{border:1px solid var(--lp-border);box-shadow:var(--lp-shadow);background:#fff;border-radius:14px;width:300px;padding:16px}.landing-root .cap-card-h{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.landing-root .cap-card-h .live{color:var(--lp-ok);align-items:center;gap:6px;font-size:10.5px;font-weight:600;display:flex}.landing-root .cap-card-h .live .d{background:var(--lp-ok);border-radius:50%;width:7px;height:7px;animation:1.8s infinite lp-pulse}@keyframes lp-pulse{0%{box-shadow:0 0 #1f8a5b73}70%{box-shadow:0 0 0 6px #1f8a5b00}to{box-shadow:0 0 #1f8a5b00}}.landing-root .float-badge{border:1px solid var(--lp-border);box-shadow:var(--lp-shadow);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:11px 14px;display:flex;position:absolute}.landing-root .float-badge .ic{border-radius:9px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.landing-root .float-badge .n{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700;line-height:1}.landing-root .float-badge .l{color:var(--lp-fg-3);margin-top:2px;font-size:11px}.landing-root .sec-head{max-width:46ch}.landing-root .sec-head.center{text-align:center;margin:0 auto}.landing-root .sec-title{letter-spacing:-.02em;color:var(--lp-fg);margin-top:14px;font-size:40px;font-weight:700;line-height:1.08}.landing-root .sec-sub{color:var(--lp-fg-2);margin-top:16px;font-size:18px;line-height:1.55}.landing-root .band{background:var(--lp-bg-soft);border-top:1px solid var(--lp-border-2);border-bottom:1px solid var(--lp-border-2)}.landing-root .focus-grid{grid-template-columns:.92fr 1.08fr;align-items:center;gap:60px;display:grid}.landing-root .bullets{flex-direction:column;gap:18px;margin-top:30px;display:flex}.landing-root .bullet{gap:14px;display:flex}.landing-root .bullet .ic{background:var(--lp-info-bg);width:40px;height:40px;color:var(--lp-brand-highlight);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.landing-root .bullet .ic svg{width:20px;height:20px}.landing-root .bullet h4{color:var(--lp-fg);font-size:16px;font-weight:600}.landing-root .bullet p{color:var(--lp-fg-2);margin-top:3px;font-size:14.5px;line-height:1.5}.landing-root .feat-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px;display:grid}.landing-root .feat{border:1px solid var(--lp-border);border-radius:var(--lp-radius);box-shadow:var(--lp-shadow-sm);background:#fff;padding:26px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.landing-root .feat:hover{box-shadow:var(--lp-shadow);border-color:var(--lp-brand-neutral1);transform:translateY(-3px)}.landing-root .feat .ic{border-radius:12px;place-items:center;width:46px;height:46px;margin-bottom:16px;display:grid}.landing-root .feat .ic svg{width:23px;height:23px}.landing-root .feat h3{letter-spacing:-.01em;font-size:19px;font-weight:600}.landing-root .feat p{color:var(--lp-fg-2);margin-top:8px;font-size:14.5px;line-height:1.55}.landing-root .feat .mini{border:1px solid var(--lp-border-2);background:var(--lp-bg-soft);border-radius:10px;margin-top:18px;padding:12px}.landing-root .mini-bar{background:var(--lp-bg-mute);border-radius:5px;height:8px;margin:7px 0;overflow:hidden}.landing-root .mini-bar i{height:100%;display:block}.landing-root .mini-line{color:var(--lp-fg-2);align-items:center;gap:8px;padding:4px 0;font-size:11.5px;display:flex}.landing-root .mini-line .dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.landing-root .mini-line .mono{color:var(--lp-fg-3);margin-left:auto}.landing-root .mini-chip{border-radius:7px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.landing-root .steps{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;display:grid}.landing-root .step{border:1px solid var(--lp-border);box-shadow:var(--lp-shadow-sm);background:#fff;border-radius:16px;padding:28px 26px 26px;position:relative}.landing-root .step .num{color:var(--lp-brand-highlight);letter-spacing:-.02em;margin-bottom:18px;font-family:JetBrains Mono,monospace;font-size:34px;font-weight:600;line-height:1;display:block}.landing-root .step h3{font-size:19px;font-weight:600}.landing-root .step p{color:var(--lp-fg-2);margin-top:8px;font-size:14.5px;line-height:1.55}.landing-root .cta-band{color:#fff;background:radial-gradient(800px 360px at 80% -20%,#0e608180,#0000 60%),linear-gradient(160deg,#0f3d52,#0a2d3e);border-radius:22px;padding:62px 56px;position:relative;overflow:hidden}.landing-root .cta-band h2{letter-spacing:-.02em;max-width:18ch;font-size:42px;font-weight:700;line-height:1.08}.landing-root .cta-band p{color:#bcd2db;max-width:46ch;margin-top:16px;font-size:18px}.landing-root .cta-band .cta-row{flex-wrap:wrap;gap:13px;margin-top:32px;display:flex}.landing-root .cta-band .fine{color:#88aab7;margin-top:18px;font-size:13px}.landing-root .footer{border-top:1px solid var(--lp-border-2);background:var(--lp-bg-soft);padding:54px 0 30px}.landing-root .foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;display:grid}.landing-root .foot-brand .logo-text{font-size:17px}.landing-root .foot-brand p{color:var(--lp-fg-3);max-width:30ch;margin-top:14px;font-size:13.5px;line-height:1.55}.landing-root .foot-col h5{letter-spacing:.08em;text-transform:uppercase;color:var(--lp-fg-3);margin-bottom:14px;font-size:12px;font-weight:700}.landing-root .foot-col a{color:var(--lp-fg-2);padding:5px 0;font-size:14px;transition:color .14s;display:block}.landing-root .foot-col a:hover{color:var(--lp-brand-highlight)}.landing-root .foot-bottom{border-top:1px solid var(--lp-border-2);color:var(--lp-fg-3);flex-wrap:wrap;align-items:center;gap:14px;margin-top:42px;padding-top:22px;font-size:13px;display:flex}.landing-root .foot-bottom .env{align-items:center;gap:7px;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.landing-root .foot-bottom .env .dot{background:var(--lp-ok);border-radius:50%;width:7px;height:7px}.landing-root .reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1);transform:translateY(18px)}.landing-root .reveal.in{opacity:1;transform:none}.landing-root .feat-dark{--lp-fg:#fff;--lp-fg-2:#a9c4cf;--lp-fg-3:#7fa0ad;--lp-bg-soft:#081e2a8c;--lp-bg-mute:#ffffff1f;--lp-border:#ffffff21;--lp-border-2:#ffffff17;color:#eaf2f5;background:radial-gradient(900px 460px at 82% -10%,#0e60816b,#0000 58%),linear-gradient(165deg,#0f3d52 0%,#0a2d3e 100%)}.landing-root .feat-dark .eyebrow{color:#7fc2dc}.landing-root .feat-dark .feat{box-shadow:none;background:#ffffff0b}.landing-root .feat-dark .feat:hover{background:#ffffff13;border-color:#7fc2dc80;transform:translateY(-3px);box-shadow:0 26px 52px -30px #000000b3}@media (max-width:1080px){.landing-root .heroA .grid,.landing-root .focus-grid{grid-template-columns:1fr;gap:40px}.landing-root .heroA .headline{font-size:48px}.landing-root .feat-grid{gap:16px}}@media (max-width:760px){.landing-root .wrap{padding:0 18px}.landing-root .nav-links{display:none}.landing-root .section{padding:64px 0}.landing-root .heroA .headline{font-size:38px}.landing-root .lead{font-size:17px}.landing-root .sec-title{font-size:30px}.landing-root .kpi-row{grid-template-columns:repeat(2,1fr)}.landing-root .feat-grid,.landing-root .steps{grid-template-columns:1fr}.landing-root .foot-grid{grid-template-columns:1fr 1fr;gap:24px}.landing-root .cta-band{padding:42px 26px}.landing-root .cta-band h2{font-size:30px}}@media (prefers-reduced-motion:reduce){.landing-root .reveal{opacity:1;transition:none;transform:none}.landing-root .cap-card-h .live .d{animation:none}}
