@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/7a79a8532ddacb0c-s.1shg3f9j2jih-.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/ded494f396ddea9f-s.p.3j3x29wbycqkn.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:Schibsted Grotesk Fallback;src:local(Arial);ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.0%;size-adjust:104.49%}.B64FTG_className{font-family:Schibsted Grotesk,Schibsted Grotesk Fallback;font-style:normal}.B64FTG_variable{--font-text:"Schibsted Grotesk", "Schibsted Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/258bd0ab5fdd762a-s.2f7nqdagzwx2-.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/99a2019bdfa8519b-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/44e0cb21b0d052b7-s.0bp8oijd_gu96.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/f9cd5a77d065db98-s.1fby2rem9ngyr.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/954d21e04331b2ae-s.0vfdmo25voy_0.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/53897e768d329f66-s.p.3t6q91iet4nsy.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}._78ed6G_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}._78ed6G_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--violet-950:#1b0540;--violet-800:#3e0a8f;--violet-600:#6300d1;--violet-100:#efe6fb;--paper:#fbf9f4;--ink:#17121f;--ink-soft:#55506a;--line:#e4dff0;--wa:#25d366;--wa-bubble:#dcf8c6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-text), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}a{color:inherit}:focus-visible{outline:3px solid var(--violet-600);outline-offset:3px;border-radius:4px}.wrap{width:min(1120px,100% - 40px);margin-inline:auto}h1,h2,h3{font-family:var(--font-text), system-ui, sans-serif;letter-spacing:-.02em;margin:0;line-height:1.12}h1{max-width:15ch;font-size:clamp(2.3rem,5.4vw,4.1rem);font-weight:800}h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:750}h3{font-size:1.15rem;font-weight:700}p{margin:0}.header{z-index:10;background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.header .wrap{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--violet-600);color:#fff;border-radius:9px;place-items:center;width:30px;height:30px;font-size:1.1rem;display:grid}.nav{align-items:center;gap:22px;font-size:.95rem;display:flex}.nav a{color:var(--ink-soft);text-decoration:none}.nav a:hover{color:var(--ink)}.nav a.btn-primary{color:#fff;padding:8px 16px}.nav a.btn-primary:hover{color:#fff}.btn{border:2px solid var(--violet-600);border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--violet-600);color:#fff}.btn-primary:hover{background:var(--violet-800);border-color:var(--violet-800)}.btn-ghost{color:var(--violet-600);background:0 0}.btn-ghost:hover{background:var(--violet-100)}.hero{background:radial-gradient(900px 400px at 85% 0%, var(--violet-100), transparent 70%);padding:80px 0 72px}.hero-refs{color:var(--ink-soft);margin-top:28px;font-size:.95rem}.demo-text{color:var(--ink-soft);max-width:48ch;margin-top:12px}.services{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;display:grid}.service{border:1px solid var(--line);background:#fff;border-radius:18px;padding:26px}.service h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.service p{color:var(--ink-soft);margin-top:10px;font-size:.98rem}.service ul{margin:16px 0 0;padding-left:20px;font-size:.95rem}.service li+li{margin-top:4px}.badge-new{background:var(--violet-100);color:var(--violet-800)}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;display:grid}.hero p.lead{color:var(--ink-soft);max-width:52ch;margin-top:22px;font-size:1.15rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.demo{position:relative}.code{background:var(--violet-950);color:#e9e0fb;max-width:100%;font-family:var(--font-mono), ui-monospace, monospace;border-radius:18px;margin:0;padding:22px 24px;font-size:.84rem;line-height:1.7;overflow-x:auto;box-shadow:0 24px 50px -24px #3c0a8c8c}.code .k{color:#b894f5}.code .s{color:#8fe3b0}.code .c{color:#8b7fb0}.demo-label{color:var(--ink-soft);margin-top:10px;font-size:.82rem}.bubble-wrap{width:min(300px,86%);margin:-26px 0 0 auto;position:relative}.bubble{background:var(--wa-bubble);color:#0b2415;border-radius:16px 16px 4px;padding:12px 14px;font-size:.95rem;box-shadow:0 12px 28px -16px #00000073}.bubble small{text-align:right;color:#3e6b4c;margin-top:4px;font-size:.72rem;display:block}.bubble-wrap .tag{background:var(--wa);color:#05381a;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:800;position:absolute;top:-12px;left:12px}section.block{padding:84px 0}section.block+section.block{border-top:1px solid var(--line)}.section-head{max-width:62ch;margin-bottom:40px}.section-head p{color:var(--ink-soft);margin-top:12px}.cap-groups{grid-template-columns:1.2fr 1fr;gap:28px;display:grid}.cap-group h3{align-items:center;gap:10px;margin-bottom:14px;display:flex}.badge{border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:800}.badge-on{color:#0e5a2f;background:#d8f5e3}.badge-soon{color:#7a4a00;background:#fdeccc}.cap{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px 22px}.cap+.cap{margin-top:12px}.cap p{color:var(--ink-soft);margin-top:6px;font-size:.97rem}.cap.soon{background:0 0;border-style:dashed}.table-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.table-card table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.95rem}.table-card th,.table-card td{text-align:left;border-bottom:1px solid var(--line);padding:14px 18px}.table-card th{background:var(--violet-100);font-size:.85rem}.table-card td.num,.table-card th.num{text-align:right}.table-card tr:last-child td{border-bottom:0}.example-note{color:var(--ink-soft);margin-top:12px;font-size:.85rem}.refs{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.ref{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.ref strong{letter-spacing:-.02em;font-size:1.3rem;display:block}.ref span{color:var(--ink-soft);font-size:.93rem}.own{background:var(--violet-950);color:#efe6fb;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding:24px 28px;display:flex}.own p{color:#cdbbed;max-width:60ch;margin-top:4px}.own .btn{color:#fff;border-color:#b894f5}.own .btn:hover{background:var(--violet-800)}.principles{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px 40px;display:grid}.principles p{color:var(--ink-soft);margin-top:8px;font-size:.97rem}.contact{background:var(--violet-950);color:#efe6fb}.contact h2{max-width:20ch}.contact p{color:#cdbbed;max-width:54ch;margin-top:12px}.contact .btn-primary{background:var(--wa);border-color:var(--wa);color:#05381a}.contact .btn-primary:hover{background:#1fb457;border-color:#1fb457}.footer{color:var(--ink-soft);border-top:1px solid var(--line);padding:36px 0 48px;font-size:.9rem}.footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.footer nav{gap:18px;display:flex}.legal{padding:56px 0 90px}.legal .doc{max-width:70ch}.legal h1{max-width:none;font-size:clamp(2rem,4vw,2.8rem)}.legal .upd{color:var(--ink-soft);margin:10px 0 36px;font-size:.92rem}.legal h2{margin:30px 0 10px;font-size:1.3rem}.legal p+p{margin-top:10px}.hero-grid>*,.cap-groups>*{min-width:0}.table-card{overflow-x:auto}.table-card table{min-width:560px}@media (max-width:860px){.hero-grid,.cap-groups{grid-template-columns:1fr;gap:36px}.nav a.hide-m{display:none}section.block{padding:60px 0}.hero{padding:40px 0 56px}}@media (prefers-reduced-motion:no-preference){.bubble-wrap{animation:.7s cubic-bezier(.2,.8,.2,1) .5s both arrive}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}.steps{counter-reset:etape;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:etape;border:1px solid var(--line);background:#fff;border-radius:18px;padding:24px}.steps li:before{content:counter(etape);background:var(--violet-600);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;margin-bottom:14px;font-weight:800;display:grid}.steps p{color:var(--ink-soft);margin-top:8px;font-size:.97rem}
