@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-ext-wght-normal.hsMS0n0O.woff2)format("woff2-variations");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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-wght-normal.Bb8VGrTG.woff2)format("woff2-variations");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:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/kalam-devanagari-400-normal.Dy6c0U2e.woff2)format("woff2"),url(/_astro/kalam-devanagari-400-normal.Dyzod-UE.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/kalam-latin-ext-400-normal.DtcdGa4L.woff2)format("woff2"),url(/_astro/kalam-latin-ext-400-normal.AcQmRO9z.woff)format("woff");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:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/kalam-latin-400-normal.BthBl_aR.woff2)format("woff2"),url(/_astro/kalam-latin-400-normal.Bl-H2BUA.woff)format("woff");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:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/kalam-devanagari-700-normal.BeU_-hjz.woff2)format("woff2"),url(/_astro/kalam-devanagari-700-normal.B52CSkpd.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/kalam-latin-ext-700-normal.CwgfRD_T.woff2)format("woff2"),url(/_astro/kalam-latin-ext-700-normal.BA-KJHgr.woff)format("woff");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:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/kalam-latin-700-normal.D2H-9ISU.woff2)format("woff2"),url(/_astro/kalam-latin-700-normal.7TSuSrjP.woff)format("woff");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}:root{color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f5f6f8;--ink:#101318;--ink-2:#4a515c;--ink-3:#5f6773;--line:#e3e6eb;--line-2:#cdd2da;--dot:#dde1e7;--blue:#2563eb;--green:#13793a;--orange:#c2410c;--violet:#7c3aed;--on-accent:#fff;--shadow-sm:0 1px 2px #1013180d;--shadow:0 1px 2px #1013180a, 0 12px 32px -16px #10131838;--header-bg:#ffffffdb;--font-text:"Schibsted Grotesk Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-hand:"Kalam", "Segoe Print", "Bradley Hand", cursive;--font-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-xs:.8125rem;--fs-small:.9375rem;--fs-body:1.0625rem;--fs-lead:clamp(1.1875rem, 1.1rem + .35vw, 1.3125rem);--fs-h3:1.375rem;--fs-h2:clamp(1.875rem, 1.45rem + 1.5vw, 2.5rem);--fs-h1:clamp(2.75rem, 1.9rem + 3.6vw, 4.5rem);--page:1180px;--gutter:clamp(16px, 4vw, 40px);--header-h:68px;--radius:18px;--ease:cubic-bezier(.5, 0, .3, 1);--ease-out:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1114;--surface:#14171b;--surface-2:#1b1f24;--ink:#eceef1;--ink-2:#b2b8c1;--ink-3:#959ca7;--line:#262b32;--line-2:#363c45;--dot:#252a31;--blue:#7ea6ff;--green:#4ade80;--orange:#fb8c4c;--violet:#b69cff;--on-accent:#0b0d10;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 16px 36px -18px #000c;--header-bg:#0f1114d6}}:root[data-theme=dark]{color-scheme:dark;--bg:#0f1114;--surface:#14171b;--surface-2:#1b1f24;--ink:#eceef1;--ink-2:#b2b8c1;--ink-3:#959ca7;--line:#262b32;--line-2:#363c45;--dot:#252a31;--blue:#7ea6ff;--green:#4ade80;--orange:#fb8c4c;--violet:#b69cff;--on-accent:#0b0d10;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 16px 36px -18px #000c;--header-bg:#0f1114d6}.tone-blue{--tone:var(--blue)}.tone-green{--tone:var(--green)}.tone-orange{--tone:var(--orange)}.tone-violet{--tone:var(--violet)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6;overflow-x:clip}h1,h2,h3,h4{text-wrap:balance;margin:0}h1{font-size:var(--fs-h1);letter-spacing:-.035em;font-weight:800;line-height:1}h2{font-size:var(--fs-h2);letter-spacing:-.028em;font-weight:760;line-height:1.12}h3{font-size:var(--fs-h3);letter-spacing:-.018em;font-weight:720;line-height:1.25}p,ul,ol,dl,dd,figure{margin:0}p{text-wrap:pretty}ul,ol{padding:0}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--blue);color:var(--on-accent)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}@view-transition{navigation:auto}.page{width:100%;max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(4.5rem,3.4rem + 4.5vw,7.5rem)}.section+.section{border-top:1px solid var(--line)}.section-head{gap:14px;max-width:44rem;margin-bottom:clamp(2.25rem,1.8rem + 1.8vw,3.25rem);display:grid}.section-intro{color:var(--ink-2);font-size:var(--fs-lead);line-height:1.55}.eyebrow{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--tone,var(--blue));border-radius:3px;width:22px;height:3px}.lead{font-size:var(--fs-lead);line-height:1.55}.muted{color:var(--ink-2)}.mono{font-family:var(--font-mono);font-size:.92em}.hand{font-family:var(--font-hand)}.annot{color:var(--tone,var(--blue));font-family:var(--font-hand);align-items:flex-start;gap:4px;font-size:1.1875rem;font-weight:700;line-height:1.25;display:inline-flex;transform:rotate(-2deg)}.annot svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:34px;height:26px;margin-top:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:100;background:var(--ink);color:var(--bg);border-radius:10px;padding:10px 16px;font-weight:650;position:absolute;top:-100px}.skip-link:focus{top:12px}.link{color:var(--tone,var(--blue));text-underline-offset:4px;text-decoration:underline 1.5px;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);font-weight:620;transition:text-decoration-color .15s}.link:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}.go{color:var(--tone,var(--blue));align-items:center;gap:6px;font-weight:650;text-decoration:none;display:inline-flex}.go svg{width:16px;height:16px;transition:transform .2s var(--ease-out)}.go:hover{text-underline-offset:4px;text-decoration:underline 1.5px}.go:hover svg,.card:hover .go svg{transform:translate(3px)}.btn{min-height:46px;font-size:var(--fs-small);white-space:nowrap;cursor:pointer;transition:background-color .15s, border-color .15s, color .15s, transform .15s var(--ease-out), box-shadow .15s;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue);color:var(--on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:color-mix(in srgb, var(--blue) 86%, var(--ink))}.btn-secondary{border-color:var(--line-2);background:var(--surface);color:var(--ink)}.btn-secondary:hover{border-color:var(--ink)}.btn-sm{border-radius:10px;min-height:38px;padding:0 14px}@media (width<=420px){.btn{white-space:normal;text-align:center}}.icon-btn{border:1px solid var(--line-2);background:var(--surface);width:44px;height:44px;color:var(--ink-2);border-radius:12px;place-items:center;transition:color .15s,border-color .15s;display:inline-grid}.icon-btn:hover{border-color:var(--ink);color:var(--ink)}.icon-btn svg{width:20px;height:20px}.chips{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.chip{border:1px solid var(--line);background:var(--surface-2);min-height:28px;color:var(--ink-2);font-size:var(--fs-xs);border-radius:8px;align-items:center;padding:2px 10px;font-weight:560;line-height:1.3;display:inline-flex}.badge{border:1px solid color-mix(in srgb, var(--tone,var(--ink-3)) 35%, transparent);background:color-mix(in srgb, var(--tone,var(--ink-3)) 7%, var(--bg));min-height:26px;color:var(--tone,var(--ink-2));font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:2px 10px;font-weight:650;line-height:1.3;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge.plain:before{display:none}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .2s, box-shadow .2s, transform .2s var(--ease-out);align-content:start;gap:14px;padding:clamp(20px,1rem + 1vw,28px);display:grid;position:relative}.card.is-link:hover{border-color:color-mix(in srgb, var(--tone,var(--ink)) 55%, var(--line));box-shadow:var(--shadow);transform:translateY(-3px)}.card .stretched:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.card .stretched:focus-visible{outline:none}.card:has(.stretched:focus-visible){outline:2px solid var(--tone,var(--blue));outline-offset:3px}.card .above{z-index:2;position:relative}.board{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background-color:var(--surface);background-image:radial-gradient(circle at 1px 1px, var(--dot) 1.1px, transparent 1.3px);background-size:22px 22px;position:relative}.stat{gap:2px;display:grid}.stat-value{color:var(--tone,var(--ink));letter-spacing:-.03em;font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);font-weight:780;line-height:1.1}.stat-label{color:var(--ink-2);font-size:var(--fs-small);line-height:1.4}.flow{flex-wrap:wrap;align-items:center;gap:6px 4px;list-style:none;display:flex}.flow li{align-items:center;gap:4px;display:inline-flex}.flow li+li:before{content:"";background:color-mix(in srgb, var(--tone,var(--ink)) 55%, transparent);border-radius:2px;width:14px;height:2px;margin-right:2px}.flow span{border:1.5px solid color-mix(in srgb, var(--tone,var(--ink)) 45%, transparent);background:color-mix(in srgb, var(--tone,var(--ink)) 6%, var(--surface));color:var(--ink);font-size:var(--fs-xs);border-radius:7px;padding:2px 9px;font-weight:620;line-height:1.5}.sketch svg{width:100%;height:auto;overflow:visible}.sketch-auto .sk-v{display:none}@media (width<=720px){.sketch-auto .sk-h{display:none}.sketch-auto .sk-v{display:block}}.sketch .k,.sketch .m{fill:none;stroke-linecap:round;stroke-linejoin:round}.sketch .k{stroke:var(--ink)}.sketch .m{stroke:var(--tone,var(--blue))}.sketch .t-title{font:700 19px var(--font-text);fill:var(--ink)}.sketch .t-sub,.sketch .t-edge,.sketch .t-start{font-family:var(--font-hand);fill:var(--ink-2)}.sketch .t-sub{font-size:16px}.sketch .t-edge{font-size:14px}.sketch .t-start{fill:var(--ink);font-size:18px}.sketch .t-note{font:700 18px var(--font-hand);fill:var(--tone,var(--blue))}.sketch .sk-v .t-note{font-size:16px}.sketch .hit{fill:#0000;stroke:none;transition:fill .2s}.sketch .node-link{cursor:pointer}.sketch .node-link:hover .hit{fill:color-mix(in srgb, var(--tone,var(--blue)) 10%, transparent)}.sketch .node-link:hover .t-title{fill:var(--tone,var(--blue))}.sketch .node-link:focus-visible{outline:none}.sketch .node-link:focus-visible .hit{fill:color-mix(in srgb, var(--tone,var(--blue)) 10%, transparent);stroke:var(--tone,var(--blue));stroke-width:2.5px;stroke-dasharray:6 5}.sketch figcaption{max-width:42rem;color:var(--ink-2);font-size:var(--fs-small);margin-top:16px}.sketch[data-animate] .draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:sketch-draw var(--t,.5s) var(--ease) var(--d,0s) forwards}.sketch[data-animate] .reveal{opacity:0;animation:sketch-fade .35s ease-out var(--d,0s) forwards}.sketch[data-animate] .write{clip-path:inset(-20% 100% -20% 0) fill-box;animation:sketch-write var(--t,.6s) linear var(--d,0s) forwards}@keyframes sketch-draw{to{stroke-dashoffset:0}}@keyframes sketch-fade{to{opacity:1}}@keyframes sketch-write{to{clip-path:inset(-20% -2% -20% 0) fill-box}}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .6s var(--ease-out) var(--stagger,0s), translate .6s var(--ease-out) var(--stagger,0s), border-color .2s, box-shadow .2s, transform .2s var(--ease-out);translate:0 16px}.js [data-reveal].is-in{opacity:1;translate:none}}.case-layout{grid-template-columns:minmax(0,13rem) minmax(0,1fr);align-items:start;gap:clamp(2rem,1rem + 4vw,5rem);display:grid}.case-body{grid-template-columns:minmax(0,1fr);gap:clamp(3rem,2.5rem + 2vw,4.5rem);min-width:0;display:grid}.case-body>section{scroll-margin-top:calc(var(--header-h) + 24px);grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.case-body>section>:is(p,ul,ol,dl,h2){max-width:46rem}.case-body h2{font-size:clamp(1.5rem,1.3rem + .8vw,1.875rem)}.case-body h3{font-size:1.125rem}.case-body section>p{color:var(--ink-2)}.case-body .sketch{margin-block:8px 4px}.bullets{color:var(--ink-2);gap:12px;list-style:none;display:grid}.bullets li{padding-left:22px;position:relative}.bullets li:before{content:"";border:2px solid var(--tone,var(--blue));border-radius:3px;width:9px;height:9px;position:absolute;top:.62em;left:2px;transform:rotate(45deg)scale(.85)}.bullets strong{color:var(--ink);font-weight:720}.steps{counter-reset:step;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:14px;list-style:none;display:grid}.steps li{border:1px solid var(--line);background:var(--surface);counter-increment:step;border-radius:14px;align-content:start;gap:6px;padding:18px 20px 20px;display:grid}.steps li:before{content:counter(step, decimal-leading-zero);color:var(--tone,var(--blue));font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;font-weight:700}.steps p{color:var(--ink-2);font-size:var(--fs-small);line-height:1.55}.groups{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:16px;display:grid}.groups>div{border:1px solid var(--line);border-radius:14px;align-content:start;gap:12px;padding:20px 22px 22px;display:grid}.groups h3{font-size:1.125rem}.groups .bullets{font-size:var(--fs-small)}.stack-list{border:1px solid var(--line);border-radius:14px;display:grid;overflow:hidden}.stack-list div{grid-template-columns:11rem minmax(0,1fr);gap:4px 20px;padding:14px 20px;display:grid}.stack-list div+div{border-top:1px solid var(--line)}.stack-list dt{font-weight:680}.stack-list dd{color:var(--ink-2)}@media (width<=560px){.stack-list div{grid-template-columns:minmax(0,1fr)}}@media (width<=960px){.case-layout{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}@view-transition{navigation:none}}.logo[data-astro-cid-f7espo7c]{fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.logo-board[data-astro-cid-f7espo7c]{fill:var(--surface);stroke:var(--ink);stroke-width:4px}.logo-n[data-astro-cid-f7espo7c],.logo-s[data-astro-cid-f7espo7c]{stroke-width:5.6px}.logo-n[data-astro-cid-f7espo7c]{stroke:var(--ink)}.logo-s[data-astro-cid-f7espo7c]{stroke:var(--blue)}.logo-u[data-astro-cid-f7espo7c]{stroke:var(--orange);stroke-width:3.4px}
