:root{--header-h:72px;--chrome-bottom:0px;--z-header:220;--z-toast:900}@media (max-width:860px){:root{--header-h:58px}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}:where(button,input,select,textarea){font:inherit;color:inherit;letter-spacing:inherit}body,html{width:100%;min-height:100%;overflow-x:clip;scroll-behavior:smooth}html{background:#02060b;color-scheme:dark}body{background:transparent;color:#e6f3fa;font-family:Inter,Inter Fallback,system-ui,sans-serif}@media (prefers-reduced-motion:reduce){body,html{scroll-behavior:auto}}html[data-menu]{overflow:hidden;scrollbar-gutter:stable}html[data-menu] #main,html[data-menu] .lm>footer,html[data-menu] .lm>header>:not(dialog),html[data-menu] .lm>nav{transition:opacity var(--menu-out,.42s) ease,transform var(--menu-out,.42s) cubic-bezier(.65,0,.35,1)}html[data-menu-glass] #main,html[data-menu-glass] .lm>footer,html[data-menu-glass] .lm>header>:not(dialog),html[data-menu-glass] .lm>nav{opacity:.12;transition-duration:.3s}html[data-menu-space] #main{transform-origin:var(--pane-ox,50%) var(--pane-oy,50vh);transform:perspective(var(--pane-d,860px)) translateZ(var(--pane-d,860px)) rotateY(var(--pane-turn,16deg)) translateZ(calc(-1 * var(--pane-d, 860px))) scale(.92);opacity:.07;transition-duration:var(--menu-in,.72s)}html[data-menu-space][data-menu-push] #main{transform:perspective(var(--pane-d,860px)) translateZ(var(--pane-d,860px)) rotateY(var(--pane-turn,16deg)) translateZ(calc(-1 * var(--pane-d, 860px))) scale(1.4);opacity:0;transition:opacity .3s ease-in,transform var(--menu-push,.38s) cubic-bezier(.5,0,.9,.6)}[data-scene][data-measure],[data-scene][data-measure] *{transition:none!important}html[data-anim-hold] *,html[data-anim-hold] :after,html[data-anim-hold] :before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}.df{--df-ink:#02060b;--df-hud-color:rgba(105,211,255,.55);--df-sync:42%;position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--df-ink);contain:strict;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.df *,.df :after,.df :before{box-sizing:border-box}.df-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:var(--df-ink);opacity:0;transition:opacity .4s ease-out}.df[data-webgl=on] .df-canvas{opacity:1}@media (hover:none) and (pointer:coarse) and (max-width:999.98px){.df-canvas{bottom:auto;height:max(100%,100vh);height:max(100%,100lvh)}}.df-page{top:0;left:0;width:0;height:100vh;height:100svh;visibility:hidden}.df-hud,.df-page{position:absolute}.df-hud{inset:0;pointer-events:none;color:var(--df-hud-color);text-transform:uppercase;letter-spacing:.18em;font-size:clamp(8px,.62vw,11px);line-height:1.75;text-shadow:0 0 7px rgba(55,192,255,.18);contain:layout paint style}.df-rule{position:absolute;top:4%;bottom:4%;width:1px;background:linear-gradient(transparent,rgba(80,204,255,.22) 14%,rgba(80,204,255,.22) 86%,transparent);opacity:.62}.df-rule--left{left:2.2%}.df-rule--right{right:2.2%}.df-cluster{position:absolute;display:flex;flex-direction:column;gap:2px;opacity:.8}.df-cluster-rule{width:28px;height:1px;margin-top:8px;background:currentColor;opacity:.7;transform-origin:left center;transform:scaleX(.72)}.df-br .df-cluster-rule,.df-tr .df-cluster-rule{transform-origin:right center}.df-tl{left:3.8%;top:6.5%}.df-tr{right:3.8%;top:6.5%;text-align:right;align-items:flex-end}.df-bl{left:3.8%;bottom:7.5%}.df-br{right:3.8%;bottom:7.5%;text-align:right;align-items:flex-end}.df-seq{display:inline-block;min-height:1em;white-space:nowrap;transition:opacity .32s ease,filter .32s ease}.df-seq:empty:before{content:"\200b"}.df-seq.is-decoding{filter:brightness(1.28) drop-shadow(0 0 3px rgba(72,213,255,.22));opacity:.92}.df-seq.is-locked{filter:brightness(1.04);opacity:.74}.df-seq.is-quiet{opacity:.33}.df-rail{position:absolute;left:2.1%;top:19%;bottom:18%;width:4px;display:flex;flex-direction:column;justify-content:space-between;opacity:.9;filter:brightness(1)}.df-rail i{display:block;width:4px;height:4px;border:1px solid rgba(86,214,255,.7);transition:transform .45s ease,opacity .45s ease,background .45s ease,box-shadow .45s ease}.df-rail i.is-active{transform:scale(1.6);opacity:1;background:#35d6ff;box-shadow:0 0 16px rgba(47,200,255,.95)}.df-rail--right{left:auto;right:2.1%}.df-micro{position:absolute;left:3.7%;top:47%;font-size:8px;opacity:.4;letter-spacing:.23em;writing-mode:vertical-rl;transform:rotate(180deg)}.df-micro--right{left:auto;right:3.7%;transform:none}.df-corner{position:absolute;width:22px;height:22px;opacity:.72;transition:opacity .5s ease,filter .5s ease}.df-corner:after,.df-corner:before{content:"";position:absolute;background:rgba(155,229,255,.9)}.df-corner:before{height:1px;width:22px}.df-corner:after{width:1px;height:22px}.df-c1{left:2.2%;top:3.1%}.df-c2{right:2.2%;top:3.1%;transform:scaleX(-1)}.df-c3{left:2.2%;bottom:3.1%;transform:scaleY(-1)}.df-c4{right:2.2%;bottom:3.1%;transform:scale(-1)}.df[data-state=ANALYSIS] .df-corner,.df[data-state=TRAINING_EVENT] .df-corner{opacity:.9;filter:drop-shadow(0 0 6px rgba(44,204,255,.35))}.df-status{position:absolute;left:50%;bottom:3.8%;transform:translateX(-50%);display:flex;gap:18px;align-items:center;color:rgba(112,216,255,.38);font-size:8px}.df-bar{width:100px;height:2px;background:rgba(41,130,170,.18);overflow:hidden}.df-bar:after{content:"";display:block;width:var(--df-sync);height:100%;background:#33d9ff;box-shadow:0 0 10px rgba(51,217,255,.75);transition:width .9s cubic-bezier(.2,.8,.2,1)}.df-telemetry{position:absolute;top:23%;display:grid;grid-gap:3px;gap:3px;width:min(250px,22vw);font-size:clamp(6px,.45vw,8px);letter-spacing:.12em;line-height:1.55;color:rgba(100,210,255,.34);filter:brightness(1)}.df-telemetry--left{left:4.6%;text-align:left}.df-telemetry--right{right:4.6%;text-align:right}.df-row{display:flex;gap:10px;align-items:center;min-height:12px}.df-telemetry--right .df-row{justify-content:flex-end}.df-tick{width:16px;height:1px;background:rgba(81,209,255,.34);box-shadow:0 0 4px rgba(51,217,255,.08);transform-origin:left center;transform:scaleX(.6);transition:transform .4s ease,opacity .4s ease}.df-telemetry--right .df-tick{order:2;transform-origin:right center}.df-row.is-hot .df-tick{transform:scaleX(1);opacity:.9;box-shadow:0 0 6px rgba(81,209,255,.45)}.df-row.is-hot .df-seq{color:rgba(172,238,255,.74)}.df-telemetry-text{flex:1 0 auto;padding:16px;margin:-16px;background-image:linear-gradient(transparent,transparent)}.df-callout{position:absolute;left:50%;top:13%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:rgba(147,229,255,.22);font-size:clamp(6px,.5vw,9px);letter-spacing:.26em;opacity:0;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.df-callout:after,.df-callout:before{content:"";height:1px;width:42px;background:linear-gradient(90deg,transparent,rgba(98,217,255,.5))}.df-callout:after{transform:scaleX(-1)}.df[data-state=ANALYSIS] .df-callout,.df[data-state=DECODE] .df-callout,.df[data-state=RETURN_TO_IDLE] .df-callout,.df[data-state=SCAN] .df-callout,.df[data-state=SIGNAL_ACQUIRE] .df-callout,.df[data-state=TRAINING_EVENT] .df-callout,.df[data-state=VERIFY] .df-callout{opacity:.72;transform:translateX(-50%) translateY(2px)}.df-edge{position:absolute;top:69%;font-size:7px;letter-spacing:.18em;color:rgba(105,211,255,.23);opacity:.55}.df-edge--left{left:4.4%}.df-edge--right{right:4.4%;text-align:right}.df-witness{z-index:1;position:absolute;top:4.8%;height:1px;width:22px;left:50%;transform:translateX(-50%);background:rgba(104,225,255,.72);opacity:.01;box-shadow:0 0 5px rgba(51,217,255,.22);transition:opacity .3s ease}.df-stats{position:fixed;top:calc(var(--header-h, 72px) + 12px);left:16px;z-index:var(--z-toast,900);pointer-events:none;padding:6px 8px;font:11px/1.5 SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;white-space:pre;color:#9be5ff;background:rgba(2,6,11,.78)}@media (max-width:700px){.df-cluster{font-size:7px}.df-br,.df-tr{right:5.5%}.df-bl,.df-tl{left:5.5%}.df-status{display:none}.df-telemetry{width:33vw;opacity:.72}.df-telemetry--left{left:5.5%}.df-telemetry--right{right:5.5%}.df-telemetry .df-row:nth-child(n+5){display:none}.df-callout{top:12%;font-size:6px}.df-edge{display:none}.df-bl,.df-br{transition:opacity .5s ease}.df[data-state=RETURN_TO_IDLE] .df-bl,.df[data-state=RETURN_TO_IDLE] .df-br{opacity:0}}@media (prefers-reduced-motion:reduce){.df-hud{opacity:.72}.df-bar:after,.df-bl,.df-br,.df-callout,.df-canvas,.df-corner,.df-rail i,.df-seq,.df-tick{transition:none}}.transit_layer__SCKaR{position:fixed;z-index:calc(var(--z-header) - 20);inset:0;display:none;overflow:visible;pointer-events:none}.transit_corner__imYKZ{position:absolute;top:0;left:0;width:22px;height:22px;will-change:transform,opacity}.transit_corner__imYKZ>i{position:absolute;background:var(--ice)}.transit_corner__imYKZ>[data-line=h]{width:22px;height:1px}.transit_corner__imYKZ>[data-line=v]{width:1px;height:22px}.transit_corner__imYKZ[data-corner=tl]>i{top:0;left:0;transform-origin:0 0}.transit_corner__imYKZ[data-corner=tr]>i{top:0;right:0;transform-origin:100% 0}.transit_corner__imYKZ[data-corner=bl]>i{bottom:0;left:0;transform-origin:0 100%}.transit_corner__imYKZ[data-corner=br]>i{right:0;bottom:0;transform-origin:100% 100%}.transit_disc__lIsER{position:absolute;top:0;left:0;display:none;transform-origin:50% 50%;will-change:transform,opacity}.transit_window__WRokd{position:absolute;inset:0;overflow:clip;border-radius:50%;isolation:isolate;-webkit-mask-image:radial-gradient(closest-side,#000 70%,rgba(0,0,0,.62) 87%,transparent 99%);mask-image:radial-gradient(closest-side,#000 70%,rgba(0,0,0,.62) 87%,transparent 99%)}.transit_window__WRokd>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.transit_ink__T81X4{position:absolute;inset:0;background:radial-gradient(closest-side,rgba(2,6,11,0) 52%,rgba(2,6,11,.24) 78%,rgba(2,6,11,.66) 100%),rgba(2,6,11,.38)}@media (forced-colors:active),(prefers-reduced-motion:reduce){.transit_layer__SCKaR{display:none!important}}@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/inter-normal-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/inter-normal-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Saira;font-style:normal;font-weight:100 500;font-display:swap;src:url(/assets/fonts/saira-normal-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Saira;font-style:normal;font-weight:100 500;font-display:swap;src:url(/assets/fonts/saira-normal-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;font-style:normal;src:local("Arial"),local("ArialMT"),local("Roboto"),local("Roboto Regular"),local("Roboto-Regular");size-adjust:106.9%;ascent-override:90.62%;descent-override:22.56%;line-gap-override:0%;unicode-range:u+0020-007e,u+00a0-00ac,u+00ae-00ff,u+2013-2014,u+2018-201a,u+201c-201e,u+2022,u+2026}@font-face{font-family:Saira Fallback;font-style:normal;src:local("Arial"),local("ArialMT"),local("Roboto"),local("Roboto Regular"),local("Roboto-Regular");size-adjust:104.35%;ascent-override:108.77%;descent-override:42.07%;line-gap-override:0%;unicode-range:u+0020-007e,u+00a0-00ac,u+00ae-00ff,u+2013-2014,u+2018-201a,u+201c-201e,u+2022,u+2026}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 500;font-display:swap;src:local("JetBrains Mono"),local("JetBrainsMono-Regular"),local("Consolas"),local("Menlo Regular"),local("Menlo-Regular"),local("DejaVu Sans Mono"),local("DejaVuSansMono"),local("Liberation Mono"),local("LiberationMono")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600 900;font-display:swap;src:local("JetBrains Mono Bold"),local("JetBrainsMono-Bold"),local("Consolas Bold"),local("Consolas-Bold"),local("Menlo Bold"),local("Menlo-Bold"),local("DejaVu Sans Mono Bold"),local("DejaVuSansMono-Bold"),local("Liberation Mono Bold"),local("LiberationMono-Bold")}.lm{--ink:#02060b;--hot:#f2fbff;--ice:#9be5ff;--signal:#35d6ff;--text-1:#e6f3fa;--text-2:#b9cdd9;--text-3:#8fa9b8;--line-1:rgba(155,229,255,.16);--line-2:rgba(155,229,255,.34);--line-3:rgba(155,229,255,.56);--ease:cubic-bezier(0.2,0.8,0.2,1);--t-fast:320ms;--t-mid:700ms;--t-reveal:1000ms;--stagger:90ms;--gutter:clamp(20px,6vw,120px);--frame:min(100% - 2 * var(--gutter),clamp(1040px,64vw,1600px));--scene-pt:clamp(104px,15svh,176px);--scene-pb:clamp(64px,9svh,120px);--radius:26px;--chrome-top:calc(var(--header-h) + 14px);--font-display:"Saira","Saira Fallback",sans-serif;--font-body:"Inter","Inter Fallback",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--fs-display:clamp(44px,min(6vw,10.5svh),116px);--fs-h2:clamp(34px,min(4vw,6.8svh),76px);--fs-h3:clamp(20px,1.4vw,26px);--fs-lede:clamp(17px,1.15vw,20px);--fs-body:16px;--fs-small:14px;--fs-label:12px;color:var(--text-1);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}@media (max-width:860px){.lm{--chrome-top:calc(var(--header-h) + 12px + env(safe-area-inset-top, 0px))}}:where(.lm) a{color:inherit}html.lm-js{scroll-behavior:auto}.lm ::selection{background:rgba(53,214,255,.34);color:var(--hot)}.lm :focus-visible{outline:2px solid var(--hot);outline-offset:3px}.lm-skip{position:absolute;z-index:calc(var(--z-toast) + 100);top:12px;left:12px;padding:10px 16px;border-radius:999px;background:var(--hot);color:var(--ink);font-weight:500;text-decoration:none;transform:translateY(-160%)}.lm-skip:focus-visible{transform:none}.lm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lm-kicker{font:400 var(--fs-label) /1.2 var(--font-display);letter-spacing:.32em;color:var(--ice)}.lm-kicker,.lm-seo{margin:0;text-transform:uppercase}.lm-seo{font:400 13px/1.4 var(--font-display);letter-spacing:.2em;color:var(--text-2)}.lm-display{margin:0;font-family:var(--font-display);font-weight:200;font-size:var(--fs-display);line-height:.98;letter-spacing:-.02em;color:var(--text-1);text-wrap:balance}.lm-display>span{display:block}.lm-h2{font-weight:200;font-size:var(--fs-h2);line-height:1.02;letter-spacing:-.015em;text-wrap:balance}.lm-h2,.lm-h3{margin:0;font-family:var(--font-display);color:var(--text-1)}.lm-h3{font-weight:300;font-size:var(--fs-h3);line-height:1.2}.lm-lede{margin:0;max-width:64ch;font:400 var(--fs-lede) /1.6 var(--font-body);color:var(--text-2);text-wrap:pretty}.lm-plane{position:relative;isolation:isolate;border-radius:var(--radius)}.lm-plane:after,.lm-plane:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.lm-plane:before{z-index:-1;background:linear-gradient(180deg,rgba(5,13,21,.9),rgba(2,7,12,.93))}.lm-plane:after{padding:1px;background:radial-gradient(70% 140% at 50% 0,rgba(242,251,255,.9),rgba(155,229,255,.34) 32%,rgba(155,229,255,.14) 72%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.lm-edge{paint-order:stroke fill;-webkit-text-stroke:var(--edge,3px) var(--ink);stroke-linejoin:round}:where(.lm-edge) :where(.lm-h2,.lm-display){-webkit-text-stroke-width:clamp(4px,.075em,6px)}.lm-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:999px;font:500 15px/1 var(--font-body);letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:box-shadow var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.lm-btn--primary{color:#02121c;background:radial-gradient(120% 180% at 50% 0,#fff,#cdf2ff 45%,var(--ice));box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.75),0 0 18px rgba(53,214,255,.34),0 0 52px rgba(53,214,255,.14)}.lm-btn--primary:hover{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.95),0 0 24px rgba(53,214,255,.5),0 0 72px rgba(53,214,255,.22)}.lm-btn--ghost{color:var(--text-1);background:rgba(3,10,17,.88);box-shadow:inset 0 0 0 1px var(--line-3)}.lm-btn--ghost:hover{color:var(--hot);box-shadow:inset 0 0 0 1px rgba(242,251,255,.9),0 0 22px rgba(53,214,255,.22)}.lm-btn--small{min-height:40px;padding:0 18px;font-size:14px}.lm-btn__arrow{width:16px;height:16px;flex:none;transition:transform var(--t-fast) var(--ease)}.lm-btn:hover .lm-btn__arrow{transform:translateX(3px)}.lm-btn__icon{width:16px;height:16px;flex:none}.lm-link{color:var(--text-2);text-decoration:none;background:linear-gradient(var(--line-2),var(--line-2)) 0 100% /100% 1px no-repeat;padding-bottom:2px;transition:color var(--t-fast) var(--ease),background-size var(--t-fast) var(--ease)}.lm-link:hover{color:var(--hot);background-image:linear-gradient(var(--ice),var(--ice))}.lm-services{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:0;padding:0;list-style:none;font-size:var(--fs-small)}.lm-credential{display:inline-flex;align-items:center;gap:10px;margin:0;font:400 var(--fs-label) /1.3 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2)}.lm-credential__mark{flex:none;width:9px;height:9px;border:1px solid var(--ice);transform:rotate(45deg)}.lm-scene{position:relative;min-height:100svh;display:grid;place-items:center;padding:var(--scene-pt) var(--gutter) var(--scene-pb)}.lm-frame{width:var(--frame);margin-inline:auto}.lm-in{animation:lm-in var(--t-reveal) var(--ease) backwards;animation-delay:calc(var(--i, 0) * var(--stagger) + .12s)}@keyframes lm-in{0%{opacity:0;transform:translateY(10px);filter:blur(6px)}}@media (prefers-reduced-motion:reduce){.lm *,.lm :after,.lm :before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (forced-colors:active){.lm-plane{border:1px solid CanvasText}.lm-plane:after{display:none}.lm-edge,.lm-edge :where(.lm-h2,.lm-display){-webkit-text-stroke:0}.lm-btn{border:1px solid ButtonText}.lm-credential__mark{border-color:CanvasText}}