@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-600.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-800.woff2)format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-400.woff2)format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-600.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2)format("woff2")}:root{--vfo-blue-950:#0e1a2b;--vfo-blue-800:#113a6a;--vfo-blue-700:#0a4a8f;--vfo-blue-500:#2f73b8;--vfo-blue-400:#4d97d6;--vfo-blue-200:#8fc1ea;--vfo-blue-100:#d6e7f5;--vfo-ink:#1a2433;--vfo-slate-700:#3c4756;--vfo-slate-500:#5a6675;--vfo-slate-300:#9fb0c4;--vfo-border:#dde4ec;--vfo-paper:#f4f6f9;--vfo-white:#fbfcfd;--vfo-normal:#2e7d4f;--vfo-normal-tint:#e7f2ec;--vfo-caution:#c2851a;--vfo-caution-tint:#f7efde;--vfo-warning:#b3362b;--vfo-warning-tint:#f6e5e3;--vfo-bg:var(--vfo-white);--vfo-bg-sunken:var(--vfo-paper);--vfo-surface:#fff;--vfo-text:var(--vfo-ink);--vfo-text-secondary:var(--vfo-slate-700);--vfo-text-muted:var(--vfo-slate-500);--vfo-line:var(--vfo-border);--vfo-accent:var(--vfo-blue-700);--vfo-accent-hover:var(--vfo-blue-800);--vfo-accent-tint:#edf4fb;--vfo-focus:var(--vfo-blue-500);--vfo-on-accent:#fff;--vfo-font-heading:"Montserrat", sans-serif;--vfo-font-body:"Source Sans 3", sans-serif;--vfo-font-data:"IBM Plex Mono", monospace;--vfo-text-display:800 34px/1.15 var(--vfo-font-heading);--vfo-text-h1:800 24px/1.2 var(--vfo-font-heading);--vfo-text-h2:700 18px/1.3 var(--vfo-font-heading);--vfo-text-label:700 11px/1.2 var(--vfo-font-heading);--vfo-text-body:400 15px/1.6 var(--vfo-font-body);--vfo-text-data:500 13px/1.4 var(--vfo-font-data);--vfo-tracking-label:1.5px;--vfo-min-font-ui:13px;--vfo-space-1:8px;--vfo-space-2:16px;--vfo-space-3:24px;--vfo-space-4:32px;--vfo-space-6:48px;--vfo-space-compact:4px;--vfo-radius-control:4px;--vfo-radius-card:6px;--vfo-radius-modal:10px;--vfo-shadow-overlay:0 2px 8px #1020381a;--vfo-content-max-width:1120px;--vfo-hit-target-min:44px}[data-theme=dark]{--vfo-bg:var(--vfo-blue-950);--vfo-bg-sunken:var(--vfo-blue-950);--vfo-surface:#16263d;--vfo-text:#ffffffeb;--vfo-text-secondary:#ffffffc7;--vfo-text-muted:#ffffff8c;--vfo-line:#ffffff1f;--vfo-accent:var(--vfo-blue-400);--vfo-accent-hover:var(--vfo-blue-200);--vfo-accent-tint:#4d97d61f;--vfo-on-accent:var(--vfo-blue-950);--vfo-normal:#4caf7a;--vfo-normal-tint:#4caf7a26;--vfo-caution:#e0a63c;--vfo-caution-tint:#e0a63c26;--vfo-warning:#e05e52;--vfo-warning-tint:#e05e5226;--vfo-shadow-overlay:none}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100svh;font:var(--vfo-text-body);color:var(--vfo-text);background:var(--vfo-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}::selection{background:var(--vfo-blue-100)}.app{flex-direction:column;min-height:100svh;display:flex}.app__main{flex:auto}.header{z-index:10;background:var(--vfo-surface);border-bottom:1px solid var(--vfo-line);position:sticky;top:0}.header__inner{max-width:var(--vfo-content-max-width);padding:var(--vfo-space-2) var(--vfo-space-3);justify-content:space-between;align-items:center;gap:var(--vfo-space-2);margin:0 auto;display:flex}.header__home{border-radius:var(--vfo-radius-control);display:inline-flex}.header__home:focus-visible{outline:2px solid var(--vfo-focus);outline-offset:4px}@media (width<=640px){.header__inner{padding:var(--vfo-space-2)}}.logo{width:auto;height:80px;font-family:var(--vfo-font-heading);display:block}.logo__bar,.logo__sub,.logo__rule{fill:var(--vfo-accent)}.logo__bar-accent{fill:var(--vfo-blue-200)}.logo__word{fill:var(--vfo-text)}.theme-toggle{width:var(--vfo-hit-target-min);height:var(--vfo-hit-target-min);color:var(--vfo-text-secondary);border:1.5px solid var(--vfo-line);border-radius:var(--vfo-radius-control);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--vfo-accent);border-color:var(--vfo-accent);background:var(--vfo-accent-tint)}.theme-toggle:focus-visible{outline:2px solid var(--vfo-focus);outline-offset:2px}.theme-toggle__icon{display:block}.footer{border-top:1px solid var(--vfo-line);background:var(--vfo-surface)}.footer__inner{max-width:var(--vfo-content-max-width);padding:var(--vfo-space-3);justify-content:space-between;align-items:center;gap:var(--vfo-space-2);flex-wrap:wrap;margin:0 auto;display:flex}.footer__copy{font:var(--vfo-text-body);color:var(--vfo-text-muted);font-size:13px}.footer__legal{font:var(--vfo-text-body);color:var(--vfo-text-muted);flex-basis:100%;margin:0;font-size:12px;line-height:1.55}.footer__nav{gap:var(--vfo-space-3);display:flex}.footer__nav a{font:var(--vfo-text-label);letter-spacing:var(--vfo-tracking-label);text-transform:uppercase;color:var(--vfo-text-secondary);text-decoration:none}.footer__nav a:hover{color:var(--vfo-accent)}.banner__inner{max-width:var(--vfo-content-max-width);padding:var(--vfo-space-6) var(--vfo-space-3);text-align:center;margin:0 auto}.tagline{text-wrap:balance;font:var(--vfo-text-display);letter-spacing:-.5px;color:var(--vfo-text);margin:0}.policy{max-width:68ch;padding:var(--vfo-space-6) var(--vfo-space-3);font:var(--vfo-text-body);color:var(--vfo-text-secondary);margin:0 auto}.policy__updated{margin:0 0 var(--vfo-space-1);font:var(--vfo-text-label);letter-spacing:var(--vfo-tracking-label);text-transform:uppercase;color:var(--vfo-text-muted)}.policy__title{margin:0 0 var(--vfo-space-3);font:var(--vfo-text-h1);color:var(--vfo-text)}.policy h2{margin:var(--vfo-space-4) 0 var(--vfo-space-1);font:var(--vfo-text-h2);color:var(--vfo-text)}.policy p,.policy li{color:var(--vfo-text-secondary)}.policy ul{padding-left:var(--vfo-space-3);gap:var(--vfo-space-1);flex-direction:column;margin:0;display:flex}.policy a{color:var(--vfo-accent);text-decoration:none}.policy a:hover{text-decoration:underline}.fv__hero,.fv__demo,.fv__dev,.fv__inner,.fv__note{max-width:var(--vfo-content-max-width);padding-inline:var(--vfo-space-3);margin:0 auto}.fv__hero{padding-block:72px var(--vfo-space-4)}.fv__label{font:var(--vfo-text-label);letter-spacing:var(--vfo-tracking-label);text-transform:uppercase;color:var(--vfo-text-muted);margin:0 0 12px}.fv__title{max-width:820px;font:800 clamp(36px, 6vw, 60px) / 1.08 var(--vfo-font-heading);letter-spacing:-1px;text-wrap:balance;margin:0}.fv__kicker{margin:var(--vfo-space-2) 0 0;font:700 clamp(20px, 2.6vw, 26px) / 1.3 var(--vfo-font-heading);color:var(--vfo-accent)}.fv__lede{margin:var(--vfo-space-3) 0 0;max-width:640px;color:var(--vfo-text-secondary);font-size:19px}.fv__actions{margin-top:var(--vfo-space-4);gap:var(--vfo-space-2);flex-wrap:wrap;display:flex}.fv__btn{border-radius:var(--vfo-radius-control);min-height:48px;font:700 15px / 1 var(--vfo-font-heading);align-items:center;padding:0 28px;text-decoration:none;display:inline-flex}.fv__btn--primary{background:var(--vfo-accent);color:var(--vfo-on-accent)}.fv__btn--primary:hover{background:var(--vfo-accent-hover)}.fv__btn--secondary{border:1px solid var(--vfo-slate-300);color:var(--vfo-text)}.fv__btn--secondary:hover{border-color:var(--vfo-accent)}.fv__btn--inverse{background:var(--vfo-white);color:var(--vfo-blue-700);min-height:52px;font-size:16px}.fv__demo{padding-block:var(--vfo-space-3) 72px;scroll-margin-top:96px}.fv__figure{margin:0}.fv__video{aspect-ratio:16/9;border-radius:var(--vfo-radius-card);background:var(--vfo-blue-950);overflow:hidden}.fv__iframe{border:0;width:100%;height:100%;display:block}.fv__poster{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.fv__poster-img{object-fit:cover;width:100%;height:100%;display:block}.fv__play{width:76px;height:76px;color:var(--vfo-white);background:#0e1a2bc7;border-radius:50%;place-items:center;transition:background .15s;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.fv__poster:hover .fv__play,.fv__poster:focus-visible .fv__play{background:var(--vfo-accent)}.fv__poster:focus-visible{outline:3px solid var(--vfo-focus);outline-offset:-3px}.fv__poster-note{right:var(--vfo-space-2);bottom:var(--vfo-space-2);border-radius:var(--vfo-radius-control);color:var(--vfo-white);font:600 13px / 1.4 var(--vfo-font-body);background:#0e1a2bb8;padding:4px 10px;position:absolute}.fv__caption{color:var(--vfo-text-muted);margin-top:12px;font-size:14px}.fv__band{background:var(--vfo-bg-sunken);border-block:1px solid var(--vfo-line)}.fv__band .fv__inner{padding-block:72px}.fv__h2{margin:0 0 var(--vfo-space-2);font:800 32px / 1.2 var(--vfo-font-heading)}.fv__band .fv__h2{margin-bottom:40px}.fv__steps{gap:var(--vfo-space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.fv__step,.fv__card{background:var(--vfo-surface);border:1px solid var(--vfo-line);border-radius:var(--vfo-radius-card);padding:28px}.fv__step p,.fv__card p:last-child{color:var(--vfo-text-secondary);margin:0}.fv__step-num{font:600 14px / 1 var(--vfo-font-data);color:var(--vfo-accent)}.fv__h3{margin:12px 0 var(--vfo-space-1);font:700 19px / 1.3 var(--vfo-font-heading)}.fv__own{margin:var(--vfo-space-2) 0 0;color:var(--vfo-text-muted);font-size:15px}.fv__dev{padding-block:72px}.fv__dev .fv__card{max-width:760px}.fv__apply{background:var(--vfo-blue-950);color:var(--vfo-white)}.fv__apply-inner{justify-content:space-between;align-items:center;gap:var(--vfo-space-4);flex-wrap:wrap;padding-block:72px;display:flex}.fv__label--on-dark{color:var(--vfo-blue-200)}.fv__apply-text{color:var(--vfo-blue-100);margin:0;font-size:18px}.fv__note{padding-block:var(--vfo-space-3);color:var(--vfo-text-muted);font-size:14px}
