@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f49c72243bdcede-s.08hd2gmdgg53j.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a2797aaeec05c026-s.1ijh3eiienigl.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3baf9375001c1f5-s.26q94mkznr9q6.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9096fd5f49bfad97-s.2u1f8c8uadqqu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ef7be03ed7e60a63-s.p.3v7282xeqat89.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/be04ef6d3831928d-s.22h6a2osbbe0b.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/690c9e92a92dc3ad-s.1jij-3gx6ysyj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bd1c8a16898c933f-s.1wgq65k1-qif0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c63a115de3206da5-s.424s18vpo6lfa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/713e82fa9fe87496-s.p.0rayo0436sl6u.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif Fallback;src:local(Times New Roman);ascent-override:88.04%;descent-override:23.62%;line-gap-override:0.0%;size-adjust:116.43%}.ibm_plex_serif_ce04a5f9-module__AulYCa__className{font-family:IBM Plex Serif,IBM Plex Serif Fallback;font-style:normal}.ibm_plex_serif_ce04a5f9-module__AulYCa__variable{--font-display:"IBM Plex Serif", "IBM Plex Serif Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_192a751f-module__qTxBJq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_192a751f-module__qTxBJq__variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_406eca52-module__HTod0G__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_406eca52-module__HTod0G__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--bg2:#fafcfa;--sunken:#f5f7f5;--ink:#1e1e1a;--ink2:#33332e;--mute:#6e6e66;--line:#e4e9e5;--line2:#cfe0d5;--green:#2e6b4a;--deep:#1f5237;--wash:#edf3ee;--amber:#b4762a;--amber-map:#e8923a;--card:#fafcfa;--bande:#f3f5f3}html{background:var(--bg)}body{color:var(--ink2);font-family:var(--font-sans), "IBM Plex Sans", system-ui, sans-serif;-webkit-font-smoothing:antialiased;background:0 0;margin:0;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input:focus{outline:none}::selection{background:var(--wash);color:var(--deep)}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:3px}nav{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f3f5f3eb;justify-content:space-between;align-items:center;gap:28px;padding:18px clamp(20px,2.6vw,44px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:14px;display:flex}.nav-links{color:var(--mute);font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.16em;text-transform:uppercase;gap:32px;font-size:10px;font-weight:500;display:flex}.nav-links a{white-space:nowrap;transition:color .15s}.nav-links a:hover{color:var(--ink)}.nav-cta{align-items:center;gap:12px;display:flex}.btn{letter-spacing:.01em;white-space:nowrap;border:none;border-radius:6px;padding:10px 18px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--deep)}.btn-ghost{color:var(--ink);border:1px solid var(--line2);background:0 0}.btn-ghost:hover{border-color:var(--green);color:var(--deep)}.btn-lg{padding:13px 20px;font-size:13px}.hero{padding:0}h1.hero-h{font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.021em;max-width:880px;color:var(--ink);text-wrap:balance;margin:0 0 24px;font-size:clamp(36px,4.8vw,62px);font-weight:400;line-height:1.08;animation:.6s .1s both fadeUp}.sub{color:var(--mute);max-width:600px;margin-bottom:32px;font-size:18px;line-height:1.6;animation:.6s .25s both fadeUp}.sub strong{color:var(--ink);font-weight:500}.ctas{flex-wrap:wrap;gap:10px;animation:.6s .4s both fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.lang-switch{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.1em;color:var(--mute);align-items:center;gap:6px;font-size:11px;display:flex}.lang-switch a{transition:color .15s}.lang-switch a:hover{color:var(--ink)}.lang-switch a.on{color:var(--deep);font-weight:600}.sec-head{max-width:760px;margin-bottom:44px}.sec-label{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--green);margin-bottom:16px;font-size:11.5px;font-weight:600;display:block}.sec-h{font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;font-size:clamp(28px,3.4vw,42px);font-weight:400;line-height:1.1}.sec-intro{color:var(--mute);max-width:620px;margin-top:18px;font-size:16px;line-height:1.6}.sec-intro strong{color:var(--ink);font-weight:600}.products{margin:110px 0 0;padding:0;scroll-margin-top:98px}.product{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:26px;transition:border-color .2s;display:flex}.product:hover{border-color:var(--line2)}.product-link{cursor:pointer}.product-link:hover{border-color:var(--green);box-shadow:0 12px 28px #1e1e1a0f}.product-link h3:after{content:" →";color:var(--green);font-family:var(--font-sans), "IBM Plex Sans", system-ui, sans-serif;font-size:.72em}.product h3{font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin-bottom:10px;font-size:21px;font-weight:400;line-height:1.2}.product p{color:var(--mute);flex:1;margin-bottom:20px;font-size:14px;line-height:1.6}.product .meta{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.08em;color:var(--mute);border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;padding-top:14px;font-size:10px;display:flex}.coverage{margin:110px 0 0;padding:0}.cov-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.cov{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:28px}.cov h3{font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.015em;color:var(--ink);margin-bottom:6px;font-size:26px;font-weight:400}.cov-l{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin-bottom:16px;font-size:10px}.cov p{color:var(--mute);font-size:14px;line-height:1.6}.cta-band{border-top:1px solid var(--line2);background:var(--wash);grid-template-columns:1fr 1fr;align-items:start;gap:56px;margin:110px 0 0;padding:44px clamp(22px,2.4vw,40px);display:grid}.cta-copy h2{font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;font-size:clamp(28px,3.2vw,40px);font-weight:400;line-height:1.12}.cta-copy p{color:var(--mute);max-width:420px;margin-top:16px;font-size:15px;line-height:1.6}.demo-form{flex-direction:column;gap:14px;display:flex}.f-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.demo-form label{flex-direction:column;gap:6px;display:flex}.demo-form label span{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-size:10px}.demo-form input,.demo-form textarea{color:var(--ink);border:1px solid var(--line2);resize:vertical;background:#fff;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.demo-form input:focus,.demo-form textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2e6b4a1f}.demo-form button{align-self:flex-start;margin-top:4px}.demo-form button:disabled{cursor:wait;opacity:.62;transform:none}.contact-honeypot{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.contact-turnstile{max-width:300px}.f-note{color:var(--mute);font-size:12px;line-height:1.5}.f-privacy{max-width:520px;color:var(--mute);font-size:10.5px;line-height:1.55}.f-status{max-width:520px;min-height:21px;font-size:12px;font-weight:500;line-height:1.55}.f-status:empty{min-height:0}.f-status.is-success{color:var(--green)}.f-status.is-error{color:#9d342d}footer{background:var(--bande);border-top:1px solid var(--line);color:var(--mute);flex-wrap:wrap;justify-content:space-between;gap:48px;margin:72px 0 0;padding:56px clamp(20px,2.6vw,44px) 64px;font-size:13px;display:flex}.foot-brand{flex-direction:column;gap:12px;max-width:280px;display:flex}.foot-tag,footer>p{max-width:280px;font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.035em;color:var(--ink2);font-size:10.5px;font-weight:400;line-height:1.75}.foot-legal{color:var(--mute);font-size:11px;line-height:1.6}.foot-cols{flex-wrap:wrap;gap:48px;display:flex}.foot-col{flex-direction:column;gap:9px;display:flex}.foot-col .head{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:4px;font-size:10px}.foot-col a{font-size:13px;transition:color .15s}.foot-col a:hover{color:var(--deep)}@media (max-width:1080px){.nav-links{letter-spacing:.12em;gap:20px;font-size:9px}.prod-grid,.steps{grid-template-columns:repeat(2,1fr)}.cta-band{grid-template-columns:1fr;gap:32px}}@media (max-width:880px){.nav-links{display:none}.cov-grid{grid-template-columns:1fr}}@media (max-width:768px){nav{padding:14px 20px}.hero{padding:60px 20px 30px}h1.hero-h{font-size:clamp(34px,8vw,56px)}.sub{font-size:15px}.playground-wrap{margin:60px auto 0;padding:0 16px}.win-body{grid-template-columns:1fr}.map{border-right:none;border-bottom:1px solid var(--line);min-height:260px}.win-chrome{flex-wrap:wrap}.win-url{flex:200px}.win-tabs{flex-wrap:wrap;margin-left:0}.products,.segments,.coverage{margin-top:72px;padding:0 20px}.cta-band{margin-top:72px;padding:40px 20px}.f-row{grid-template-columns:1fr}footer{flex-direction:column;gap:32px;padding:40px 20px 48px}.foot-cols{gap:28px}}.data-tech{margin:110px 0 0;padding:0}.proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.proof{border:1px solid var(--line);background:var(--card);border-radius:12px;min-height:236px;padding:26px}.proof>strong{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:-.055em;color:var(--deep);margin-bottom:28px;font-size:clamp(32px,3.4vw,48px);font-weight:500;line-height:1;display:block}.proof h3{min-height:2.4em;font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.01em;color:var(--ink);margin-bottom:10px;font-size:20px;font-weight:400;line-height:1.2}.proof p{color:var(--mute);font-size:13px;line-height:1.6}.ecosystem{margin-top:34px}.logo-marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.logo-track{width:max-content;animation:48s linear infinite logo-scroll;display:flex}.logo-marquee:hover .logo-track{animation-play-state:paused}.logo-set{flex:none;align-items:center;display:flex}.logo-item{border-right:1px solid var(--line);opacity:.58;filter:saturate(.58)contrast(.92);justify-content:center;align-items:center;gap:9px;width:142px;height:76px;padding:16px 22px;transition:opacity .2s,filter .2s;display:inline-flex}.logo-item:hover{opacity:.92;filter:saturate(.9)contrast()}.logo-item img{object-fit:contain;width:auto;height:auto;display:block}.logo-mark img{width:38px;height:38px}.logo-medium img{width:78px;max-height:34px}.logo-wide img{width:102px;max-height:28px}.logo-item:has(span) img{flex:none;width:30px;height:30px}.logo-item span{max-width:82px;color:var(--ink2);font-size:10px;font-weight:600;line-height:1.15}@keyframes logo-scroll{to{transform:translate(-50%)}}.segments{margin:110px 0 0;padding:0;scroll-margin-top:98px}.seg-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (min-width:1700px){.seg-grid{grid-template-columns:repeat(4,1fr)}}.seg{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:30px;transition:border-color .2s}.seg:hover{border-color:var(--line2)}.seg h3{font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;margin-bottom:12px;font-size:24px;font-weight:400;line-height:1.15}.seg p{color:var(--mute);font-size:14px;line-height:1.65}.prod-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}@media (max-width:768px){.segments,.data-tech{margin-top:72px;padding:0 20px}.proof-grid{grid-template-columns:1fr}.proof{min-height:auto}.proof>strong{margin-bottom:18px}.logo-item{width:124px;height:66px;padding:13px 18px}.logo-mark img{width:32px;height:32px}.logo-medium img{width:68px;max-height:29px}.logo-wide img{width:88px;max-height:24px}.logo-item:has(span) img{width:27px;height:27px}.prod-grid{grid-template-columns:1fr}}.scrolly{grid-template-columns:minmax(0,1fr) clamp(300px,27vw,460px);align-items:start;gap:clamp(32px,4vw,72px);padding:0 clamp(20px,2.6vw,44px);display:grid}.scrolly-hero{grid-area:1/1;min-width:0}.scrolly-col{grid-area:2/1;min-width:0}.scrolly-col>*{max-width:none}.scrolly-col .sub,.scrolly-col .sec-intro,.scrolly-col .cta-copy p{max-width:62ch}.scrolly-col .seg p,.scrolly-col .product p,.scrolly-col .cov p{max-width:54ch}.scrolly-col{padding-bottom:4vh}.scrolly .hero{max-width:none;padding:12vh 0 0}.scrolly .hero h1.hero-h{max-width:var(--mesure-titre);font-size:clamp(32px,3.2vw,52px)}.scrolly .sub{max-width:none}.scrolly-stage{grid-area:1/2/span 2;justify-content:flex-end;align-items:center;height:100vh;display:flex;position:sticky;top:0}.scrolly-stage .frame{border:1px solid var(--line);background:var(--bg2);border-radius:10px;flex-direction:column;width:100%;max-width:460px;margin:0;display:flex;overflow:hidden;box-shadow:0 18px 50px #1e1e1a17}.scrolly-stage canvas{width:100%;display:block}.legend{border-top:1px solid var(--line);opacity:0;background:#fff;flex-wrap:wrap;gap:7px 14px;max-height:0;padding:0 12px;transition:opacity .35s,max-height .35s,padding .35s;display:flex;overflow:hidden}.legend.on{opacity:1;max-height:108px;padding:9px 11px}.legend i{font-style:normal;font-family:var(--font-mono), "IBM Plex Mono", monospace;color:var(--ink2);align-items:center;gap:6px;font-size:10px;display:inline-flex}.legend i s{border-radius:2px;flex:none;width:9px;height:9px;text-decoration:none;display:block}.cap{border-top:1px solid var(--line);font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.06em;color:var(--mute);text-transform:uppercase;background:#fff;justify-content:space-between;gap:12px;padding:9px 12px;font-size:10px;display:flex}.cap b{color:var(--deep);font-weight:600}@media (max-width:1100px){.scrolly{grid-template-columns:1fr;gap:0;padding:0 20px}.scrolly-hero{grid-area:1/1}.scrolly-stage{grid-area:2/1}.scrolly-col{grid-area:3/1}.scrolly-col>*{max-width:none}.scrolly-stage{justify-content:center}.scrolly .hero{padding:8vh 0 0}.scrolly-stage{background:var(--bg);border-bottom:1px solid var(--line);z-index:3;height:auto;padding:10px 0;top:65px}.scrolly-stage .frame{max-width:min(460px,62vw)}}@media (max-width:600px){html{overflow-x:hidden}nav{gap:12px;padding:12px 16px}.nav-cta>.btn{display:none}.nav-cta{gap:0}.brand-logo>span:last-child{letter-spacing:.12em!important;font-size:9px!important}.scrolly-stage{display:none}.scrolly-col{grid-row:2}.scrolly .data-tech,.scrolly .segments,.scrolly .products,.scrolly .coverage{padding-inline:0}.scrolly .cta-band{width:calc(100% + 40px);margin-inline:-20px}.proof,.seg,.product,.cov{padding:22px}.sec-head{margin-bottom:32px}footer .brand-logo>span:last-child{font-size:9px!important}}@media (max-width:360px){.ctas{grid-template-columns:1fr;display:grid}.ctas .btn{text-align:center;width:100%}}.note{border-top:1px solid var(--line);background:#fff;padding:12px 13px 14px;display:block}.note .nb{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:7px;font-size:9px;display:block}.note strong{font-family:var(--font-display), "IBM Plex Serif", Georgia, serif;letter-spacing:-.01em;color:var(--ink);margin-bottom:5px;font-size:15.5px;font-weight:400;line-height:1.2;display:block}.note .tx{color:var(--mute);min-height:3em;font-size:12px;line-height:1.5;display:block}.note .risk-facts-title{font-family:var(--font-mono), "IBM Plex Mono", monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-top:10px;font-size:8.5px;display:block}.note .ch{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.note .ch em{font-style:normal;font-family:var(--font-mono), "IBM Plex Mono", monospace;color:var(--deep);background:var(--wash);border:1px solid var(--line2);font-variant-numeric:tabular-nums;border-radius:3px;padding:3px 7px;font-size:9.5px}.note .ch em.risk-medium{color:#78691b;background:#f6f1d8;border-color:#ded193}.note .ch em.risk-recorded{color:#9a4e24;background:#faeee7;border-color:#e8bfa9}.note .ch em.enjeu-critical{color:#a33b32;background:#fbece9;border-color:#e5aaa3}.note .esp{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.note .esp .e{color:var(--ink2);background:var(--bg2);border:1px solid var(--line);border-radius:20px;align-items:center;gap:6px;padding:2px 9px 2px 2px;font-size:10px;font-style:normal;display:inline-flex}.note .esp .e img{object-fit:cover;border-radius:50%;width:20px;height:20px;display:block}@media (max-width:980px){.scrolly-stage .frame{max-width:460px}.note .tx{min-height:0}}:root{--mesure:660px;--mesure-titre:860px;--spec-x:calc(var(--mesure) + 60px);--spec-x-hero:calc(var(--mesure-titre) + 56px);--spec-x-gap:0px}.scrolly .hero,.segments,.products,.coverage,.cta-band{position:relative}.scrolly-col .sec-head,.scrolly .hero .sub{max-width:var(--mesure)}.spec-layer{display:contents}.spec{pointer-events:none;z-index:-1;background-position:50%;background-repeat:no-repeat;background-size:contain;display:none;position:absolute}@media (min-width:1400px){.spec[data-min="1400"]{display:block}}@media (min-width:1600px){.spec[data-min="1600"]{display:block}}@media (min-width:1800px){.spec[data-min="1800"]{display:block}}
