.progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;z-index:200}.case-head{padding:calc(var(--nav-h) + 60px) 40px 60px;border-bottom:1px solid var(--line)}.crumbs{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:40px}.crumbs a{color:var(--muted);border-bottom:1px solid transparent;transition:border-color .2s}.crumbs a:hover{border-color:var(--muted)}.crumbs span{margin:0 10px}.case-head h1{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:clamp(56px,9vw,140px);letter-spacing:-.04em;line-height:.9;font-weight:500;max-width:14ch}.case-head h1 em{font-style:normal;color:var(--muted);font-weight:300}.case-head .meta-row{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:60px;padding-top:40px;border-top:1px solid var(--line)}.case-head .meta-row>div{display:flex;flex-direction:column;gap:6px}.case-head .meta-row .v{font-size:15px;font-weight:500}.cover{padding:40px}.cover-img{aspect-ratio:16/8;border-radius:20px;background:linear-gradient(135deg,#eef0ff,#f4f3ef);position:relative;overflow:hidden}.cover-img:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 16px,rgba(0,0,0,.035) 16px 17px)}.cover-img .lbl{position:absolute;bottom:24px;left:28px;font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.m-strip{padding:80px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.m-strip .mcell{padding:32px 0 0;display:flex;flex-direction:column;gap:8px}.m-strip .mcell .big{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:clamp(48px,6vw,88px);letter-spacing:-.035em;line-height:.95;font-weight:400}.m-strip .mcell .big .accent{color:var(--accent)}.m-strip .mcell .lbl{font-size:13px;color:var(--fg);line-height:1.45;max-width:28ch;padding-right:12px}.case-body{padding:120px 40px;display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start}.toc{position:sticky;top:100px;display:flex;flex-direction:column;gap:4px;padding-top:4px}.toc .toc-h{font-weight:700;font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.toc a{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding:8px 0 8px 14px;transition:color .2s,border-color .2s}.toc a:hover,.toc a.on{color:var(--fg);border-color:var(--accent)}.chapters{display:flex;flex-direction:column;gap:100px;max-width:68ch}.chapter h2{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:clamp(32px,4vw,56px);letter-spacing:-.03em;line-height:1;font-weight:500;margin-bottom:20px}.chapter .eyebrow{margin-bottom:8px}.chapter p{font-size:18px;line-height:1.6;margin-bottom:20px;color:var(--fg)}.chapter p.lede{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:24px;line-height:1.4;letter-spacing:-.015em;color:var(--muted);font-weight:400;margin-bottom:32px}.chapter .pull{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:28px;line-height:1.3;letter-spacing:-.02em;border-left:2px solid var(--accent);padding:8px 0 8px 24px;margin:32px 0;color:var(--fg)}.chapter ul{margin:20px 0;list-style:none}.chapter ul li{padding:12px 0;border-top:1px solid var(--line);font-size:16px;display:flex;gap:16px}.chapter ul li:last-child{border-bottom:1px solid var(--line)}.chapter ul li:before{content:"\2192";color:var(--accent);flex-shrink:0}.chapter .callout{background:var(--card);border-radius:14px;padding:28px 32px;margin:32px 0}.chapter .callout h5{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.chapter .callout p{font-size:16px;margin:0;line-height:1.55}.shot{margin:40px 0;border-radius:14px;overflow:hidden;background:var(--card);position:relative;aspect-ratio:3/2}.shot:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(0,0,0,.035) 14px 15px)}.shot .lbl{position:absolute;bottom:18px;left:22px;font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.shot-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:40px 0}.shot-grid .shot{margin:0;aspect-ratio:1}.shot.dark{background:#0f0f10}.shot.dark:before{background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.04) 14px 15px)}.shot.dark .lbl{color:#ffffff80}.cover-img picture,.shot picture{position:absolute;inset:0;z-index:1}.cover-img img,.shot img{width:100%;height:100%;object-fit:cover}.next{padding:80px 40px 40px;border-top:1px solid var(--line);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:40px}.next a{display:flex;flex-direction:column;gap:8px;padding:40px;border:1px solid var(--line);border-radius:16px;transition:background .3s,transform .4s var(--ease)}.next a:hover{background:var(--card);transform:translateY(-4px)}.next a .d{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.next a .nx-t{display:block;font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:32px;letter-spacing:-.02em;font-weight:500}.next a.prev{text-align:left}.next a.nxt{text-align:right;align-items:flex-end}@media(min-width:1280px){.case-body{grid-template-columns:240px minmax(0,1fr) 240px}.chapters{justify-self:center;width:100%}}@media(max-width:900px){.case-head{padding:calc(var(--nav-h) + 30px) 20px 40px}.case-head .meta-row{grid-template-columns:1fr 1fr;gap:16px;margin-top:30px;padding-top:24px}.cover{padding:20px}.cover-img{aspect-ratio:3/2}.m-strip{grid-template-columns:1fr 1fr;padding:40px 20px}.case-body{padding:60px 20px;grid-template-columns:1fr;gap:40px}@media(max-width:380px){.m-strip .mcell .big{font-size:max(38px,12.2vw)}}.toc{position:static;flex-direction:row;overflow-x:auto;padding:0 0 16px}.toc .toc-h{display:none}.toc a{border-left:none;border-bottom:1px solid var(--line);padding:6px 14px;white-space:nowrap}.chapters{gap:60px}.shot-grid{grid-template-columns:1fr}.next{grid-auto-flow:row;grid-template-columns:1fr;padding:40px 20px}}.case-type{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-wash);padding:6px 12px;border-radius:999px;margin-bottom:28px}.case-type:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.chapter .decision{border-top:1px solid var(--line);padding:28px 0}.chapter .decision:last-of-type{border-bottom:1px solid var(--line);margin-bottom:20px}.chapter .decision h3{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:24px;letter-spacing:-.015em;line-height:1.2;font-weight:500;margin-bottom:16px}.chapter .decision dl{display:grid;grid-template-columns:110px 1fr;gap:12px 20px}.chapter .decision dt{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:4px}.chapter .decision dd{font-size:16px;line-height:1.55}.chapter .todo{border:1.5px dashed var(--accent);border-radius:14px;padding:20px 24px;margin:24px 0;background:var(--accent-wash);color:var(--accent-ink);font-size:15px;line-height:1.5}.chapter .todo b{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:6px}.todo-inline{display:inline-block;font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-wash);border:1px dashed var(--accent);border-radius:6px;padding:2px 8px}@media(max-width:900px){.chapter .decision dl{grid-template-columns:1fr;gap:4px}.chapter .decision dd{margin-bottom:10px}}.case-head h1.outcome{font-size:clamp(44px,6.2vw,100px);line-height:.95;max-width:12.08em}.case-head .summary{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:clamp(20px,1.8vw,26px);line-height:1.35;letter-spacing:-.01em;color:var(--muted);max-width:32.375em;margin-top:28px}.case-head .meta-row .v a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.case-head.opening{padding:calc(var(--nav-h) + 72px) 40px 48px;border-bottom:0}.case-head .case-label{margin-bottom:24px}.cover.opening{padding:0 40px}.cover.opening .cover-img{aspect-ratio:16/9}.tldr{padding:56px 40px}.tldr>.eyebrow{margin-bottom:16px}.tldr dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--fg)}.tldr dl>div{display:flex;flex-direction:column;gap:12px;padding:24px 32px 0 0}.tldr dl>div+div{padding-left:32px;border-left:1px solid var(--line)}.tldr dt{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tldr dd{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:clamp(18px,1.5vw,21px);line-height:1.4;letter-spacing:-.01em}.m-strip .mcell .big.word{font-size:clamp(40px,4.6vw,72px)}.chapter h3.sub{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:22px;letter-spacing:-.015em;line-height:1.2;font-weight:500;margin:40px 0 4px}.chapter dl.rows{margin:12px 0 8px;border-bottom:1px dashed var(--line)}.chapter dl.rows>div{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:baseline;padding:14px 0;border-top:1px dashed var(--line)}.chapter dl.rows dt{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chapter dl.rows dd{font-size:16px;line-height:1.55}.shot.wide{aspect-ratio:16/7}.chapter p.note{font-size:14px;line-height:1.55;color:var(--muted);border-left:2px solid var(--line);padding-left:16px;margin-top:28px}.quote{margin:0;padding-top:24px;border-top:1px solid var(--line);max-width:60ch}.quote .mono{display:block;margin-bottom:12px}.quote blockquote{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:19px;line-height:1.45;letter-spacing:-.01em}.quote figcaption{margin-top:12px;font-size:14px;color:var(--muted)}@media(max-width:900px){.case-head.opening{padding:calc(var(--nav-h) + 40px) 20px 32px}.cover.opening{padding:0 20px}.tldr{padding:40px 20px}.tldr dl{grid-template-columns:1fr}.tldr dl>div,.tldr dl>div+div{gap:8px;padding:18px 0;border-left:0}.tldr dl>div+div{border-top:1px solid var(--line)}.chapter dl.rows>div{grid-template-columns:1fr;gap:4px}.shot.wide{aspect-ratio:3/2}}.pmap{margin:48px 0;padding-top:28px;border-top:1px solid var(--fg)}.pmap-core{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding-bottom:32px;text-align:center}.pmap-core b{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:28px;line-height:1.1;letter-spacing:-.02em;font-weight:500}.pmap-sub{font-size:14px;color:var(--muted)}.pmap-core:after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:20px;background:var(--fg)}.pmap-surfaces{list-style:none;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 12px;padding-top:24px}.pmap-surfaces:before{content:"";position:absolute;top:0;left:calc((100% - 48px)*.1);right:calc((100% - 48px)*.1);height:1px;background:var(--fg)}.pmap-surfaces li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pmap-surfaces li:before{content:"";position:absolute;top:-24px;left:50%;height:24px;border-left:1px solid var(--fg)}.pmap-surfaces .name{font-size:14px;line-height:1.35}.pmap-surfaces li.future:before{border-left-style:dotted;border-color:var(--muted)}.pmap-surfaces li.future .name{color:var(--muted)}.pmap-instance{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:22px;padding-top:22px}.pmap-instance:before{content:"";position:absolute;top:0;left:50%;height:22px;border-left:1px dashed var(--accent)}.pmap-instance .mono{color:var(--accent)}.pmap-instance .name{color:var(--accent-ink);font-weight:500}.pmap figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:36px;padding-top:16px;border-top:1px solid var(--line);font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pmap figcaption span{display:inline-flex;align-items:center;gap:10px}.pmap figcaption i{display:inline-block;width:24px;border-top:1px solid var(--fg)}.pmap figcaption i.dashed{border-top-style:dashed;border-color:var(--accent)}@media(max-width:600px){.pmap-core{align-items:flex-start;text-align:left}.pmap-core:after{left:8px}.pmap-surfaces{grid-template-columns:1fr;gap:20px;padding:20px 0 0 32px}.pmap-surfaces li{align-items:flex-start;text-align:left}.pmap-surfaces:before{top:0;left:8px;right:auto;width:0;height:30px;background:none;border-left:1px solid var(--fg)}.pmap-surfaces li:after{content:"";position:absolute;left:-24px;top:10px;bottom:-30px;border-left:1px solid var(--fg)}.pmap-surfaces li:last-child:after{display:none}.pmap-surfaces li:before{top:10px;left:-24px;width:16px;height:0;border-left:0;border-top:1px solid var(--fg)}.pmap-surfaces li:nth-last-child(2):after{border-left-style:dotted;border-color:var(--muted)}.pmap-surfaces li.future:before{border-top-style:dotted;border-color:var(--muted)}.pmap-instance{align-items:flex-start;margin-top:12px;padding:0 0 0 18px}.pmap-instance:before{top:0;left:0;height:100%}.pmap figcaption{justify-content:flex-start}}.shot.img{aspect-ratio:auto;background:none;overflow:visible;border-radius:0}.shot.img:before{content:none}.shot.img picture{position:static;display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}.shot.img img{width:100%;height:auto;object-fit:fill}.shot.img .lbl{position:static;display:block;margin-top:12px;line-height:1.5}.shot-grid .shot.img{aspect-ratio:auto;align-self:start}.shot.img.phone{max-width:360px;margin-left:auto;margin-right:auto}.shot.img.phone picture{border-radius:28px}.shot.img.phone .lbl{text-align:center}.cover-img.modmap{margin:0;container-type:inline-size;background:var(--card)}.cover-img.modmap:before{content:none}.modmap-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 5.5cqw}.modmap-core{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.1cqw;padding-bottom:3.4cqw;text-align:center}.modmap-core .mono{color:var(--muted)}.modmap-core b{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:6.4cqw;line-height:1;letter-spacing:-.035em;font-weight:500}.modmap-core:after{content:"";position:absolute;left:50%;bottom:0;height:2.2cqw;border-left:1px solid var(--fg)}.modmap-mods{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top-color:var(--fg)}.modmap-mods li{display:flex;flex-direction:column;justify-content:space-between;gap:2.2cqw;min-height:9.4cqw;padding:1.5cqw 1.6cqw;background:var(--bg)}.modmap-mods .mono{color:var(--accent)}.modmap-mods .name{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:max(13px,1.75cqw);line-height:1.15;letter-spacing:-.01em;font-weight:500}.cover-img.modmap figcaption{position:absolute;left:2.1cqw;bottom:1.8cqw;font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media(max-width:767px){.cover.opening .cover-img.modmap{aspect-ratio:auto}.modmap-in{position:static;padding:32px 16px 56px}.modmap-core{gap:8px;padding-bottom:28px}.modmap-core b{font-size:40px}.modmap-core:after{height:18px}.modmap-mods{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.modmap-mods li{min-height:0;gap:14px;padding:12px}.modmap-mods .name{font-size:15px}.cover-img.modmap figcaption{left:16px;bottom:20px}}.case-body{container-type:inline-size}.bleed{position:relative;z-index:1;width:100cqw;margin-left:-320px}.toc{transition:opacity .25s,visibility 0s}.toc.behind{opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}.shot-grid.pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.shot-grid.pair .shot.img picture{aspect-ratio:3/2}.shot-grid.pair .shot.img img{height:100%;object-fit:cover}.shot-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,280px);gap:40px;align-items:center;margin:40px 0}.shot-row>p{margin-bottom:0}.shot.img.device{margin:0;width:100%;max-width:280px}.shot.img.device picture{border-radius:32px;padding:8px;background:var(--card)}.shot.img.device img{border-radius:24px}.shot.img.device .lbl{text-align:center}@media(min-width:1280px){.bleed{margin-left:calc((100% - 100cqw)/2)}}@media(max-width:900px){.bleed{margin-left:0}}@media(max-width:767px){.shot-grid.pair,.shot-row{grid-template-columns:1fr;gap:32px}.shot.img.device{max-width:260px;margin:0 auto}}@media(prefers-reduced-motion:reduce){.toc,.toc.behind{transition:none}}.dgm{margin:48px 0;padding-top:24px;border-top:1px solid var(--fg)}.dgm figcaption{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.5}.dgm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px}.dgm-col{display:flex;flex-direction:column;gap:8px;padding-left:18px;border-left:1px solid var(--fg)}.dgm-col>.mono{color:var(--accent)}.dgm-col b{font-family:Inter Tight,Inter Tight Fallback,sans-serif;font-size:21px;line-height:1.2;letter-spacing:-.015em;font-weight:500}.chapter .dgm-col p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.chapter .dgm-col ul{margin:6px 0 0}.chapter .dgm-col ul li{padding:7px 0;font-size:14px;line-height:1.45;gap:10px;border-top:1px dashed var(--line)}.chapter .dgm-col ul li:last-child{border-bottom:1px dashed var(--line)}.dgm-col.later{border-left-style:dashed;border-color:var(--muted)}.dgm-col.later>.mono{color:var(--muted)}.dgm-col.later b{color:var(--muted)}.chapter .dgm-col.later ul li:before{color:var(--muted)}.dgm-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0}.dgm-row+.dgm-row{border-top:1px dashed var(--line)}.dgm-row.after>.mono{color:var(--accent)}.steps{list-style:none;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));align-items:center}.steps li{position:relative;display:flex;justify-content:center}.steps li:not(:last-child):after{content:"";position:absolute;top:50%;left:50%;width:100%;height:1px;background:var(--fg)}.steps .n{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--fg);background:var(--bg);font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-size:11px}.dgm-row.after .steps .n{background:var(--accent);border-color:var(--accent);color:#fff}.dgm-row.after .steps li:after{background:var(--accent)}.steps.labeled{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:0 12px}.steps.labeled li{flex-direction:column;align-items:center;gap:12px;text-align:center}.steps.labeled li:not(:last-child):after{top:14px;left:calc(50% + 14px);width:calc(100% - 16px)}.steps.labeled .name{font-size:14px;line-height:1.35}.steps.labeled.s3{grid-template-columns:repeat(3,minmax(0,1fr))}.steps.labeled .name .mono{display:block;margin-bottom:4px;color:var(--accent)}.dgm-cols.scope{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}.dgm-col .bar{display:block;height:10px;margin-bottom:10px;background:var(--fg)}.dgm-col.later .bar{background:none;border:1px dashed var(--muted)}.meter{display:flex;align-items:center;gap:14px}.meter i{display:block;width:var(--w);height:10px;background:var(--muted)}.dgm-row.after .meter i{background:var(--accent)}@media(max-width:600px){.dgm-cols.scope{grid-template-columns:1fr}.dgm-cols.scope .bar{width:var(--w)}.steps.labeled.s3{grid-template-columns:1fr}.dgm-row{grid-template-columns:1fr;gap:12px}.steps .n{width:24px;height:24px;font-size:10px}.steps.labeled{grid-template-columns:1fr;gap:18px}.steps.labeled li{flex-direction:row;justify-content:flex-start;text-align:left;gap:14px}.steps.labeled .n{width:28px;height:28px;font-size:11px;flex-shrink:0}.steps.labeled li:not(:last-child):after{top:28px;left:14px;width:1px;height:calc(100% - 10px)}}
