.case{padding-top:var(--header-h)}.case__bar{top:var(--header-h);z-index:40;justify-content:space-between;align-items:center;gap:var(--gap);padding:13px var(--pad);background:var(--paper);border-bottom:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9.5px;display:flex;position:sticky}.case__back{transition:color .3s var(--ease);align-items:center;gap:8px;display:inline-flex}.case__back span{transition:transform .4s var(--ease);display:inline-block}.case__back:hover{color:var(--red-deep)}.case__back:hover span{transform:translate(-4px)}.case__hero{padding:clamp(12px, 2vw, 26px) var(--pad) 0}.case__meta{gap:var(--gap);margin:clamp(20px, 3vw, 38px) var(--pad) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(4,1fr);padding:clamp(18px,2.4vw,30px) 0;display:grid}.case__meta dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:9px}.case__meta dd{letter-spacing:-.01em;margin:7px 0 0;font-size:clamp(13px,1.05vw,15.5px);line-height:1.4}.case__body{padding:clamp(46px, 7vw, 110px) var(--pad) clamp(20px, 3vw, 40px);grid-template-columns:190px minmax(0,760px);justify-content:space-between;gap:clamp(30px,7vw,120px);max-width:1480px;margin:0 auto;display:grid}.case__toc{top:calc(var(--header-h) + 66px);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-self:start;gap:7px;font-size:9.5px;display:grid;position:sticky}.case__toc-label{color:var(--red-deep);margin-bottom:6px}.case__toc a{color:var(--muted);width:fit-content;transition:color .3s var(--ease), border-color .3s var(--ease);border-bottom:1px solid #0000;gap:10px;padding-block:3px;display:flex}.case__toc a span{padding-top:1px;font-size:8px}.case__toc a:hover{color:var(--ink);border-color:var(--red)}.case__toc-rule{background:var(--rule);height:1px;margin-block:10px 6px}.case__toc-note{color:var(--muted);font-size:8.5px}.case__prose{min-width:0}.case__section{scroll-margin-top:calc(var(--header-h) + 70px);padding-bottom:clamp(38px,5vw,68px)}.case__section h2{letter-spacing:-.035em;text-wrap:balance;margin-bottom:22px;font-size:clamp(26px,3.2vw,44px);font-weight:600;line-height:1}.case__num{font-family:var(--font-mono);letter-spacing:.08em;vertical-align:super;color:var(--red-deep);margin-left:.5em;font-size:.28em;font-weight:400}.case__section p{letter-spacing:-.005em;color:var(--ink-2);text-wrap:pretty;max-width:68ch;margin-bottom:18px;font-size:clamp(15px,1.12vw,17.5px);line-height:1.62}.case__quote{border-top:1px solid var(--ink);letter-spacing:-.03em;text-wrap:balance;margin:8px 0 clamp(40px,6vw,80px);padding-top:clamp(18px,2vw,26px);font-size:clamp(23px,2.9vw,40px);font-weight:500;line-height:1.06}.case__quote-mark{color:var(--red);margin-right:.04em;font-size:1.15em;line-height:0}.case__credits{gap:var(--gap);border-top:1px solid var(--ink);grid-template-columns:1fr auto;align-items:start;padding-top:20px;display:grid}.case__credits dl{gap:12px;display:grid}.case__credits dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:8.5px}.case__credits dd{letter-spacing:-.01em;margin:3px 0 0;font-size:14px}.case__credits-share{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-items:end;gap:8px;font-size:8.5px;display:grid}.case__credits-share a{border-bottom:1px solid var(--rule-strong);color:var(--ink);transition:color .3s var(--ease), border-color .3s var(--ease);padding-bottom:2px}.case__credits-share a:hover{color:var(--red);border-color:var(--red)}.case__next{background:var(--ink);color:var(--paper);padding:clamp(38px, 6vw, 84px) var(--pad);border-top:1px solid var(--ink)}.case__next a{grid-template-columns:1fr auto;grid-template-areas:"label arrow""title arrow";align-items:end;gap:10px 24px;display:grid}.case__next .mono{color:#f1ede299;grid-area:label}.case__next-title{letter-spacing:-.055em;text-transform:uppercase;transition:transform .6s var(--ease), color .4s var(--ease);grid-area:title;font-size:clamp(3rem,10.5vw,10rem);font-weight:800;font-stretch:108%;line-height:.78}.case__next-arrow{color:var(--red);transition:transform .5s var(--ease);grid-area:arrow;font-size:clamp(2rem,5vw,4.4rem);line-height:1}.case__next a:hover .case__next-title{color:var(--paper-3);transform:translate(10px)}.case__next a:hover .case__next-arrow{transform:translate(8px)}@media (max-width:1080px){.case__body{grid-template-columns:150px minmax(0,1fr);gap:40px}}@media (max-width:860px){.case__bar{font-size:8.5px}.case__bar .mono:nth-child(2){display:none}.case__meta{gap:20px var(--gap);grid-template-columns:1fr 1fr}.case__body{grid-template-columns:1fr;gap:0}.case__toc{border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,auto);align-items:baseline;gap:12px;margin-bottom:34px;padding-bottom:24px;position:static}.case__toc-label,.case__toc-rule,.case__toc-note{display:none}.case__section h2{font-size:clamp(24px,6.5vw,34px)}.case__credits{grid-template-columns:1fr}.case__credits-share{justify-items:start;margin-top:8px}}@media (max-width:540px){.case__hero{padding-inline:10px}.case__meta{grid-template-columns:1fr;gap:14px;margin-inline:10px}.case__body{padding-inline:10px}}.case__meta a{color:var(--red);text-underline-offset:2px;text-decoration:underline}.migration-charts{gap:clamp(20px,3vw,34px);margin-top:clamp(26px,3.4vw,44px);display:grid}.chart{border-top:1px solid var(--rule);margin:0;padding-top:14px}.chart-row{grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,34px);display:grid}.chart svg{width:100%;height:auto;color:var(--ink);display:block}.chart text{font-family:var(--font-mono);letter-spacing:.06em;fill:var(--ink)}.chart .t-display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600}.chart .t-red{fill:var(--red)}.chart .t-muted{fill:var(--muted)}.chart .s-rule{stroke:var(--rule-strong)}.chart .s-red{stroke:var(--red)}.chart .f-red{fill:var(--red)}.chart .f-paper{fill:var(--paper)}.chart figcaption{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;max-width:70ch;margin-top:10px;font-size:9px;line-height:1.5}@media (max-width:860px){.chart-row{grid-template-columns:1fr}}
