:root{--bg:#111217;--bg-2:#131418;--surface:#181b1f;--surface-2:#1e2228;--surface-3:#252a31;--border:#24272e;--border-2:#31363f;--text:#d8dbe0;--text-2:#a9aeb6;--muted:#7b8794;--muted-2:#5f6570;--accent:#7c86ff;--accent-soft:#7c86ff24;--accent-line:#7c86ff52;--ok:#00b58a;--ok-soft:#00b58a24;--warn:#e69f00;--warn-soft:#e69f0024;--crit:#e4694a;--crit-soft:#e4694a24;--radius:2px;--radius-sm:2px;--shadow:none;--gap:10px;--pad:12px;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--shell-bg:#15171b;--font-wordmark:"Nunito Sans", system-ui, sans-serif}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:local(IBM Plex Sans),local(IBMPlexSans),local(IBM Plex Sans Regular),local(IBMPlexSans-Regular),url(/fonts/ibmplexsans-var.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:local(IBM Plex Sans Medium),local(IBMPlexSans-Medium),url(/fonts/ibmplexsans-var.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:local(IBM Plex Sans SemiBold),local(IBMPlexSans-SemiBold),url(/fonts/ibmplexsans-var.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:local(JetBrains Mono),local(JetBrainsMono),local(JetBrains Mono Regular),local(JetBrainsMono-Regular),url(/fonts/jetbrainsmono-var.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:local(JetBrains Mono Medium),local(JetBrainsMono-Medium),url(/fonts/jetbrainsmono-var.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:local(JetBrains Mono SemiBold),local(JetBrainsMono-SemiBold),url(/fonts/jetbrainsmono-var.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:local(JetBrains Mono Bold),local(JetBrainsMono-Bold),url(/fonts/jetbrainsmono-var.woff2)format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-display:swap;src:local(Nunito Sans SemiBold),local(NunitoSans-SemiBold),url(/fonts/nunitosans-600.woff2)format("woff2")}.mono{font-family:var(--font-mono);font-feature-settings:"zero", "ss02"}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sys-hdr{z-index:40;background:var(--shell-bg);border-block-end:1px solid var(--border);flex:none;align-items:center;gap:12px;height:50px;padding-inline:14px;display:flex;position:sticky;inset-block-start:0}.sys-burger{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.sys-burger:hover{background:var(--surface-3);color:var(--text)}.sys-burger svg{display:block}.sys-hdr .brand{gap:9px}.sys-hdr .brand .wordmark{font-size:17px}.sys-hdr .sys-right{align-items:center;gap:9px;margin-inline-start:auto;display:flex}.brand{letter-spacing:-.01em;font-weight:600;font-size:inherit;align-items:center;gap:10px;margin:0;display:flex}.brand .mark{flex-shrink:0;display:block}.vcell{fill:var(--text)}.budcell path{fill:var(--accent)}.brand .wordmark{font-family:var(--font-wordmark);letter-spacing:.01em;color:var(--text);white-space:nowrap;flex-shrink:0;font-size:18px;font-weight:600;line-height:1}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;position:relative;overflow:hidden}.kpi .label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;margin-inline-end:62px;font-size:9px;font-weight:500;display:flex;overflow:hidden}.kpi .v{font-family:var(--font-mono);letter-spacing:0;font-variant-numeric:tabular-nums;margin-block-start:6px;font-size:22px;font-weight:700;line-height:1}.kpi .v .unit{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-inline-start:2px;font-size:10.5px;font-weight:500}.kpi .delta{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:6px;margin-block-start:7px;font-size:10.5px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-head{padding:8px var(--pad);border-block-end:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.card-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:10.5px;font-weight:500;display:flex}.card-sub{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--muted);margin-inline-start:4px;font-size:10px;font-weight:400}.card-body{padding:var(--pad)}.badge{font-family:var(--font-mono);letter-spacing:.02em;border-radius:2px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:500;display:inline-flex}.badge.crit{background:var(--crit-soft);color:var(--crit)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.info{background:var(--accent-soft);color:var(--accent)}.bar{background:var(--surface-3);border-radius:1px;height:5px;overflow:hidden}@media (width<=560px){.card-sub{display:none}}:root{--fs-h1:clamp(38px, 38px + (100vw - 360px) * 7 / 332, 60px);--fs-h2:clamp(30px, 34px + (100vw - 1024px) / 104, 38px);--fs-h2-cta:clamp(32px, 34px + (100vw - 1024px) / 104, 38px);--fs-sub:clamp(17px, 17px + (100vw - 360px) / 332, 19px);--dur:.15s;--ease-out:cubic-bezier(.22, .72, .24, 1);--ease-rise:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);scroll-behavior:smooth;scroll-padding-block-start:66px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,p,blockquote{margin:0}img{max-width:100%;height:auto;display:block}address{font-style:normal}a{color:var(--accent);transition:color var(--dur) ease;text-decoration:none}a:hover{color:var(--text)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:32px}.sec{padding-block:120px}.sec+.sec,.legacy-anchor+.sec{border-block-start:1px solid var(--border)}.kicker{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:500}.caption{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);margin-block-start:10px;font-size:10.5px}.shot{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.shot picture{display:block}.shot img{width:100%}.cta-btn{border-radius:var(--radius);height:40px;font-family:var(--font-mono);letter-spacing:.02em;border:1px solid var(--border-2);color:var(--text);background:var(--surface-2);white-space:nowrap;transition:background-color var(--dur) ease, border-color var(--dur) ease, color var(--dur) ease;align-items:center;gap:8px;padding-block:0;padding-inline:16px;font-size:12px;font-weight:600;display:inline-flex}.cta-btn:hover{background:var(--surface-3);border-color:var(--muted-2);color:var(--text)}.cta-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.cta-btn.primary:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.cta-row{flex-wrap:wrap;gap:10px;display:flex}.lead{max-width:60ch}.lead p{color:var(--text-2);margin-block-start:18px;font-size:17px;line-height:1.6}.lead .kicker{color:var(--text-2);font-size:17px}.chapter h2{font-size:var(--fs-h2);letter-spacing:-.02em;color:var(--text);margin-block-start:14px;font-weight:600;line-height:1.12}.learn{font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:6px;margin-block-start:18px;font-size:12px;display:inline-flex}.view{margin-block-start:48px}.sys-hdr{gap:18px;padding-inline:24px}.sys-burger{display:none}.topnav{align-items:center;gap:2px;margin-inline-start:10px;display:flex}.topnav .nav-login{display:none}.nav-link{border-radius:var(--radius);height:30px;color:var(--text-2);transition:background-color var(--dur) ease, color var(--dur) ease;align-items:center;padding-inline:10px;font-size:13.5px;font-weight:500;display:inline-flex}.nav-link:hover{background:var(--surface-3);color:var(--text)}.nav-cta{background:var(--accent);color:var(--bg);font-family:var(--font-mono);letter-spacing:.02em;font-size:11.5px;font-weight:600}.nav-cta:hover{background:var(--text);color:var(--bg)}.hero{padding-block-start:72px}.hero-top{align-items:flex-start;gap:48px;display:flex}.hero-text{min-width:0}.rise{animation:.7s both rise}.hero-title{max-width:16ch;font-family:var(--font-sans);text-transform:none;font-size:var(--fs-h1);letter-spacing:-.025em;color:var(--text);font-weight:600;line-height:1.05;animation-delay:.5s}.hero-sub{max-width:52ch;font-size:var(--fs-sub);color:var(--text-2);margin-block-start:22px;line-height:1.5;animation-delay:.75s}.hero-cta{margin-block-start:28px;animation-delay:1s}.hero-shot{animation:rise .6s var(--ease-rise) 80ms both;margin-block-start:72px}.hero-shot .shot{border-color:var(--border-2)}.crown{flex:none;width:200px;height:200px;margin-block-start:-8px;margin-inline-start:-12px;display:block;overflow:visible}.crown .vcell{fill:var(--text);stroke:var(--text);stroke-width:.08px;stroke-linejoin:miter}.crown .budcell path{fill:var(--accent);stroke:var(--accent);stroke-width:.08px;stroke-linejoin:miter}.crown-field{fill:none;stroke:var(--accent);stroke-width:.06px;opacity:0;transition:opacity .5s}.fielded .crown-field{opacity:.5}.crown-rot{transform-box:fill-box;transform-origin:50%;transition:transform .95s var(--ease-out);transform:rotate(0)scale(1)}.marked .crown-rot{transform:rotate(45deg)scale(.70711)}.cell{transform-box:fill-box;transform-origin:50%;animation:sprout .38s var(--ease-out) both;animation-delay:var(--d,0s)}.cell:first-child{--d:.16s}.cell:nth-child(2){--d:.38s}.cell:nth-child(3){--d:.6s}.cell:nth-child(4){--d:.82s}.cell:nth-child(5){--d:.71s}.cell:nth-child(6){--d:.49s}.cell:nth-child(7){--d:.27s}.cell:nth-child(8){--d:.93s}.landed .cell{animation:none;transform:none}.product .lead{max-width:none}.product h2{max-width:30ch}.values{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-block-start:48px;display:grid}.vcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex}.vcard .cut{border-block-end:1px solid var(--border);background:var(--bg-2)}.vcard .cut img{width:100%}.vcard .body{flex-direction:column;flex:1;gap:10px;padding:18px 18px 20px;display:flex}.vcard h3{letter-spacing:-.01em;color:var(--text);font-size:18px;font-weight:600;line-height:1.3}.vcard .ev{color:var(--text-2);font-size:14.5px;line-height:1.55}.vcard .lnk{font-family:var(--font-mono);letter-spacing:.02em;margin-block-start:auto;padding-block-start:6px;font-size:11.5px}.act{border-block-start:1px solid var(--border);padding-block:12px}.act:first-child{border-block-start:0;padding-block-start:0}.act .t{align-items:center;gap:10px;display:flex}.act .t .badge{letter-spacing:.06em;text-transform:uppercase;font-size:9.5px}.act .t .badge.crit{background:var(--surface-2)}.act .t strong{font-size:13.5px;font-weight:600}.act p{color:var(--text-2);margin-block-start:6px;font-size:13px;line-height:1.5}.act .src{font-family:var(--font-mono);color:var(--muted);margin-block-start:6px;font-size:10.5px}.dev-tiles{gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dev-tiles .kpi .label{white-space:normal;overflow-wrap:anywhere;margin-inline-end:0}.dev-tiles .delta .mono{color:var(--muted)}.dev-grid{gap:var(--gap);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:stretch;margin-block-start:var(--gap);display:grid}.dev-grid>.card{flex-direction:column;display:flex}.dev-grid>.card>.card-body{flex-direction:column;flex:1;display:flex}.dev-grid .acts{flex-direction:column;flex:1;justify-content:space-between;display:flex}.dev-grid .card-head{gap:12px}.dev-grid .card-title{white-space:nowrap;flex:none}.dev-grid .card-sub{text-align:end}.tl svg{display:block}.founders{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-block-start:48px;display:grid}.fq{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.fq .who{min-width:0}.portrait{object-fit:cover;border-radius:var(--radius);width:88px;height:88px}.portrait-frame{border-radius:var(--radius);flex:none;width:88px;height:88px;overflow:hidden}.portrait-janne{transform-origin:50% 28%;transform:scale(1.65)}.founder-name{align-items:center;gap:8px;margin-block-start:2px;display:flex}.linkedin{min-width:28px;min-height:28px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.linkedin-mark{fill:currentColor;width:16px;height:16px}.fq .who .n{color:var(--text);font-size:14px;font-weight:600}.fq .who .r{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-block-start:2px;font-size:10.5px}.legacy-anchor{height:0;display:block}.cta{border-block-start:1px solid var(--border);background:var(--bg-2);padding-block:120px}.access-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.cta h2{max-width:15ch;font-size:var(--fs-h2-cta)}.access-intro .kicker{margin-block-start:0}.cta .cta-sub{max-width:38ch}.access-action{border-inline-start:1px solid var(--border-2);min-width:0;padding-inline-start:32px}.access-next{max-width:44ch;color:var(--text-2);font-size:17px;line-height:1.6}.access-action .cta-row{margin-block-start:32px}.access-action .cta-row .cta-btn{justify-content:center;min-height:44px}.foot{border-block-start:1px solid var(--border);padding-block:56px 36px;font-size:13.5px}.foot .cols{grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:32px 24px;display:grid}.foot .kicker{color:var(--text-2);margin-block-end:14px}.foot ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.foot a{color:var(--text-2)}.foot a:hover{color:var(--text)}.foot .about{max-width:28ch;color:var(--muted);margin-block-start:14px;line-height:1.5}.foot .colophon{border-block-start:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-block-start:48px;padding-block-start:18px;font-size:10.5px;display:flex}.legal-hero{padding-block:72px 56px}.legal-hero h1{max-width:16ch;font-family:var(--font-sans);text-transform:none;font-size:var(--fs-h1);letter-spacing:-.025em;color:var(--text);font-weight:600;line-height:1.05}.legal-hero .legal-sub{max-width:52ch;font-size:var(--fs-sub);color:var(--text-2);margin-block-start:22px;line-height:1.5}.legal-hero .updated{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);margin-block-start:28px;font-size:12px}.legal .sec{padding-block:64px}.legal .lead p+p{margin-block-start:14px}.legal .lead a{color:var(--text-2);text-underline-offset:2px;text-decoration:underline}.legal .lead a:hover{color:var(--text)}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;border-radius:var(--radius);background:var(--accent);color:var(--bg);font-family:var(--font-mono);padding:8px 12px;font-size:12px;font-weight:600;position:absolute;inset-block-start:8px;inset-inline-start:8px;transform:translateY(-200%)}.skip:focus-visible{transform:none}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes sprout{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}@media (width<=1100px){.foot .cols{grid-template-columns:repeat(3,minmax(0,1fr))}.foot .cols>:first-child{grid-column:1/-1}}@media (width<=1000px){.dev-grid{grid-template-columns:1fr}}@media (width<=900px){.access-grid{grid-template-columns:1fr;gap:32px}.access-action{border-inline-start:0;max-width:520px;padding-inline-start:0}.legal .sec{padding-block:52px}.sys-burger{display:flex}.topnav{background:var(--shell-bg);border-block-end:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px;display:none;position:absolute;inset:50px 0 auto}.topnav.open{display:flex}.topnav .nav-link{height:40px}.sys-right .nav-login{display:none}.topnav .nav-login{display:flex}.dev-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.values,.founders{grid-template-columns:1fr}.fq{align-items:center}.sec,.cta{padding-block:88px}}@media (width<=720px){.shot:has(picture){max-width:440px;margin-inline:auto}.hero-top{flex-direction:column;gap:8px}.crown{width:144px;height:144px;margin-inline-start:-8px}}@media (width<=560px){.legal-hero{padding-block:56px 44px}.legal-hero h1{letter-spacing:-.02em}.legal .sec{padding-block:44px}.wrap{padding-inline:18px}.sys-hdr{padding-inline:12px}.hero{padding-block-start:56px}.hero-title{letter-spacing:-.02em}.hero-shot{margin-block-start:48px}.sec,.cta{padding-block:72px}.access-action .cta-btn{padding-inline:12px}.foot .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after,a,.cta-btn,.nav-link,.rise,.hero-shot,.crown-field,.crown-rot,.cell{transition:none;animation:none}}.enquiry{padding:clamp(40px,7vw,100px) 0 80px}.enquiry-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:32px clamp(32px,4vw,64px);display:grid}.enquiry-intro h1{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(32px,4vw,48px);line-height:1.1}.back-link{grid-column:1/-1;justify-self:start;display:inline-block}.enquiry-sub{margin:0;font-size:20px;line-height:1.5}.enquiry-next{margin:12px 0 0;line-height:1.65}.enquiry-email{color:var(--text-2);margin:24px 0 0;font-size:14px}.enquiry-fields{grid-template-columns:1fr 1fr;gap:24px;display:grid}.field-wide{grid-column:1/-1}.enquiry-form label,.enquiry-form legend{margin-bottom:10px;font-size:15px;display:block}.enquiry-form label span,.enquiry-form legend span,.field-hint,.form-privacy{color:var(--text-2)}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;font:inherit;border-radius:6px;padding:12px 14px}.enquiry-form textarea{resize:vertical;min-height:120px}.enquiry-interests{border:0;margin:32px 0;padding:0}.enquiry-interests legend{margin-bottom:16px}.enquiry-interests label{cursor:pointer;align-items:start;gap:12px;margin:0;padding:7px 0;line-height:1.5;display:flex}.enquiry-interests input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.field-hint,.form-privacy{margin:10px 0 24px;font-size:14px;line-height:1.5}.enquiry-submit{justify-content:center;width:100%}.enquiry-error{margin-top:20px;line-height:1.6}.enquiry-done h2{margin:0 0 16px;font-size:32px}.enquiry-done p{margin-bottom:28px;font-size:18px;line-height:1.6}@media (width<=760px){.enquiry-layout{grid-template-columns:1fr}.enquiry-email{margin-top:24px}}@media (width<=420px){.enquiry-fields{grid-template-columns:1fr;gap:20px}}.enquiry-form[hidden],.enquiry-done[hidden]{display:none}.enquiry-form .hp{width:1px;height:1px;position:absolute;inset-inline-start:-9999px;overflow:hidden}.enquiry-form input:focus-visible,.enquiry-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.enquiry-email a,.form-privacy a,.back-link{text-underline-offset:3px;text-decoration:underline}.enquiry-form .product-updates{cursor:pointer;align-items:start;gap:12px;margin-top:28px;line-height:1.5;display:flex}.product-updates input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}
