@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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.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{--paper:#f5f6f3;--ink:#14171b;--muted:#565d66;--rule:#d5d8d2;--accent:#c43a0b;--accent-on-ink:#ff9367;--on-ink-muted:#b4bac2;--sans:"Schibsted Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--gutter:clamp(20px, 4vw, 48px);--wide:1200px;--columns-gap:clamp(32px, 6vw, 88px);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);margin:0}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[id]{scroll-margin-top:16px}h1,h2,h3,p,ol,ul,dl,dd,figure,blockquote{margin:0;padding:0}ol,ul{list-style:none}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;font-weight:600}.wrap{width:min(100%, var(--wide));padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--mono);color:var(--muted);font-size:.8125rem;line-height:1.5}.accent{color:var(--accent)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:2;background:var(--ink);color:var(--paper);padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{color:var(--paper);left:8px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--paper);border-left:1px solid var(--rule)}::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:var(--ink) var(--paper)}}.site-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;padding-block:16px;display:flex}.site-head a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-head .brand{font-weight:600}.site-head ul{gap:20px;display:flex}.hero{padding-block:clamp(24px,4vw,48px) clamp(32px,3vw,40px)}.hero h1{font-family:var(--mono);letter-spacing:0;color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.5}.statement{letter-spacing:-.03em;text-wrap:balance;max-width:21em;margin-top:20px;font-size:clamp(2.125rem,4.9vw,3.75rem);font-weight:600;line-height:1.06}.intro{max-width:42em;margin-top:24px;font-size:1.1875rem;line-height:1.5}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{border:1px solid var(--ink);border-radius:2px;align-items:center;min-height:48px;padding:0 22px;font-weight:500;text-decoration:none;display:inline-flex}.btn.solid{background:var(--ink);color:var(--paper)}.btn.solid:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn:not(.solid):hover{border-color:var(--accent)}.mark{background:var(--ink);flex:none;width:11px;height:11px;display:inline-block}.mark.person{background:var(--accent);transform:rotate(45deg)}.flow-figure{border-top:1px solid var(--ink);padding-top:14px}.flow-head{flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-bottom:28px;display:flex}.legend{flex-wrap:wrap;gap:4px 18px;display:flex}.legend li{align-items:center;gap:8px;display:inline-flex}.flow{grid-template-columns:repeat(var(--steps), minmax(0, 1fr));display:grid}.flow>li{padding:30px 16px 0 0;position:relative}.flow>li:before{content:"";background:var(--ink);height:1px;position:absolute;top:5px;left:0;right:0}.flow>li:last-child:before{width:12px;right:auto}.flow>li>.mark{position:absolute;top:0;left:0}.flow>li>.mark.person{left:1px}.who{font-family:var(--mono);color:var(--muted);font-size:.75rem;line-height:1.4;display:block}.person .who{color:var(--accent)}.what{margin-top:4px;font-size:.9375rem;font-weight:500;line-height:1.35;display:block}.note{color:var(--muted);margin-top:6px;font-size:.875rem;line-height:1.4;display:block}.section{padding-block:clamp(48px,7vw,88px);position:relative}.section:before{content:"";top:0;left:var(--gutter);right:var(--gutter);background:var(--rule);height:1px;position:absolute}.section.first:before{display:none}.section-title{letter-spacing:-.02em;margin-bottom:clamp(24px,3vw,40px);font-size:clamp(1.625rem,3vw,2.25rem);line-height:1.15}.work-row{gap:16px var(--columns-gap);border-top:1px solid var(--ink);color:inherit;grid-template-columns:minmax(0,7fr) minmax(0,4fr);padding-block:clamp(24px,3vw,36px);text-decoration:none;display:grid}.work-list li:last-child .work-row{border-bottom:1px solid var(--ink)}.work-row:hover{color:inherit}.work-row:hover h3{color:var(--accent)}.work-row h3{letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15}.blurb{max-width:36em;margin-top:10px}.tools{margin-top:12px}.proof{letter-spacing:-.02em;font-size:clamp(1.625rem,2.8vw,2.25rem);font-weight:600;line-height:1.1}.proof-note{color:var(--muted);margin-top:6px;font-size:.9375rem;line-height:1.4}.pill+.proof-note{margin-top:10px}.strip{align-items:center;gap:9px;margin-top:16px;display:flex}.pill{border:1px solid var(--ink);font-family:var(--mono);letter-spacing:0;white-space:nowrap;border-radius:2px;padding:2px 8px;font-size:.75rem;font-weight:400;line-height:1.5;display:inline-block}.rows>div{gap:6px var(--columns-gap);border-top:1px solid var(--rule);grid-template-columns:minmax(0,4fr) minmax(0,8fr);padding-block:18px;display:grid}.rows dt{letter-spacing:-.005em;font-weight:600}.rows dd{max-width:40em}.rows .pill{vertical-align:1px;margin-left:6px}.principles{gap:clamp(28px, 4vw, 48px) var(--columns-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.principles h3{align-items:baseline;gap:12px;font-size:1.3125rem;line-height:1.2;display:flex}.principles h3 .mark{position:relative;top:-2px}.principles p{margin-top:8px}.quotes{gap:28px;max-width:46em;display:grid}.quotes blockquote{font-size:1.1875rem;line-height:1.5}.quotes figcaption{margin-top:8px}.code-lead{max-width:42em;margin-bottom:28px;font-size:1.1875rem;line-height:1.5}.split{gap:32px var(--columns-gap);grid-template-columns:minmax(0,7fr) minmax(0,4fr);display:grid}.split h3{font-size:1.3125rem;line-height:1.2}.split h3+p{max-width:40em;margin-top:8px}.table-box{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:1rem}th,td{text-align:left;vertical-align:top;border-top:1px solid var(--rule);padding:12px 24px 12px 0}thead th{font:400 .8125rem/1.5 var(--mono);color:var(--muted);border-top:0}tbody th{white-space:nowrap;font-weight:600}td:last-child{color:var(--muted);padding-right:0}.about-text{align-content:start;gap:16px;max-width:38em;display:grid}.facts{align-content:start;gap:22px;display:grid}.facts h3{font:400 .8125rem/1.5 var(--mono);letter-spacing:0;color:var(--muted)}.facts li{margin-top:4px;line-height:1.4}.facts li span{color:var(--muted);font-size:.9375rem;display:block}.contact{background:var(--ink);color:var(--paper);padding-block:clamp(56px,8vw,104px)}.contact h2{letter-spacing:-.03em;max-width:18em;font-size:clamp(1.875rem,4.4vw,3.5rem);line-height:1.08}.contact a:hover{color:var(--accent-on-ink)}.contact :focus-visible{outline-color:var(--accent-on-ink)}.contact-links{flex-wrap:wrap;align-items:center;gap:4px 28px;margin-top:28px;font-size:1.125rem;display:flex}.contact-links a{align-items:center;min-height:44px;display:inline-flex}.contact-links span{color:var(--on-ink-muted)}.back{min-height:44px;font-family:var(--mono);color:var(--muted);align-items:center;font-size:.8125rem;display:inline-flex}.case-head{padding-block:clamp(20px,4vw,48px) clamp(32px,4vw,48px)}.case-head h1{letter-spacing:-.03em;max-width:14em;font-size:clamp(2.25rem,5.4vw,4.25rem);line-height:1.04}.case-summary{max-width:34em;margin-top:24px;font-size:1.1875rem;line-height:1.5}.status{border-block:1px solid var(--ink);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px 16px;max-width:52em;margin-top:28px;padding-block:14px;display:grid}.status .pill{justify-self:start}.case-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px clamp(24px,4vw,48px);margin-top:28px;display:grid}.case-meta dt{font:400 .8125rem/1.5 var(--mono);color:var(--muted)}.case-flow{padding-block:8px clamp(40px,5vw,64px)}.case-section{gap:10px var(--columns-gap);border-top:1px solid var(--rule);grid-template-columns:minmax(0,4fr) minmax(0,8fr);padding-block:clamp(24px,3vw,36px);display:grid}.case-section h2{font-size:1.3125rem;line-height:1.25}.case-body{gap:14px;max-width:40em;display:grid}.case-body strong{font-weight:600}.case-body ul{gap:8px;display:grid}.case-body li{padding-left:22px;position:relative}.case-body li .mark{width:8px;height:8px;position:absolute;top:.55em;left:0}.case-next{border-top:1px solid var(--ink);padding-block:24px 48px}.case-next ul{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;display:flex}.case-next a{align-items:center;min-height:44px;font-weight:500;display:inline-flex}.not-found{padding-block:clamp(48px,10vw,120px)}.not-found h1{letter-spacing:-.03em;font-size:clamp(2.25rem,5.4vw,4.25rem);line-height:1.04}.not-found p{margin-top:16px}@media (width<=960px){.flow{grid-template-columns:minmax(0,1fr)}.flow>li{padding:0 0 20px 30px}.flow>li:before{width:1px;height:auto;inset:2px auto -2px 5px}.flow>li:last-child{padding-bottom:0}.flow>li:last-child:before{display:none}.flow>li>.mark{top:5px}.flow>li>.mark.person{left:0}.note{max-width:40em}}@media (width<=760px){.work-row,.rows>div,.principles,.split,.case-section,.case-meta,.status{grid-template-columns:minmax(0,1fr)}table,tbody,tr,th,td{display:block}thead{position:absolute;left:-9999px}tbody tr{border-top:1px solid var(--rule);padding-block:12px}tbody th,tbody td{white-space:normal;border:0;padding:0}tbody td:last-child{margin-top:2px;font-size:.9375rem}}
