.work-intro{padding-top:clamp(44px,6.4vw,96px)}.work-intro .display{font-size:clamp(3.6rem,10vw,8.75rem)}.intro-actions{flex-wrap:wrap;align-items:center;gap:10px 26px;display:flex}.cv-download{font:500 11.5px / 1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:normal;white-space:nowrap;color:var(--ink);border:1px solid var(--ink);border-radius:2px;align-items:center;gap:.6em;padding:9px 14px 8px;transition:color .2s,background-color .2s;display:inline-flex}.cv-download:hover,.cv-download:focus-visible{color:var(--paper);background:var(--ink)}.cv-section{gap:24px var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));margin-top:clamp(80px,9vw,140px);display:grid}.cv-label{grid-column:1/span 3}.cv-label-inner{top:calc(var(--header-h) + 28px);border-top:1px solid var(--ink);padding-top:14px;position:sticky}.cv-label .num{font:500 11.5px / 1 var(--mono);letter-spacing:.08em;color:var(--ink-2);font-variant-numeric:normal;display:block}.cv-label h2{letter-spacing:-.024em;margin-top:14px;font-size:clamp(2rem,3.2vw,2.875rem);font-weight:340;line-height:1.02}.cv-body{grid-column:4/span 9}.paper{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr);grid-template-areas:"head""more";column-gap:clamp(24px,3vw,48px);padding-top:14px;display:grid}.paper.has-fig{grid-template:"fig head""fig more"1fr/minmax(0,5fr) minmax(0,6fr)}.paper-fig{grid-area:fig;align-self:start}.paper-head{grid-area:head}.paper-more{grid-area:more}.paper-title{letter-spacing:-.022em;margin-top:4px;font-size:clamp(1.9rem,2.8vw,2.5rem);font-weight:360;line-height:1.06}.paper-authors{color:var(--ink-2);margin-top:16px;font-size:17.5px}.paper-tldr{max-width:40ch;margin-top:18px;font-size:20px;line-height:1.5}.paper-head .link-row{margin-top:20px}.zoom{vertical-align:-.02em;width:.78em;height:.78em;transition:transform .35s var(--ease);display:inline-block}a:hover .zoom,a:focus-visible .zoom{transform:scale(1.18)}.fold{border-bottom:1px solid var(--rule)}.fold:first-child{border-top:1px solid var(--rule);margin-top:30px}.fold summary{cursor:pointer;font:500 11.5px / 1 var(--mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;list-style:none;transition:color .2s;display:flex}.fold summary:hover{color:var(--accent)}.fold summary::-webkit-details-marker{display:none}summary .pm{flex:none;width:12px;height:12px;position:relative}summary .pm:before,summary .pm:after{content:"";height:1px;transition:transform .35s var(--ease);background:currentColor;position:absolute;top:50%;left:0;right:0}summary .pm:after{transform:rotate(90deg)}details[open]>summary .pm:after{transform:rotate(0)}.fold-body{padding:2px 0 26px}.paper-cite{margin-top:22px}.paper-proceedings{max-width:56ch;color:var(--ink-2);text-wrap:pretty;margin-top:6px;font-size:16.5px;line-height:1.55}.paper-proceedings strong{color:var(--ink);font-weight:600}.fold-text{color:var(--ink);hyphens:auto;max-width:64ch;font-size:17px;line-height:1.68}.fig{margin:0}.fold .fig{padding-top:4px}.fig-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fig-legend{font:400 10.5px / 1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;gap:4px 16px;margin-top:14px;display:flex}.fig-legend .k{align-items:center;gap:7px;display:inline-flex}.fig-legend svg{width:18px;height:10px;overflow:visible}.fig-plot{touch-action:pan-y;margin-top:10px}.fig-read{min-height:1.5em;font:400 12px / 1.5 var(--mono);letter-spacing:.04em;color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:10px}.fig-read b{color:var(--ink);font-weight:500}.fig figcaption{border-top:1px solid var(--rule);text-wrap:pretty;margin-top:14px;padding-top:12px;font-size:16.5px;line-height:1.55}.fig figcaption .src{font:400 10.5px / 1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-top:8px;display:block}.fig figcaption .src:first-child{margin-top:0}.step{border-top:1px solid var(--rule);grid-template-columns:150px minmax(0,1fr);gap:20px;padding:16px 0 18px;display:grid;position:relative}.step:first-child{border-top:0;padding-top:6px}.step:before{content:"";width:var(--prog,0%);background:var(--ink);height:1px;position:absolute;top:-1px;left:0}.step-glyph{align-self:start;width:150px;transition:opacity .4s;display:block}.step-glyph svg{width:100%;height:auto;display:block;overflow:visible}.steps.is-playing .step:not(.is-on) .step-glyph{opacity:.4}.step h4{letter-spacing:-.01em;margin-top:6px;font-size:19px;font-weight:460;line-height:1.25}.step p:not(.label){color:var(--ink-2);margin-top:6px;font-size:16px;line-height:1.5}.g-cell{fill:var(--ink);transition:opacity .35s}.g-bar{transform-box:fill-box;transform-origin:50% 100%}.rows{margin-top:clamp(48px,5vw,72px)}.rows-flush{margin-top:0}.rows-label{padding-bottom:12px;display:block}.row{gap:10px var(--gap);border-top:1px solid var(--rule);grid-template-columns:minmax(0,3fr) minmax(0,9fr);padding:26px 0 28px;display:grid}.row:last-child{border-bottom:1px solid var(--rule)}.row-when{color:var(--ink);font-variant-numeric:lining-nums tabular-nums;padding-top:3px;font-size:16.5px;line-height:1.45}.row-when .loc{color:var(--ink-2);margin-top:2px;font-size:15.5px;font-style:italic;display:block}.row-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.row-title{letter-spacing:-.01em;font-size:clamp(1.3rem,1.7vw,1.5rem);font-weight:460;line-height:1.25}.row-org{color:var(--ink-2);margin-top:3px;font-size:17px;font-style:italic}.row-summary{max-width:62ch;margin-top:12px;font-size:17.5px;line-height:1.6}.row-bullets{gap:7px;max-width:64ch;margin-top:12px;display:grid}.row-bullets li{color:var(--ink-2);text-wrap:pretty;padding-left:22px;font-size:16.5px;line-height:1.58;position:relative}.row-bullets li:before{content:"";background:var(--rule-2);width:10px;height:1px;position:absolute;top:.82em;left:0}.row-facts{flex-wrap:wrap;gap:4px 26px;max-width:64ch;margin-top:10px;display:flex}.row-facts div{align-items:baseline;gap:9px;min-width:0;display:flex}.row-facts dt{font:500 10.5px / 1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink);flex:none}.row-facts dd{color:var(--ink-2);font-size:16.5px;line-height:1.5}.row-more{margin-top:10px}.row-more summary{cursor:pointer;font:500 11px / 1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:10px;padding:6px 0 5px;list-style:none;transition:color .2s;display:inline-flex}.row-more summary:hover{color:var(--accent)}.row-more summary::-webkit-details-marker{display:none}.row-more .pm{width:9px;height:9px}.row-more .row-bullets{margin-top:8px}.row-course{gap:12px;max-width:68ch;margin-top:12px;display:grid}.row-course div{color:var(--ink-2);text-wrap:pretty;font-size:16.5px;line-height:1.6}.row-course .k{font:500 10.5px / 1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink);margin-bottom:2px;display:block}.row-id{position:relative}.row-id>.logo{right:calc(100% + var(--gap));position:absolute;top:50%;transform:translateY(-50%)}.row.has-logo .row-when{padding-right:72px}.skill-group{gap:10px var(--gap);border-top:1px solid var(--rule);grid-template-columns:minmax(0,3fr) minmax(0,9fr);padding:20px 0 22px;display:grid}.skill-group:last-child{border-bottom:1px solid var(--rule)}.skill-group .label{padding-top:3px}.skill-group ul{flex-wrap:wrap;gap:2px 28px;display:flex}.skill-group li{font:400 14px / 1.85 var(--mono);color:var(--ink);font-variant-numeric:normal}.skill-group li .sub{color:var(--ink-2)}@media (width<=1100px){.work-intro .display{font-size:clamp(3.6rem,16vw,8.75rem)}.cv-label,.cv-body{grid-column:1/-1}.cv-label-inner{align-items:baseline;gap:20px;display:flex;position:static}.cv-label h2{margin-top:0}.row.has-logo .row-when{padding-right:0}.row-main{grid-template-columns:56px minmax(0,1fr);align-content:start;column-gap:16px;display:grid}.row-id,.row-idtext,.row-head{display:contents}.row-id>.logo{grid-area:1/1/span 2;align-self:center;position:static;transform:none}.row-title{grid-area:1/2;align-self:end}.row-org{grid-area:2/2;align-self:start}.row:not(.has-logo) .row-title,.row:not(.has-logo) .row-org,.row-summary,.row-facts,.row-more,.row-course{grid-column:1/-1}.row-more{order:10}.row-head .mono-link{order:9;grid-column:1/-1;justify-self:start;margin-top:16px}}@media (width<=760px){.work-intro{padding-top:36px}.work-intro .intro-row{flex-direction:column;align-items:stretch}.work-intro .toc{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;display:grid}.paper.has-fig{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""fig""more"}.paper-fig{margin-top:30px}.step{grid-template-columns:124px minmax(0,1fr);gap:16px}.step-glyph{width:124px}.row{grid-template-columns:minmax(0,1fr);gap:12px;padding:22px 0 24px}.row-when .loc{display:inline}.row-when .loc:before{content:" · ";color:var(--rule-2)}.row-main{grid-template-columns:46px minmax(0,1fr);column-gap:14px}.row .logo{border-radius:6px;width:46px;height:46px;padding:5px}.row .logo.is-bleed{padding:0}.skill-group{grid-template-columns:minmax(0,1fr);gap:8px}.skill-group ul{gap:0 22px}}@media print{@page{margin:16mm 18mm}.intro-row,.paper-fig,.fold.is-visual,.row-more summary,[data-poster]{display:none!important}.cv-section{break-inside:auto;margin-top:8mm}.cv-label-inner{position:static}.row{break-inside:avoid;padding:3mm 0}.paper,.paper.has-fig{grid-template-columns:1fr;grid-template-areas:"head""more"}.logo{border-color:#ddd}}
