:root{--bg:#faf9f7;--ink:#15181c;--meta:#3f4650;--muted:#5d646d;--rule:#dcd9d4;--accent:#2f4a6d;--chip:#e7e3dc;--panel:#f1efeb;--accent-soft:#e1e8f1;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14161a;--ink:#eceae6;--meta:#c3c8cf;--muted:#9aa1aa;--rule:#2d3239;--accent:#9db8dc;--chip:#2a2e35;--panel:#1b1e23;--accent-soft:#223043}}:root[data-theme=dark]{--bg:#14161a;--ink:#eceae6;--meta:#c3c8cf;--muted:#9aa1aa;--rule:#2d3239;--accent:#9db8dc;--chip:#2a2e35;--panel:#1b1e23;--accent-soft:#223043}*,:before,:after{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6}.wrap{max-width:660px;margin:0 auto;padding:0 22px}.site-header{justify-content:space-between;align-items:baseline;gap:16px;padding:26px 0 0;display:flex}.name{letter-spacing:-.01em;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}.site-nav a{color:var(--muted);margin-left:18px;font-size:14px;text-decoration:none}.site-nav a:hover{color:var(--ink)}.site-nav a[aria-current=page]{color:var(--ink);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.mono{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.site-footer{border-top:1px solid var(--rule);flex-wrap:wrap;gap:14px 22px;margin-top:34px;padding:24px 0 40px;display:flex}.site-footer a{color:var(--muted);font-size:14.5px;text-decoration:none}.site-footer a:hover{color:var(--ink)}@media (width>=760px){body{font-size:18px}.wrap{padding:0 32px}}.status{padding:54px 0 40px}.status h1{letter-spacing:-.015em;margin:0 0 14px;font-size:25px;font-weight:500;line-height:1.34}.status p{color:var(--muted);margin:0;font-size:16.5px}.status a{color:var(--accent);font-weight:500;text-decoration:none}@media (width>=760px){.status{padding:76px 0 52px}.status h1{font-size:31px}}.intro{padding:54px 0 40px}.intro h1{letter-spacing:-.015em;margin:0 0 14px;font-size:25px;font-weight:500;line-height:1.34}.intro p{color:var(--muted);max-width:52ch;margin:0;font-size:16.5px}.work{border-top:1px solid var(--rule);padding-top:26px}.case{border-bottom:1px solid var(--rule);padding:26px 0 30px}.case:first-of-type{padding-top:18px}.tags{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.tag{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--chip);border-radius:3px;padding:5px 8px 4px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.3}.case h2{letter-spacing:-.012em;margin:0 0 10px;font-size:19.5px;font-weight:600;line-height:1.38}.case h2 a{color:var(--ink);text-decoration:none}.case h2 a:hover{color:var(--accent)}.case p{margin:0 0 16px;font-size:16.5px}.more{color:var(--accent);font-size:14.5px;font-weight:500;text-decoration:none}.more:hover{text-decoration:underline}.strip{background:var(--panel);border-radius:2px;margin:0 0 18px;padding:14px 14px 12px}.strip .mono{letter-spacing:.13em;font-size:9.5px;display:block}.bp .cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0;display:grid;position:relative}.bp .cols:after{content:"";border-top:1px dashed var(--ink);opacity:.45;position:absolute;top:44px;left:0;right:0}.bp .col{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.bp .fr{align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1.3;display:flex}.bp .fr:before{content:"";border:1.5px solid var(--accent);background:var(--accent-soft);border-radius:50%;flex:none;width:9px;height:9px}.bp .conn{background:var(--accent);z-index:1;width:1.5px;height:38px;margin:5px 0 6px 4px;position:relative}.bp .conn:before{content:"";border:4px solid #0000;border-bottom:5px solid var(--accent);border-top:0;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.bp .bd{color:var(--meta);font-size:12px;line-height:1.35}.jr .curve{height:64px;color:var(--ink);margin:10px 0 6px;position:relative}.jr svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.jr path{opacity:.55}.jr .pt{background:var(--panel);border:1.5px solid var(--ink);border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}.jr .pt.gap{background:var(--accent);border-color:var(--accent);width:12px;height:12px}.jr .cols3{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.jr .sn{font-size:13px;font-weight:600;line-height:1.3;display:block}.jr .sd{color:var(--meta);margin-top:2px;font-size:12px;line-height:1.35;display:block}.jr .flag{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);margin-top:7px;padding:3px 5px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:9px;line-height:1.3;display:inline-block}.lv .g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lv .box{border:1px solid var(--rule);background:var(--bg);padding:8px 10px;font-size:13px;line-height:1.35}.lv .box small{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:9px;display:block}.lv .box.req{color:var(--muted);border-style:dashed}.lv .box.built{border:1.5px solid var(--accent)}.lv .top{margin:8px 0 0}.lv .line{height:30px;position:relative}.lv .line:before{content:"";border-top:1px dashed var(--ink);opacity:.45;position:absolute;top:50%;left:0;right:0}.lv .line .arrow{background:var(--accent);width:1.5px;position:absolute;top:0;bottom:0;left:75%;transform:translate(-50%)}.lv .line .arrow:before{content:"";border:4px solid #0000;border-bottom:5px solid var(--accent);border-top:0;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.lv .bottom{margin:0 0 8px}.how{padding:38px 0 8px}.how h3{margin:0 0 18px;font-size:12px}.how p{max-width:58ch;margin:0 0 16px;font-size:16.5px}@media (width>=760px){.intro{padding:76px 0 52px}.intro h1{font-size:31px}.strip{padding:16px 18px 14px}.bp .fr,.jr .sn{font-size:14px}.bp .bd,.jr .sd{font-size:13px}.lv .box{font-size:14px}}.jr .curve{height:32px;margin:6px 0 4px}.jr .sd{font-size:12px}.jr .flag{margin-top:5px}.strip.bp{padding:20px 20px 16px}.bp .conn{height:58px}.bp .cols:after{top:52px}.ch .chain{grid-template-columns:minmax(0,1fr) 14px minmax(0,1.25fr) 14px minmax(0,.8fr);align-items:stretch;gap:6px;margin-top:8px;display:grid}.ch .st{border:1px solid var(--rule);background:var(--bg);padding:7px 9px;font-size:14px;line-height:1.35}.ch .st small{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:9px;display:block}.ch .st.req{color:var(--muted);border-style:dashed}.ch .st.built{border:1.5px solid var(--accent)}.ch .to{color:var(--accent);place-self:center;font-size:14px;line-height:1}@media (width<=559px){.ch .chain{grid-template-columns:1fr;gap:0}.ch .st{border:0;border-left:1.5px solid var(--rule);background:0 0;grid-template-columns:76px 1fr;align-items:baseline;column-gap:8px;padding:4px 0 4px 10px;display:grid}.ch .st small{margin:0}.ch .st.req{border-left-style:dashed}.ch .st.built{border:0;border-left:1.5px solid var(--accent);font-weight:600}.ch .to{display:none}}.work .case:last-of-type{border-bottom:0}:root{--motion-scale:1.5}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes word{0%{opacity:0;filter:blur(3px);transform:translateY(.35em)}to{opacity:1;filter:none;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pulse{0%{transform:scale(1)}45%{transform:scale(1.55)}to{transform:scale(1)}}@keyframes wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes strike{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media screen{.anim .intro .w{opacity:0;display:inline-block}.anim .intro.go .w{animation:word calc(.9s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 70ms * var(--motion-scale))}.anim .intro p{opacity:0}.anim .intro.go p{animation:rise calc(1s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) calc(1.6s * var(--motion-scale)) both}.anim .rv{opacity:0}.anim .rv.in{animation:rise calc(1s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d,0) * .16s * var(--motion-scale))}.anim .bp .bd,.anim .bp .conn{opacity:0}.anim .bp.play .bd{animation:fade calc(.7s * var(--motion-scale)) ease both;animation-delay:calc((var(--c) * .42s + .3s) * var(--motion-scale))}.anim .bp.play .conn{transform-origin:bottom;animation:fade 10ms linear both, grow calc(.9s * var(--motion-scale)) cubic-bezier(.3,.6,.2,1) both;animation-delay:calc((var(--c) * .42s + .9s) * var(--motion-scale))}.anim .bp.play .fr:before{animation:pulse calc(.8s * var(--motion-scale)) ease both;animation-delay:calc((var(--c) * .42s + 1.75s) * var(--motion-scale))}.anim .jr svg{clip-path:inset(0 100% 0 0)}.anim .jr.play svg{animation:wipe calc(3s * var(--motion-scale)) cubic-bezier(.45,.05,.35,1) calc(.4s * var(--motion-scale)) both}.anim .jr .pt{opacity:0}.anim .jr.play .pt{animation:pop calc(.6s * var(--motion-scale)) ease both}.anim .jr.play .pt:first-of-type{animation-delay:calc(.8s * var(--motion-scale))}.anim .jr.play .pt:nth-of-type(2){animation-delay:calc(1.8s * var(--motion-scale))}.anim .jr.play .pt:nth-of-type(3){animation-delay:calc(2.9s * var(--motion-scale))}.anim .jr .cols3>div{opacity:0}.anim .jr.play .cols3>div{animation:rise calc(.9s * var(--motion-scale)) ease both}.anim .jr.play .cols3>div:first-child{animation-delay:calc(.9s * var(--motion-scale))}.anim .jr.play .cols3>div:nth-child(2){animation-delay:calc(1.9s * var(--motion-scale))}.anim .jr.play .cols3>div:nth-child(3){animation-delay:calc(3s * var(--motion-scale))}.anim .lv .req s{text-decoration:none;position:relative}.anim .lv .req s:after{content:"";transform-origin:0;background:currentColor;height:1px;position:absolute;top:52%;left:0;right:0;transform:scaleX(0)}.anim .lv.play .req s:after{animation:strike calc(.8s * var(--motion-scale)) ease calc(.6s * var(--motion-scale)) both}.anim .lv .bottom .box,.anim .lv .line .arrow,.anim .lv .built{opacity:0}.anim .lv.play .bottom .box{animation:rise calc(.9s * var(--motion-scale)) ease calc(1.5s * var(--motion-scale)) both}.anim .lv.play .line .arrow{transform-origin:bottom;animation:fade 10ms linear calc(2.4s * var(--motion-scale)) both, grow calc(.9s * var(--motion-scale)) cubic-bezier(.3,.6,.2,1) calc(2.4s * var(--motion-scale)) both}.anim .lv.play .built{animation:rise calc(.9s * var(--motion-scale)) ease calc(3.3s * var(--motion-scale)) both}}@media screen and (prefers-reduced-motion:reduce){.anim *{opacity:1!important;clip-path:none!important;filter:none!important;animation:none!important;transform:none!important}}@media screen{.anim .ch .req s{text-decoration:none;position:relative}.anim .ch .req s:after{content:"";transform-origin:0;background:currentColor;height:1px;position:absolute;top:52%;left:0;right:0;transform:scaleX(0)}.anim .ch.play .req s:after{animation:strike calc(.8s * var(--motion-scale)) ease calc(.6s * var(--motion-scale)) both}.anim .ch .need,.anim .ch .built,.anim .ch .to{opacity:0}.anim .ch.play .to:not(.to2),.anim .ch.play .need{animation:rise calc(.9s * var(--motion-scale)) ease calc(1.4s * var(--motion-scale)) both}.anim .ch.play .to2,.anim .ch.play .built{animation:rise calc(.9s * var(--motion-scale)) ease calc(2.3s * var(--motion-scale)) both}}.case-page .back{color:var(--muted);margin-top:44px;font-size:14px;text-decoration:none;display:inline-block}.case-page .back:hover{color:var(--ink)}.case-page .mono{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.case-page .tags{flex-wrap:wrap;gap:6px;margin:0;display:flex}.case-page .tag{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--chip);border-radius:3px;padding:5px 8px 4px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.3}.case-page .title{padding:22px 0 30px}.case-page .title h1{letter-spacing:-.018em;margin:14px 0 0;font-size:27px;font-weight:500;line-height:1.3}.case-page .scan{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin:0 0 8px;padding:6px 0}.case-page .scan div{border-bottom:1px solid var(--rule);grid-template-columns:1fr;gap:2px;padding:12px 0;display:grid}.case-page .scan div:last-child{border-bottom:0}.case-page .scan dt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:11px}.case-page .scan dd{margin:0;font-size:15.5px;line-height:1.55}.case-page h2{letter-spacing:-.012em;margin:46px 0 12px;font-size:20px;font-weight:600;line-height:1.36}.case-page p{margin:0 0 15px}.case-page strong{font-weight:600}.case-page ul{margin:4px 0 18px;padding-left:0;list-style:none}.case-page li{margin-bottom:11px;padding-left:18px;position:relative}.case-page li:before{content:"";background:var(--muted);width:7px;height:1px;position:absolute;top:.78em;left:0}.case-page .table-wrap{margin:6px 0 16px;overflow-x:auto}.case-page table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}.case-page th{text-align:left;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);vertical-align:bottom;padding:0 16px 9px 0;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:11px;font-weight:400}.case-page td{border-bottom:1px solid var(--rule);vertical-align:top;padding:11px 16px 11px 0}.case-page td:first-child{width:44%}.case-page .pull{border-left:2px solid var(--ink);margin:18px 0;padding:2px 0 2px 16px;font-size:18px;font-weight:500;line-height:1.5}.case-page figure{margin:10px 0 30px}.case-page .plate{background:var(--panel);border-radius:6px;padding:14px}.case-page .pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.case-page .pair .mono{margin:0 0 7px;font-size:10px;display:block}.case-page .win{border:1px solid var(--rule);aspect-ratio:var(--ar);background:#fff;border-radius:4px;position:relative;overflow:hidden}.case-page .win img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block;position:absolute;inset:0}.case-page .win.contain img{object-fit:contain;object-position:top center}@media (width<=599px){.case-page .pair.wide{grid-template-columns:1fr;gap:16px}}.case-page .plate .kind{margin:0 0 10px;font-size:10px;display:block}.case-page figcaption{color:var(--muted);margin-top:12px;font-size:14.5px;line-height:1.55}.case-page .evidence{border-top:1px solid var(--ink);margin-top:6px}.case-page .evidence div{border-bottom:1px solid var(--rule);grid-template-columns:1fr;gap:3px;padding:14px 0;display:grid}.case-page .evidence dt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:11px}.case-page .evidence dd{margin:0;font-size:16px}.case-page .next .mono{margin-bottom:6px;display:block}.case-page .next .t{letter-spacing:-.01em;font-size:18px;font-weight:600}@media (width>=760px){.case-page .title h1{font-size:34px}.case-page .scan div,.case-page .evidence div{grid-template-columns:150px 1fr;gap:20px}.case-page h2{margin-top:56px;font-size:22px}.case-page .plate{padding:18px}.case-page .pair{gap:16px}}.case-page .progress{left:0;right:0;top:env(safe-area-inset-top,0px);z-index:10;pointer-events:none;height:2px;position:fixed}.case-page .progress span{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.case-page .kicker{margin:0 0 12px;display:block}.case-page .toc{border-top:1px solid var(--rule);margin:22px 0 0;padding:14px 0 4px}.case-page .toc ol{margin:8px 0 0;padding:0;list-style:none}.case-page .toc li{break-inside:avoid;margin:0 0 2px;padding:0;font-size:14.5px;line-height:1.4}.case-page .toc a{border-radius:4px;grid-template-columns:28px 1fr 16px;align-items:baseline;margin:0 -10px 0 -12px;padding:7px 10px 7px 12px;transition:background-color .18s,color .18s;display:grid;position:relative}.case-page .toc a:before{content:"";background:var(--accent);border-radius:2px;width:2px;transition:transform .18s;position:absolute;top:7px;bottom:7px;left:0;transform:scaleY(0)}.case-page .toc .t{transition:transform .18s}.case-page .toc .go{color:var(--accent);opacity:0;justify-self:end;font-size:13px;transition:opacity .18s,transform .18s;transform:translateY(-3px)}.case-page .toc a:hover,.case-page .toc a:focus-visible,.case-page .toc a:active{background:var(--panel);color:var(--ink);outline:none}.case-page .toc a:hover:before,.case-page .toc a:focus-visible:before,.case-page .toc a:active:before{transform:scaleY(1)}.case-page .toc a:hover .n,.case-page .toc a:focus-visible .n,.case-page .toc a:active .n{color:var(--accent)}.case-page .toc a:hover .t,.case-page .toc a:focus-visible .t,.case-page .toc a:active .t{transform:translate(3px)}.case-page .toc a:hover .go,.case-page .toc a:focus-visible .go,.case-page .toc a:active .go{opacity:1;transform:none}@media (width>=760px){.case-page .toc ol{grid-template-rows:repeat(5,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;align-items:start;column-gap:28px;display:grid}}.case-page .toc li:before{display:none}.case-page .toc a{color:var(--meta);text-decoration:none}.case-page .toc a:hover{color:var(--accent)}.case-page .toc .n{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:11px}.case-page .reframe{gap:8px;margin:18px 0;display:grid}.case-page .rf{border:1px solid var(--rule);background:var(--bg);padding:12px 14px;font-size:15.5px;line-height:1.5}.case-page .rf .mono{margin-bottom:4px;font-size:10px;display:block}.case-page .rf.from{color:var(--muted);border-style:dashed}.case-page .rf.from s{text-decoration-thickness:1px}.case-page .rf.to{border:1.5px solid var(--accent);background:var(--panel)}.case-page .rf-arrow{background:var(--accent);justify-self:start;width:1.5px;height:18px;margin-left:18px;position:relative}.case-page .rf-arrow:after{content:"";border:4px solid #0000;border-top:5px solid var(--accent);border-bottom:0;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.case-page .bpt{border-collapse:collapse;width:100%;margin:6px 0 16px;font-size:15px;line-height:1.45}.case-page .bpt th{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--ink);vertical-align:bottom;padding:0 0 9px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:10px;font-weight:400}.case-page .bpt td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:12px 0}.case-page .bpt td.f{width:42%;padding-right:10px}.case-page .bpt td.l{width:34px;padding:0;position:relative}.case-page .bpt td.l:before{content:"";border-left:1px dashed var(--ink);opacity:.45;position:absolute;top:0;bottom:0;left:50%}.case-page .bpt td.l .ar{background:var(--accent);transform-origin:100%;height:1.5px;position:absolute;top:50%;left:4px;right:4px}.case-page .bpt td.l .ar:before{content:"";border:4px solid #0000;border-right:5px solid var(--accent);border-left:0;position:absolute;top:50%;left:-2px;transform:translateY(-50%)}.case-page .bpt td.b{padding-left:10px}.case-page .own{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--chip);border-radius:3px;margin-top:5px;padding:3px 6px 2px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:9.5px;display:inline-block}.case-page .bpt-note{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin:-6px 0 16px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:9.5px;display:flex}.case-page .stats{border-top:1px solid var(--ink);grid-template-columns:1fr;gap:0;margin-top:6px;display:grid}.case-page .stat{border-bottom:1px solid var(--rule);padding:16px 0 18px}.case-page .stat .mono{margin-bottom:6px;display:block}.case-page .stat .big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:34px;font-weight:500;line-height:1.1;display:block}.case-page .stat .lbl{color:var(--meta);font-size:16px;display:block}@media (width>=760px){.case-page .stats{grid-template-columns:1fr 1fr;column-gap:32px}.case-page .stat.wide{grid-column:1/-1}.case-page .stat .big{font-size:40px}}.case-page .mono{color:var(--meta)}.case-page .lab{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:9px;margin:0 0 10px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:500;display:flex}.case-page .lab:before{content:"";background:var(--accent);flex:none;width:16px;height:2px}.case-page .conf{border:1.5px solid var(--accent);border-radius:50%;flex:none;width:11px;height:11px;margin-left:2px}.case-page .conf.full{background:var(--accent)}.case-page .conf.half{background:linear-gradient(90deg,var(--accent) 50%,transparent 50%)}.case-page .conf.none{background:0 0}.case-page .stat .mono{color:var(--muted)}.case-page .next{border-top:1px solid var(--ink);color:var(--ink);margin:56px 0 0;padding:26px 0 30px;text-decoration:none;display:block}.case-page .next .lab{margin-bottom:12px}.case-page .next .t{letter-spacing:-.012em;margin:0 0 12px;font-size:22px;font-weight:600;line-height:1.3;display:block}.case-page .next .t .arw{color:var(--accent);transition:transform .2s;display:inline-block}.case-page .next:hover .t{color:var(--accent)}.case-page .next:hover .arw{transform:translate(4px)}.case-page .path{background:var(--panel);border-radius:6px;margin:18px 0 22px;padding:16px 16px 14px}.case-page .steps{grid-template-columns:1fr;gap:0;margin:4px 0 0;padding:0;list-style:none;display:grid}.case-page .steps li{grid-template-columns:30px 1fr;align-items:start;margin:0;padding:0 0 16px;display:grid;position:relative}.case-page .steps li:before{display:none}.case-page .steps li:not(:last-child):after{content:"";background:var(--accent);opacity:.45;width:1.5px;position:absolute;top:24px;bottom:2px;left:11px}.case-page .steps .sn{border:1.5px solid var(--accent);width:23px;height:23px;color:var(--accent);background:var(--bg);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:10px;display:flex;position:relative}.case-page .steps .key .sn{background:var(--accent);color:var(--bg)}.case-page .steps .st{padding-top:1px;font-size:15px;line-height:1.45}.case-page .path .eg{color:var(--meta);border-top:1px solid var(--rule);margin:2px 0 0;padding-top:10px;font-size:14px}@media (width>=760px){.case-page .steps{grid-template-columns:repeat(4,1fr);gap:14px}.case-page .steps li{grid-template-columns:1fr;gap:8px;padding:0}.case-page .steps li:not(:last-child):after{width:auto;height:1.5px;inset:11px -12px auto 30px}.case-page .path .eg{margin-top:14px}}.case-page .seq{margin:14px 0 20px;padding:0;list-style:none;position:relative}.case-page .seq:before{content:"";background:var(--accent);opacity:.5;width:1.5px;position:absolute;top:10px;bottom:14px;left:11px}.case-page .seq li{margin:0;padding:0 0 16px 40px;position:relative}.case-page .seq li:before{content:"";background:var(--bg);border:1.5px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:6px}.case-page .seq li:last-child{padding-bottom:0}.case-page .seq .who{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--chip);border-radius:3px;margin-bottom:5px;padding:3px 6px 2px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:10px;display:inline-block}.case-page .seq .what{font-size:16px;line-height:1.45;display:block}@media screen{.anim .case-page .path .steps li{opacity:0}.anim .case-page .path.play .steps li{animation:rise calc(.8s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--k) * .5s * var(--motion-scale))}.anim .case-page .path .eg{opacity:0}.anim .case-page .path.play .eg{animation:fade calc(.8s * var(--motion-scale)) ease calc(2.1s * var(--motion-scale)) both}.anim .case-page .seq:before{transform-origin:top;transform:scaleY(0)}.anim .case-page .seq.play:before{animation:growD calc(1.8s * var(--motion-scale)) cubic-bezier(.4,.1,.3,1) both}.anim .case-page .seq li{opacity:0}.anim .case-page .seq.play li{animation:rise calc(.8s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--k) * .6s * var(--motion-scale))}}@keyframes drawL{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes growD{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes flash{0%{background:0 0}40%{background:var(--accent-soft)}to{background:0 0}}@media screen{.anim .case-page .ld{opacity:0}.anim .case-page.loaded .ld{animation:rise calc(.9s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d,0) * .11s * var(--motion-scale))}.anim .case-page .rv{opacity:0}.anim .case-page .rv.in{animation:rise calc(.9s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both}.anim .case-page .reframe .rf,.anim .case-page .reframe .rf-arrow{opacity:0}.anim .case-page .reframe.play .rf.from{animation:fade calc(.6s * var(--motion-scale)) ease both}.anim .case-page .reframe.play .rf-arrow{transform-origin:top;animation:fade 10ms linear calc(.8s * var(--motion-scale)) both, growD calc(.5s * var(--motion-scale)) ease calc(.8s * var(--motion-scale)) both}.anim .case-page .reframe.play .rf.to{animation:rise calc(.8s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) calc(1.3s * var(--motion-scale)) both}.anim .case-page .bpt tbody tr{opacity:0}.anim .case-page .bpt.play tbody tr{animation:fade calc(.6s * var(--motion-scale)) ease both;animation-delay:calc(var(--r) * .65s * var(--motion-scale))}.anim .case-page .bpt .ar{transform:scaleX(0)}.anim .case-page .bpt.play .ar{animation:drawL calc(.6s * var(--motion-scale)) cubic-bezier(.3,.6,.2,1) both;animation-delay:calc((var(--r) * .65s + .35s) * var(--motion-scale))}.anim .case-page .bpt.play td.f{animation:flash calc(1s * var(--motion-scale)) ease both;animation-delay:calc((var(--r) * .65s + .9s) * var(--motion-scale))}.anim .case-page .plate .pair>div{opacity:0}.anim .case-page .plate.play .pair>div:first-child{animation:rise calc(.8s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both}.anim .case-page .plate.play .pair>div:last-child{animation:rise calc(.8s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) calc(.55s * var(--motion-scale)) both}.anim .case-page .stats .stat{opacity:0}.anim .case-page .stats.play .stat{animation:rise calc(.8s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--s) * .25s * var(--motion-scale))}}@media screen and (prefers-reduced-motion:reduce){.anim .case-page *{opacity:1!important;animation:none!important;transform:none!important}}.case-page h3{letter-spacing:-.01em;margin:40px 0 10px;font-size:18.5px;font-weight:600;line-height:1.35}.case-page h4{letter-spacing:-.005em;margin:32px 0 8px;padding-left:24px;font-size:17px;font-weight:600;line-height:1.4;position:relative}.case-page h4:before{content:"";background:var(--accent);width:14px;height:2px;position:absolute;top:.7em;left:0}.case-page em{font-style:italic}.case-page .roles td:first-child{width:31%;font-weight:500}.case-page .seq .who.end{background:var(--accent);color:var(--bg)}.case-page .bpt.map td.l:before{display:none}.case-page .bpt.map td.l .ar{transform-origin:0}.case-page .bpt.map td.l .ar:before{border:4px solid #0000;border-left:5px solid var(--accent);border-right:0;left:auto;right:-2px}.case-page .bpt.map td.f{width:34%;font-weight:500}@media (width>=760px){.case-page h3{font-size:20px}.case-page h4{font-size:18px}.case-page .toc.rows6 ol{grid-template-rows:repeat(6,auto)}}.case-page .dc,.case-page .dd{background:var(--panel);border-radius:6px;margin:14px 0 26px;padding:16px 16px 14px}.case-page .dc .nm,.case-page .dd .nm{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 3px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;display:block}.case-page .dc svg,.case-page .dd svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.case-page .dc .pt,.case-page .dd .pt{background:var(--panel);border:1.5px solid var(--ink);border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.case-page .dc .curve{height:64px;color:var(--ink);margin:16px 7px 38px;position:relative}.case-page .dc path{opacity:.55}.case-page .dc .pt.gap{background:var(--accent);border-color:var(--accent);width:14px;height:14px}.case-page .dc .flag{white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:3px;padding:4px 7px 3px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.3;position:absolute;top:74px;left:50%;transform:translate(-50%)}.case-page .dc .stages{gap:16px;margin:0;padding:0;list-style:none;display:grid}.case-page .dc .stages>li{margin:0;padding:0 0 0 24px;position:relative}.case-page .dc .stages>li:before{background:var(--panel);border:1.5px solid var(--ink);border-radius:50%;width:11px;height:11px;top:3px;left:1px}.case-page .dc .stages>li.gap:before{background:var(--accent);border-color:var(--accent)}.case-page .dc .stages .gap>.nm{color:var(--accent)}.case-page .dc .sd{font-size:15px;line-height:1.45;display:block}.case-page .dc .brk{border-top:1px solid var(--rule);margin:10px 0 0;padding:9px 0 0}.case-page .dc .brk ul{margin:4px 0 0}.case-page .dc .brk li{margin-bottom:5px;font-size:14px;line-height:1.4}@media (width>=600px){.case-page .dc .stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.case-page .dc .stages>li{padding:0}.case-page .dc .stages>li:before{display:none}}.case-page .dd{flex-direction:column;display:flex;position:relative}.case-page .dd .dd-top{order:0}.case-page .dd .shape{aspect-ratio:5;order:1;margin:14px 7px 16px;position:relative}.case-page .dd .ph{order:2}.case-page .dd .ends{order:3}.case-page .dd .fill{fill:var(--accent-soft)}.case-page .dd .edge{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.case-page .dd .pt{top:50%}.case-page .dd .pt.key{background:var(--accent);border-color:var(--accent);width:14px;height:14px}.case-page .dd .pt.end{background:var(--ink);border-color:var(--ink)}.case-page .dd .ph{margin:0 0 4px;padding:0;list-style:none}.case-page .dd .ph>li{border-top:1px solid var(--rule);grid-template-columns:92px 1fr;align-items:baseline;gap:10px;margin:0;padding:9px 0;display:grid}.case-page .dd .ph>li:before{display:none}.case-page .dd .ph .nm{margin:0}.case-page .dd .ct{font-size:15px;line-height:1.4;display:block}.case-page .dd .ph>li .ct+.ct{grid-column:2}.case-page .dd .ct b{font-variant-numeric:tabular-nums;margin-right:3px;font-size:17px;font-weight:600}.case-page .dd .ends{border-top:1px solid var(--rule);gap:12px;padding-top:12px;display:grid}.case-page .dd .ends>div{padding-left:24px;font-size:15px;line-height:1.45;position:relative}.case-page .dd .ends>div:before{content:"";background:var(--panel);border:1.5px solid var(--ink);border-radius:50%;width:11px;height:11px;position:absolute;top:3px;left:1px}.case-page .dd .ends>div.key:before{background:var(--accent);border-color:var(--accent)}.case-page .dd .ends>div.end:before{background:var(--ink)}.case-page .dd .ends .key .nm{color:var(--accent)}@media (width>=600px){.case-page .dd .ph{text-align:center;order:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 0;display:grid}.case-page .dd .ph>li{border-top:0;padding:0;display:block}.case-page .dd .ph .nm{margin:0 0 5px}.case-page .dd .shape{aspect-ratio:6;order:2;margin:14px 7px}.case-page .dd .ends{border-top:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:4px}.case-page .dd .ends>div{padding-left:0}.case-page .dd .ends>div:before{display:none}.case-page .dd .ends>div.key{text-align:center}.case-page .dd .ends>div.end{text-align:right}}.case-page .sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.case-page .dd .dd-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}@media (width<=599px){.case-page .dd .hint{text-align:left;flex-basis:100%;padding-left:25px}}.case-page .dd .hint{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right;opacity:0;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;transition:opacity .5s}.case-page .dd .hint .tp{display:none}@media (hover:none){.case-page .dd .hint .hv{display:none}.case-page .dd .hint .tp{display:inline}}.case-page .dd.ready .hint{opacity:1}.case-page .dd .shape{cursor:crosshair;touch-action:pan-y;-webkit-tap-highlight-color:transparent;outline:none}.case-page .dd .shape:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:2px}.case-page .dd .band{fill:var(--accent);opacity:0}.case-page .dd.explore .band{opacity:.3}.case-page .dd .ct{transition:color .15s}.case-page .dd .ct.on,.case-page .dd .ct.on b{color:var(--accent)}.case-page .dd.ready .ct[data-z]{cursor:pointer}.case-page .dd-card{z-index:3;background:var(--bg);border:1px solid var(--rule);pointer-events:none;opacity:0;visibility:hidden;border-radius:6px;width:260px;padding:10px 12px 8px;transition:opacity .15s,visibility 0s linear .15s;position:absolute;top:0;left:0;box-shadow:0 10px 26px #0000001a}.case-page .dd.explore .dd-card{opacity:1;visibility:visible;transition:opacity .15s}.case-page .dd-card .h{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;display:block}.case-page .dd-card ul{margin:0;padding:0;list-style:none}.case-page .dd-card li{margin:0 0 4px;padding:0;font-size:13.5px;line-height:1.4}.case-page .dd-card li:before{display:none}.case-page .dd-card:before{content:"";top:-6px;left:var(--cx,50%);background:var(--bg);border-left:1px solid var(--rule);border-top:1px solid var(--rule);width:10px;height:10px;position:absolute;transform:translate(-50%)rotate(45deg)}@media (prefers-reduced-motion:reduce){.case-page .dd .hint,.case-page .dd .ct,.case-page .dd-card,.case-page .dd.explore .dd-card{transition:none}}@media screen{.anim .case-page .seq.long.play:before{animation-duration:calc(3s * var(--motion-scale))}.anim .case-page .bpt.map.play td.f{animation:none}.anim .case-page .bpt.map.play td.b{animation:flash calc(1s * var(--motion-scale)) ease both;animation-delay:calc((var(--r) * .65s + .9s) * var(--motion-scale))}.anim .case-page .evidence>div{opacity:0}.anim .case-page .evidence.play>div{animation:rise calc(.8s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--s) * .25s * var(--motion-scale))}.anim .case-page .dc svg,.anim .case-page .dd svg{clip-path:inset(0 100% 0 0)}.anim .case-page .dc .pt,.anim .case-page .dd .pt{opacity:0}.anim .case-page .dc.play svg{animation:wipe calc(3s * var(--motion-scale)) cubic-bezier(.45,.05,.35,1) calc(.4s * var(--motion-scale)) both}.anim .case-page .dc.play .pt{animation:pop calc(.6s * var(--motion-scale)) ease both}.anim .case-page .dc.play .pt:first-of-type{animation-delay:calc(.8s * var(--motion-scale))}.anim .case-page .dc.play .pt:nth-of-type(2){animation-delay:calc(1.8s * var(--motion-scale))}.anim .case-page .dc.play .pt:nth-of-type(3){animation-delay:calc(2.9s * var(--motion-scale))}.anim .case-page .dc .flag{opacity:0}.anim .case-page .dc.play .flag{animation:fade calc(.6s * var(--motion-scale)) ease calc(2.1s * var(--motion-scale)) both}.anim .case-page .dc .stages>li,.anim .case-page .dc .brk{opacity:0}.anim .case-page .dc.play .stages>li{animation:rise calc(.9s * var(--motion-scale)) ease both}.anim .case-page .dc.play .stages>li:first-child{animation-delay:calc(.9s * var(--motion-scale))}.anim .case-page .dc.play .stages>li:nth-child(2){animation-delay:calc(1.9s * var(--motion-scale))}.anim .case-page .dc.play .stages>li:nth-child(3){animation-delay:calc(3s * var(--motion-scale))}.anim .case-page .dc.play .brk{animation:fade calc(.8s * var(--motion-scale)) ease calc(2.5s * var(--motion-scale)) both}.anim .case-page .dd.play svg{animation:wipe calc(3.2s * var(--motion-scale)) cubic-bezier(.45,.05,.35,1) calc(.3s * var(--motion-scale)) both}.anim .case-page .dd.play .pt{animation:pop calc(.6s * var(--motion-scale)) ease both}.anim .case-page .dd.play .pt:first-of-type{animation-delay:calc(.3s * var(--motion-scale))}.anim .case-page .dd.play .pt:nth-of-type(2){animation-delay:calc(1.9s * var(--motion-scale))}.anim .case-page .dd.play .pt:nth-of-type(3){animation-delay:calc(3.5s * var(--motion-scale))}.anim .case-page .dd .ph>li,.anim .case-page .dd .ends>div{opacity:0}.anim .case-page .dd.play .ph>li{animation:rise calc(.8s * var(--motion-scale)) ease both}.anim .case-page .dd.play .ph>li:first-child{animation-delay:calc(.6s * var(--motion-scale))}.anim .case-page .dd.play .ph>li:nth-child(2){animation-delay:calc(1.4s * var(--motion-scale))}.anim .case-page .dd.play .ph>li:nth-child(3){animation-delay:calc(2.2s * var(--motion-scale))}.anim .case-page .dd.play .ph>li:nth-child(4){animation-delay:calc(3s * var(--motion-scale))}.anim .case-page .dd.play .ends>div{animation:fade calc(.8s * var(--motion-scale)) ease both}.anim .case-page .dd.play .ends>div:first-child{animation-delay:calc(.5s * var(--motion-scale))}.anim .case-page .dd.play .ends>div:nth-child(2){animation-delay:calc(2.1s * var(--motion-scale))}.anim .case-page .dd.play .ends>div:nth-child(3){animation-delay:calc(3.7s * var(--motion-scale))}}@media screen and (prefers-reduced-motion:reduce){.anim .case-page .dc svg,.anim .case-page .dd svg{clip-path:none!important}.anim .case-page .dd-card{opacity:0!important}.anim .case-page .dd.explore .dd-card{opacity:1!important}}.case-page .journey-end .next.decide .t{color:var(--ink);text-decoration:none;display:block}.case-page .journey-end .next.decide .t:hover{color:var(--accent)}.case-page .journey-end .next.decide .t:hover .arw{transform:translate(4px)}.case-page .journey-end .next.decide .mail{color:var(--muted);font-size:15px;text-decoration:none}.case-page .journey-end .next.decide .mail:hover{color:var(--ink)}.case-page .lvf{background:var(--panel);border-radius:6px;margin:14px 0 26px;padding:16px 16px 14px}.case-page .lvf>.lab{margin-bottom:10px}.case-page .lvf .lane{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;display:block}.case-page .lvf .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.case-page .lvf .top{margin:8px 0 0}.case-page .lvf .bottom{margin:0 0 8px}.case-page .lvf .box{border:1px solid var(--rule);background:var(--bg);padding:8px 10px;font-size:13.5px;line-height:1.35}.case-page .lvf .box small{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;display:block}.case-page .lvf .box.req{color:var(--muted);border-style:dashed}.case-page .lvf .box.built{border:1.5px solid var(--accent)}.case-page .lvf .box.src{grid-column:2}.case-page .lvf .line{height:34px;position:relative}.case-page .lvf .line:before{content:"";border-top:1px dashed var(--ink);opacity:.45;position:absolute;top:50%;left:0;right:0}.case-page .lvf .lvl{background:var(--panel);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-right:8px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.case-page .lvf .ar{background:var(--accent);width:1.5px;position:absolute;top:0;bottom:0}.case-page .lvf .ar:before{content:"";border:4px solid #0000;border-bottom:5px solid var(--accent);border-top:0;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.case-page .lvf .ar{left:calc(75% - .75px)}@media (width>=760px){.case-page .lvf{padding:18px 18px 16px}.case-page .lvf .box{padding:10px 12px;font-size:14.5px}.case-page .lvf .row{gap:14px}.case-page .lvf .line{height:40px}}@media (width<=359px){.case-page .lvf{padding:14px 12px 12px}.case-page .lvf .row{gap:6px}.case-page .lvf .box{padding:7px;font-size:12.5px}}@media screen{.anim .case-page .lvf .req s{text-decoration:none;position:relative}.anim .case-page .lvf .req s:after{content:"";transform-origin:0;background:currentColor;height:1px;position:absolute;top:52%;left:0;right:0;transform:scaleX(0)}.anim .case-page .lvf.play .req s:after{animation:drawL calc(.8s * var(--motion-scale)) ease calc(.5s * var(--motion-scale)) both}.anim .case-page .lvf .src,.anim .case-page .lvf .built,.anim .case-page .lvf .ar{opacity:0}.anim .case-page .lvf.play .src{animation:rise calc(.9s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) calc(1.2s * var(--motion-scale)) both}.anim .case-page .lvf .ar{transform-origin:bottom}.anim .case-page .lvf.play .ar{animation:fade 10ms linear calc(2.2s * var(--motion-scale)) both, growD calc(.8s * var(--motion-scale)) cubic-bezier(.3,.6,.2,1) calc(2.2s * var(--motion-scale)) both}.anim .case-page .lvf.play .built{animation:rise calc(.9s * var(--motion-scale)) cubic-bezier(.2,.7,.2,1) calc(3s * var(--motion-scale)) both}}.case-page.about .sec h2{margin-top:0}.case-page.about .about-path{border-top:1px solid var(--rule);margin:18px 0 0;padding:0;list-style:none}.case-page.about .about-path>li{border-bottom:1px solid var(--rule);grid-template-columns:30px 1fr;gap:4px 10px;margin:0;padding:16px 0;display:grid}.case-page.about .about-path>li:before{display:none}.case-page.about .about-path .n{letter-spacing:.08em;color:var(--muted);grid-row:1/span 2;padding-top:4px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.case-page.about .about-path .st{font-size:17px;font-weight:600;line-height:1.4}.case-page.about .about-path .d{font-size:16px;line-height:1.55}.case-page.about .about-path .rc{color:var(--accent);margin-top:8px;font-size:15px;font-weight:500;text-decoration:none;display:table}.case-page.about .about-path .rc .arw{transition:transform .2s;display:inline-block}.case-page.about .about-path .rc:hover .arw{transform:translate(4px)}@media (width>=760px){.case-page.about .about-lead{font-size:19px}.case-page.about .about-path>li{grid-template-columns:40px 190px 1fr;column-gap:16px}.case-page.about .about-path .n{grid-row:auto}}.case-page.about .about-title{padding-bottom:12px}.case-page.about .about-lead{margin:0;font-size:18px;line-height:1.6}.case-page.about .sec{border-top:1px solid var(--ink);margin-top:54px;padding-top:22px}.case-page.about .sec>.lab{margin-bottom:10px}.case-page.about .persp{border-top:1px solid var(--rule);margin:14px 0 0;padding:0;list-style:none}.case-page.about .persp>li{border-bottom:1px solid var(--rule);margin:0;padding:16px 0}.case-page.about .persp>li:before{display:none}.case-page.about .persp .st{margin-bottom:4px;font-size:17px;font-weight:600;line-height:1.4;display:block}.case-page.about .persp .d{font-size:16px;line-height:1.55;display:block}.case-page.about .persp .rc{color:var(--accent);margin-top:8px;font-size:15px;font-weight:500;text-decoration:none;display:table}.case-page.about .persp .rc .arw{transition:transform .2s;display:inline-block}.case-page.about .persp .rc:hover .arw{transform:translate(4px)}.case-page.about .sec.bgsec{border-top:1px solid var(--rule);margin-top:44px;padding-top:18px}.case-page.about .bg{margin:10px 0 0;padding:0;list-style:none}.case-page.about .bg>li{color:var(--muted);margin:0 0 10px;padding:0;font-size:15px;line-height:1.55}.case-page.about .bg>li:before{display:none}.case-page.about .bg strong{color:var(--ink);font-weight:600}@media (width>=760px){.case-page.about .about-lead{font-size:19px}.case-page.about .persp>li{grid-template-columns:190px 1fr;column-gap:16px;display:grid}.case-page.about .persp .st{margin-bottom:0}}@media print{:root,:root:not([data-theme=light]),:root[data-theme=dark]{--bg:#fff;--ink:#15181c;--meta:#3f4650;--muted:#5d646d;--rule:#dcd9d4;--accent:#2f4a6d;--chip:#e7e3dc;--panel:#f1efeb;--accent-soft:#e1e8f1}body{background:#fff}.progress{display:none!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}figure,table,.case,.strip,.reframe,.lvf,.dd,.dc,.evidence,.stats,.journey-end{break-inside:avoid}}
