html{background:var(--page);scroll-padding-top:136px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.case-lab{background:var(--page);color:var(--ink);font-family:var(--font-sans);font-size:var(--t0);font-weight:var(--text-weight);line-height:var(--text-leading);letter-spacing:var(--text-tracking);-webkit-font-smoothing:antialiased;margin:0}.case-lab *,.case-lab :before,.case-lab :after{box-sizing:border-box}.case-lab img{max-width:100%;height:auto;display:block}.case-lab p,.case-lab h1,.case-lab h2,.case-lab dl,.case-lab dd,.case-lab ol,.case-lab ul,.case-lab figure{margin:0}.case-lab ol,.case-lab ul{padding:0;list-style:none}:where(.case-lab) a{color:inherit;text-decoration:none}.case-lab :focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);border-radius:var(--r-1)}.case-lab main:focus,.case-lab h1:focus{outline:none}.case-lab .rv-w{margin-block:-.25em;padding-block:.25em}.skip{left:var(--gutter);z-index:30;background:var(--layer-1);border-radius:var(--r-1);box-shadow:var(--shadow-float);padding:10px 14px;position:absolute;top:-100px}.skip:focus-visible{top:12px}.bar{z-index:20;height:64px;padding-inline:var(--gutter);background:var(--page);border-bottom:var(--border-width) solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.orb-slot{border-radius:50%;flex:none;width:40px;height:40px}.orb-slot.still{background:radial-gradient(circle at 40% 35%, var(--layer-1), var(--stage-top));box-shadow:var(--shadow-rest)}.home,.links a{font-size:var(--ui-size);font-weight:var(--ui-weight);padding:10px 6px;line-height:1.3}.links{gap:8px;margin-left:auto;display:flex}.links a{position:relative}.ind{background:var(--accent);border-radius:1px;height:2px;position:absolute;bottom:4px;left:6px;right:6px}.lab-switch{padding:8px var(--gutter) 0;font-size:var(--t-1);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.lab-switch ul{flex-wrap:wrap;gap:4px;display:flex}.lab-switch a{border-radius:var(--r-1);text-align:center;min-width:32px;box-shadow:inset 0 0 0 var(--border-width) var(--border);padding:6px 10px;display:inline-block}.lab-switch a[aria-current]{color:var(--ink);background:var(--layer-1);box-shadow:var(--shadow-rest)}.case,.lab-index{max-width:1600px;padding:0 var(--gutter) 160px;margin-inline:auto}.case-title{gap:12px;padding-top:clamp(40px,6vw,88px);display:grid}.case-title h1,.lab-index h1{padding-block:.06em}.case-line{font-size:var(--t1);color:var(--ink-2);max-width:36ch;line-height:1.35}.fig{display:grid;container-type:inline-size}.fig>.v{gap:14px;margin:0;display:none}:root{--frame-room:24px}@media (width<=599px){:root{--frame-room:8px}}:is(.frame,.trk-frame){--mpt:max(0px, calc(var(--frame-room) - var(--ot,9999px)));--mpr:max(0px, calc(var(--frame-room) - var(--or,9999px)));--mpb:max(0px, calc(var(--frame-room) - var(--ob,9999px)));--mpl:max(0px, calc(var(--frame-room) - var(--ol,9999px)));--frame-r:var(--r-2);background:var(--matte,var(--layer-2));padding:var(--mpt) var(--mpr) var(--mpb) var(--mpl);border-radius:var(--frame-r);box-shadow:var(--frame-ring)}:is(.frame,.trk-frame) :is(img,video){border-radius:var(--frame-r)}.v .frame{width:100%;max-width:calc(var(--w) + var(--mpl) + var(--mpr))}.frame img{background:var(--matte,var(--layer-2));width:100%;height:auto}@media (width<=599px){:is(.frame,.trk-frame){--frame-r:0px}.v .frame{width:auto;max-width:calc(var(--w) + var(--mpl) + var(--mpr));margin-inline:calc(var(--gutter) * -1)}}.v figcaption,.stage-cap{font-size:var(--t-1);color:var(--ink-2);max-width:62ch;padding-left:8px;line-height:1.45}.sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.crow{--row-gap:clamp(28px, 3vw, 44px);justify-content:space-between;align-items:flex-start;gap:var(--row-gap);flex-wrap:wrap;display:flex;container:row/inline-size}.crow>*{flex:1 1 0;min-width:0}.crow>.fit{container-type:normal}.crow>:is(.fig,.hero,.step-fig,.take-no,.step-no){flex:0 0 100%}.hero-row{row-gap:clamp(24px,3vw,40px);padding-top:clamp(40px,6vw,88px)}.hero-row>.case-title{padding-top:0}@media (prefers-reduced-motion:no-preference){.rv-js.cl-view .fig[data-arrive]:not(.cl-in) .frame{opacity:0;animation:0s 2.5s forwards cl-failsafe-f;transform:scale(.985)}.rv-js.cl-view .fig[data-arrive].cl-held:not(.cl-in) .frame{animation:none}.fig[data-arrive] .frame{transition:opacity var(--dur-base) var(--ease-settle), transform var(--dur-large) var(--ease-arrive)}.fig[data-arrive].cl-plain .frame{transition:none}}@keyframes cl-failsafe-f{to{opacity:1;transform:none}}@media print{.case-lab .fig[data-arrive] .frame{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.case-lab [data-reveal-view],.case-lab [data-reveal],.case-lab .rv-w{opacity:1!important;animation:none!important;-webkit-mask:none!important;mask:none!important}.case-lab .spine-list{opacity:1!important;visibility:visible!important}}.meta-wrap{gap:clamp(32px,4vw,56px);padding-block:clamp(56px,7vw,112px) 0;display:grid}.hook{font-size:clamp(var(--t1), 1rem + 1.2vw, var(--t3));font-weight:var(--display-weight);max-width:30ch;line-height:1.28}.meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;display:grid}.meta-row{border-top:var(--border-width) solid var(--border);align-content:start;gap:8px;padding-top:16px;display:grid}.meta dt{font-size:var(--ui-size);font-weight:var(--ui-weight)}.meta dd{font-size:var(--ui-size);color:var(--ink-2);line-height:1.5}@media (width<=1023px){.meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=599px){.meta{grid-template-columns:1fr;gap:20px}}.ch{padding-top:clamp(96px,11vw,176px)}.ch-text{gap:16px;max-width:46rem;display:grid}.ch-text h2{max-width:22ch;padding-block:.04em}.ch-h{font-size:var(--t2);font-weight:var(--ui-weight);line-height:1.2}.ch-text p{max-width:60ch;color:var(--ink)}.ch-text .d3+p{margin-top:8px}.form{font-size:var(--ui-size);margin-top:16px;container-type:inline-size}.pk{font-weight:var(--ui-weight)}.pv{color:var(--ink-2)}.stations{gap:20px;display:grid}.stations li{grid-template-columns:minmax(0,1fr);align-content:start;gap:2px 0;display:grid;position:relative}.st-no,.form .dg-wide{display:none}.stations .dg-node{top:calc(.5lh - var(--dg-node) / 2);left:0}.stations .seg{left:calc(var(--dg-node) / 2 - 1px);height:calc(100% + 20px);top:.5lh}.loop{position:relative}.loop .stations li{padding-left:54px}.loop .stations .dg-node{left:26px}.loop .stations .seg{left:31px}.loop .lane{height:calc(100% + 21px);top:0;left:5px}.loop li:first-child .lane{height:calc(100% + 15.5px - .5lh);top:calc(.5lh + 5.5px)}.loop li:last-child .lane{height:calc(.5lh - 5.5px)}.loop .stations .back-in{top:calc(.5lh - 5px);left:1px}.loop .stations .back-out{top:calc(.5lh - 11px);left:1px}@container (width>=600px){.loop{--cw:calc((100% - 60px) / 4);--c1:calc(var(--cw) / 2);--span:calc(var(--cw) * 3 + 60px);padding-top:44px}.loop .dg-narrow{display:none}.loop .dg-wide{display:block}.loop .stations{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px}.loop .stations li{text-align:center;justify-items:center;padding:26px 0 0}.loop .stations .dg-node{left:calc(50% - var(--dg-node) / 2);top:0}.loop .track{left:var(--c1);width:var(--span);top:49px}.loop .back-out{left:calc(var(--c1) + var(--span) - 15px);top:3px}.loop .back-run{left:calc(var(--c1) + 9.5px);width:calc(var(--span) - 19px);top:7px}.loop .back-in{left:calc(var(--c1) - 5px);top:3px}}.ladder{gap:28px;display:grid}.rungs{align-content:start;row-gap:14px;display:grid;position:relative}.ladder .stations li{padding-left:40px}.ch-text .scale{font-size:var(--t-1);color:var(--ink-2);border-top:var(--border-width) solid var(--border);max-width:none;padding-top:10px}.dismiss .pk{color:var(--ink-2)}@container (width>=600px){.ladder{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px}.ladder .dg-narrow{display:none}.ladder .dg-wide{display:block}.rungs{grid-template-rows:1fr auto;row-gap:16px}.earn{grid-column:1/4;grid-template-columns:subgrid}.earn .stations,.earn .scale{grid-column:1/-1}.dismiss{grid-column:4}.ladder .stations{grid-template-columns:subgrid;row-gap:0}.dismiss .stations{grid-template-columns:minmax(0,1fr)}.ladder .stations li{padding:26px 8px 0 0}.ladder .stations .dg-node{top:0}.earn .track{top:5px;left:calc(var(--dg-node) / 2);width:calc(66.6667% + 13.3333px)}}.changes{display:grid}.changes li{border-top:var(--border-width) solid var(--border);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:4px 10px;padding-block:14px;display:grid}.changes li:last-child{border-bottom:var(--border-width) solid var(--border)}.changes .pk{font-weight:var(--text-weight);color:var(--ink-2);grid-column:1/-1}.changes .pv{color:var(--ink);font-weight:var(--ui-weight)}.changes .ch-arrow{margin-top:calc(.5lh - 10px)}@container (width>=560px){.changes li{grid-template-columns:minmax(0,1fr) 20px minmax(0,1.2fr);gap:20px}.changes .pk{grid-column:auto}}.next{gap:12px;margin-top:clamp(120px,13vw,200px);display:grid}.next-link{border-radius:var(--r-4);background:var(--layer-1);box-shadow:var(--shadow-rest);transition:box-shadow var(--dur-quick) var(--ease-settle);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 24px;padding:clamp(24px,3vw,40px);display:grid}.next-label{font-size:var(--ui-size);font-weight:var(--ui-weight);color:var(--ink-2);grid-column:1}.next-name{grid-column:1;padding-block:.04em}.next-line{color:var(--ink-2);grid-column:1;max-width:52ch}.next-go{width:48px;height:48px;box-shadow:inset 0 0 0 var(--border-width) var(--border);border-radius:50%;grid-area:1/2/span 3;place-items:center;display:grid}.next-go svg,.tour-btn svg{width:20px;height:20px;color:var(--ink);stroke-width:1.6px}.lab-note{font-size:var(--t-1);color:var(--ink-2);padding-left:8px}.lab-index{gap:16px;padding-top:clamp(40px,6vw,88px);display:grid}.rows{margin-top:clamp(32px,4vw,56px);display:grid}.row{border-top:var(--border-width) solid var(--border);border-radius:var(--r-1);grid-template-columns:clamp(140px,22vw,320px) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,40px);padding-block:20px;display:grid}.rows li:last-child .row{border-bottom:var(--border-width) solid var(--border)}.row-thumb{background:var(--layer-1);border-radius:var(--r-2);box-shadow:var(--shadow-rest);transition:box-shadow var(--dur-quick) var(--ease-settle);padding:6px;display:block}.row-thumb img{border-radius:var(--r-1)}@media (hover:hover){.row:hover .row-thumb{box-shadow:var(--shadow-lift)}}.row-text{gap:4px;display:grid}.row-name{font-size:var(--t1);font-weight:var(--ui-weight);line-height:1.3}.row-line{color:var(--ink-2);max-width:56ch}.row-from{font-size:var(--t-1);color:var(--ink-2)}@media (width<=599px){.row{grid-template-columns:1fr}}.spine-grid{grid-template-columns:220px minmax(0,1fr);gap:0 56px;display:grid}.case-b .spine-body .ch{container-name:rowb}.spine{position:relative}.spine-list{transition:opacity var(--dur-quick) var(--ease-settle), visibility 0s 0s;gap:2px;padding-top:clamp(96px,11vw,176px);display:grid;position:sticky;top:112px}.spine-list.yield:not(:focus-within){opacity:0;visibility:hidden;transition:opacity var(--dur-quick) var(--ease-settle), visibility 0s var(--dur-quick)}.spine-list.yield:focus-within{z-index:2;background:var(--page)}@media (prefers-reduced-motion:reduce){.spine-list,.spine-list.yield,.spine-list.yield:not(:focus-within){transition:none}}.spine-list a{font-size:var(--ui-size);color:var(--ink-2);transition:color var(--dur-quick) var(--ease-settle);padding:8px 0 8px 16px;line-height:1.3;display:block;position:relative}.spine-list a .ind{opacity:0;transition:opacity var(--dur-instant) var(--ease-settle);width:2px;height:auto;inset:10px auto 10px 0}.spine-list a[aria-current]{color:var(--ink)}.spine-list a[aria-current] .ind{opacity:1;transition-duration:var(--dur-quick)}@media (prefers-reduced-motion:reduce){.spine-list a .ind,.spine-list a[aria-current] .ind{transition:none}}.spine-phone{display:none}@media (width<=1279px){.spine-grid{grid-template-columns:minmax(0,1fr)}.case-b .spine-body .ch{container-name:row}.spine{z-index:10;margin-inline:calc(var(--gutter) * -1);padding:8px var(--gutter);background:var(--page);border-bottom:var(--border-width) solid var(--border);position:sticky;top:64px}.spine-list{display:none}.spine-phone{display:block}.spine-phone summary{cursor:pointer;min-height:44px;font-size:var(--ui-size);font-weight:var(--ui-weight);align-items:center;gap:12px;list-style:none;display:flex}.spine-phone summary::-webkit-details-marker{display:none}.spine-now{color:var(--ink-2);font-weight:var(--text-weight)}.spine-phone ol{padding-block:4px 8px;display:grid}.spine-phone a{min-height:44px;font-size:var(--ui-size);padding:10px 0;display:block}.spine-phone a[aria-current]{color:var(--accent)}}.stage-grid{grid-template-columns:minmax(25rem,.72fr) minmax(0,1.5fr);gap:clamp(32px,4vw,72px);margin-top:clamp(64px,8vw,128px);display:grid}.step.crow{--row-gap:16px;align-content:center;min-height:88svh;padding-block:48px}.step-no{font-size:var(--ui-size);font-weight:var(--ui-weight);color:var(--ink-2);font-variant-numeric:tabular-nums}.step .ch-text{max-width:30rem}.step-fig{display:none}.stage-pin{height:calc(100svh - 160px);position:sticky;top:120px}.stage-fig{opacity:0;visibility:hidden;transition:opacity var(--dur-quick) var(--ease-settle), visibility 0s var(--dur-quick);align-content:center;justify-items:start;gap:14px;margin:0;display:grid;position:absolute;inset:0}.stage-fig.on{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-settle) var(--dur-quick), visibility 0s var(--dur-quick)}.stage-fig .frame img{width:auto;max-width:100%;max-height:calc(100svh - 240px)}.stage-fig .frame{max-width:100%}@media (width>=1600px){.stage-grid{grid-template-columns:minmax(0,1fr) 820px}}.stage-fig.side{grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:24px}@media (prefers-reduced-motion:reduce){.stage-fig,.stage-fig.on{transition:none}}@media (width<=1219px),(height<=759px){.stage-grid{grid-template-columns:minmax(0,1fr)}.stage{display:none}.step.crow{min-height:0;padding-block:clamp(56px,10vw,96px) 0}.step-fig{margin-top:12px;display:block}}.takeaways{gap:24px;margin-top:clamp(80px,9vw,144px);display:grid}.takeaways ol{display:grid}.takeaways a{border-top:var(--border-width) solid var(--border);grid-template-columns:3.5rem minmax(0,1fr);align-items:baseline;gap:16px;padding-block:clamp(16px,2vw,28px);display:grid}.takeaways li:last-child a{border-bottom:var(--border-width) solid var(--border)}.takeaways .d3{transition:color var(--dur-quick) var(--ease-settle);padding-block:.04em}@media (hover:hover){.takeaways a:hover .d3{color:var(--ink-2)}}.take-no{font-size:var(--ui-size);font-weight:var(--ui-weight);color:var(--ink-2);font-variant-numeric:tabular-nums}.case-d .ch.key>.take-no{margin-bottom:-16px}@media (width>=1024px){.case-d .ch.minor{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;display:grid}}.tour-bar{z-index:10;margin:clamp(24px, 3vw, 40px) calc(var(--gutter) * -1) 0;padding:8px var(--gutter);background:var(--page);border-bottom:var(--border-width) solid var(--border);align-items:center;gap:8px;display:flex;position:sticky;top:64px}.tour-btn{background:var(--layer-1);width:44px;height:44px;box-shadow:var(--shadow-rest);cursor:pointer;transition:box-shadow var(--dur-quick) var(--ease-settle);border:0;border-radius:50%;place-items:center;display:grid}@media (hover:hover){.tour-btn:hover{box-shadow:var(--shadow-lift)}}.tour-now{min-width:0;font-size:var(--ui-size);font-weight:var(--ui-weight);align-items:baseline;gap:2px;display:flex}.tour-of{color:var(--ink-2);margin-right:12px}.tour-name{min-width:0;font-size:var(--ui-size);font-weight:var(--ui-weight);overflow-wrap:anywhere;transition:opacity var(--dur-quick) var(--ease-settle), visibility 0s 0s;margin-left:8px}.tour-name.quiet{opacity:0;visibility:hidden;transition:opacity var(--dur-quick) var(--ease-settle), visibility 0s var(--dur-quick)}.tour-keys{font-size:var(--t-1);color:var(--ink-2);margin-left:auto}@media (width<=767px){.tour-keys{display:none}}.plate.crow{--row-gap:clamp(20px, 2.5vw, 32px);padding-top:clamp(56px,7vw,112px)}.plate-head{gap:4px;max-width:64rem;display:grid}.plate-line{color:var(--ink-2);max-width:64ch}.case-e .meta-wrap{padding-top:clamp(64px,8vw,128px)}.case-e #problem{padding-top:clamp(64px,8vw,112px)}::view-transition-group(*){animation-duration:var(--dur-base);animation-timing-function:var(--ease-settle)}::view-transition-old(root){animation-duration:var(--dur-quick)}::view-transition-group(hero-a),::view-transition-group(hero-b),::view-transition-group(hero-c),::view-transition-group(hero-d),::view-transition-group(hero-e),::view-transition-image-pair(hero-a),::view-transition-image-pair(hero-b),::view-transition-image-pair(hero-c),::view-transition-image-pair(hero-d),::view-transition-image-pair(hero-e),::view-transition-old(hero-a),::view-transition-old(hero-b),::view-transition-old(hero-c),::view-transition-old(hero-d),::view-transition-old(hero-e),::view-transition-new(hero-a),::view-transition-new(hero-b),::view-transition-new(hero-c),::view-transition-new(hero-d),::view-transition-new(hero-e){animation-delay:var(--dur-quick);animation-fill-mode:both}.rv-js.cl-view [data-reveal-view]:not(.rv-run):not(.rv-done){opacity:0;animation:0s 2.5s forwards cl-failsafe}.rv-js.cl-view [data-reveal-view].cl-held:not(.rv-run):not(.rv-done){animation:none}@keyframes cl-failsafe{to{opacity:1}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
