.lever{font-family:var(--font-display);font-size:var(--step-1);cursor:pointer;border-radius:999px;align-items:center;gap:.75rem;margin-top:2rem;padding:.4rem .6rem;font-weight:650;display:inline-flex}.lever-label{color:var(--ink-muted);transition:color .2s}.lever-label[data-on]{color:var(--ink)}.lever-track{background:var(--tint);width:3.4rem;height:1.7rem;box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--ink) 14%, transparent);border-radius:999px;position:relative}.lever-knob{background:var(--accent-deep);width:1.3rem;height:1.3rem;box-shadow:0 3px 6px -2px color-mix(in oklch, var(--ink) 50%, transparent);transition:translate .45s var(--ease-spring);border-radius:50%;position:absolute;top:.2rem;left:.2rem}.lever[aria-checked=true] .lever-knob{translate:1.7rem}.work-grid{perspective:1200px;grid-template-columns:repeat(auto-fit,minmax(min(100%,32rem),1fr));gap:1.25rem;margin-top:1.75rem;display:grid}.work-grid[hidden]{display:none}.case{background:var(--paper);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 10%, transparent);transition:box-shadow .3s, translate .35s var(--ease-spring);transform-style:preserve-3d;border-radius:18px;padding:1.4rem 1.5rem 1.5rem}.case:hover,.case:focus-within{box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 12%, transparent), 0 24px 40px -26px color-mix(in oklch, var(--ink) 55%, transparent);translate:0 -4px}.case-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.case-year{font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink-muted)}.mini-tiles{width:7rem;height:1.6rem}.case-title{font-family:var(--font-display);font-size:var(--step-2);margin-top:.4rem;font-weight:650;line-height:1.1}.case-title a{color:var(--ink);text-decoration:none}.case-title a:after{content:"";position:absolute;inset:0}.case{position:relative}.case-title a:focus-visible{outline:none}.case:has(.case-title a:focus-visible){outline:2px solid var(--accent-ink);outline-offset:3px}.case-problem{color:var(--ink);margin-top:.8rem}.case-problem span{background:color-mix(in oklch, var(--ramp-4) 35%, var(--paper));font-family:var(--font-pixel);font-size:var(--step--1);border-radius:5px;margin-right:.4rem;padding:.1rem .45rem;display:inline-block}.case-built{color:var(--ink-muted);gap:.3rem;margin-top:.8rem;padding-left:1.1rem;list-style:outside;display:grid}.case-spec{border-collapse:collapse;width:100%;font-size:var(--step--1);margin-top:1rem}.case-spec th{text-align:left;width:7rem;font-family:var(--font-pixel);color:var(--ink-muted);vertical-align:top;padding:.35rem 0;font-weight:400}.case-spec td{border-bottom:1px solid color-mix(in oklch, var(--ink) 8%, transparent);padding:.35rem 0}.case-stack{font-family:var(--font-mono);font-size:var(--step--1);flex-wrap:wrap;gap:.35rem;margin-top:1rem;list-style:none;display:flex}.case-stack li{background:var(--tint);border-radius:6px;padding:.15rem .5rem}.carousel{margin-top:1.75rem}.carousel-viewport{cursor:grab;touch-action:pan-y;border-radius:18px;overflow:hidden}.carousel-track{gap:1rem;width:max-content;display:flex}.carousel-slide{background:var(--tint);border-radius:18px;width:min(80vw,24rem);padding:1.4rem 1.5rem}.carousel-slide[aria-current=true]{box-shadow:inset 0 0 0 2px var(--accent)}.carousel-buttons{gap:.5rem;margin-top:.8rem;display:flex}.carousel-buttons button{background:var(--tint);cursor:pointer;border-radius:999px;padding:.45rem .9rem}.carousel-buttons button:disabled{opacity:.45;cursor:default}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.work-index{max-width:72rem;margin:0 auto;padding:7rem clamp(16px,4vw,3rem) 8rem}.work-index h1{font-family:var(--font-display);font-size:var(--step-4,var(--step-3));letter-spacing:-.03em;font-weight:750;line-height:1}.work-index-lead{max-width:34rem;font-size:var(--step-1);color:var(--ink-muted);margin:1rem 0 2.5rem}@media (max-width:767px){.work .work-grid{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:.9rem;margin-inline:calc(-1*clamp(16px,5vw,6rem));padding:.4rem clamp(16px,5vw,6rem) 1rem;display:flex;overflow-x:auto}.work .work-grid::-webkit-scrollbar{display:none}.work .work-grid>.case{scroll-snap-align:center;flex:0 0 86%}.work .work-grid[hidden]{display:none}}
