@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{color-scheme:light dark;--paper:light-dark(#fbfaf8,#1b1d21);--surface:light-dark(#ffffff,#24262b);--ink:light-dark(#14161a,#f2f1ed);--dim:light-dark(#6b6e76,#a2a4ac);--faint:light-dark(#9a9ca3,#757880);--rule:light-dark(#dcd8ce,#32353b);--rule-strong:light-dark(#c6c2b7,#494d55);--signal:light-dark(#24509b,#8fb2ec);--signal-ink:light-dark(#1b3d78,#b4ccf3);--signal-soft:light-dark(#eaf0fa,#212c3e);--step--1:0.8125rem;--step-0:1rem;--step-1:1.125rem;--step-2:1.4375rem;--step-3:2rem;--hero:clamp(2.25rem,6.2vw,4rem);--gap:clamp(1rem,2.5vw,1.75rem);--band:clamp(3rem,6vw,5rem);--page:72rem;--rail:12rem;--rail-gap:clamp(2rem,4vw,3.5rem);--tl-label:11.5rem;--ease:cubic-bezier(0.22,0.61,0.36,1);--stack-sans:var(--font-sans),system-ui,sans-serif;--stack-mono:var(--font-mono),var(--font-sans),ui-monospace,monospace}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--stack-sans);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere;transition:background-color .4s var(--ease),color .4s var(--ease)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.022em;line-height:1.2}ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}.mono{font-family:var(--stack-mono);font-feature-settings:"tnum" 1}.eyebrow{font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.shell{width:100%;max-width:var(--page);margin:0 auto;padding-inline:clamp(1.25rem,5vw,3rem)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);transition:background-color .4s var(--ease)}.site-header__row{display:flex;align-items:center;gap:var(--gap);min-height:3.5rem}.site-header__name{font-weight:600;letter-spacing:-.02em;margin-right:auto}.site-header__nav{display:none;gap:1.25rem}@media (min-width:52rem){.site-header__nav{display:flex}}.site-header__nav a,.site-header__util a{font-size:var(--step--1);color:var(--dim);transition:color .15s var(--ease)}.site-header__nav a:hover,.site-header__util a:hover{color:var(--ink)}.site-header__nav a{position:relative}.site-header__nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.3rem;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left center;transition:transform .25s var(--ease)}.site-header__nav a:focus-visible:after,.site-header__nav a:hover:after{transform:scaleX(1)}.site-header__util{display:flex;align-items:center;gap:.85rem}.locale-switch{font-family:var(--stack-mono);font-size:var(--step--1);letter-spacing:.06em;padding:.2rem .5rem;border:1px solid var(--rule-strong);border-radius:999px;color:var(--dim)}.locale-switch:hover{border-color:var(--signal);color:var(--signal)}.theme-toggle{display:grid;place-items:center;width:1.75rem;height:1.75rem;padding:0;border:0;background:none;color:var(--dim);cursor:pointer;transition:color .15s var(--ease)}.theme-toggle:hover{color:var(--ink)}.theme-toggle svg{grid-area:1/1;width:1.05rem;height:1.05rem;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.theme-toggle__moon{stroke:light-dark(currentColor,transparent)}.theme-toggle__sun{stroke:light-dark(transparent,currentColor)}.hero{padding-block:clamp(3rem,9vw,6rem) var(--band)}.hero__title{display:grid;grid-gap:.1em;gap:.1em;margin-block:1.5rem 0}@media (min-width:64rem){.hero{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);grid-column-gap:var(--rail-gap);column-gap:var(--rail-gap);align-items:start}.hero__eyebrow{grid-area:1/1;padding-top:.75rem}.hero__title{grid-area:1/2;margin-block:0}.hero__lede{grid-area:2/2}}.hero__lead{max-width:18ch}.hero__emphasis,.hero__lead{font-size:clamp(2.25rem,6.4vw,4.5rem);letter-spacing:-.045em;line-height:1.05}.hero__emphasis{font-weight:600;color:var(--signal)}.hero__lede{margin-top:1.75rem;max-width:46ch;color:var(--dim);font-size:var(--step-1)}.figure{margin-top:clamp(1.75rem,3.5vw,2.5rem);padding-top:1.75rem;border-top:1px solid var(--rule);max-width:44rem}.figure__caption{color:var(--dim);font-size:var(--step--1);max-width:52ch}.figure__rows{margin-top:1.5rem;display:grid;grid-gap:1.1rem;gap:1.1rem}.dim-row{display:grid;grid-template-columns:minmax(6.5rem,auto) 1fr;align-items:center;grid-gap:.9rem;gap:.9rem}.dim-row__label{font-family:var(--stack-mono);font-size:var(--step--1);color:var(--dim);text-align:right}@media (max-width:30rem){.dim-row{grid-template-columns:1fr;gap:.3rem}.dim-row__label{text-align:left}}.dim-row__track{position:relative;display:flex;align-items:center;gap:.7rem}.dim-row__bar{position:relative;height:.55rem;border-radius:1px;transform-origin:left center;animation:draw 1.5s var(--ease) both}.dim-row__bar:after,.dim-row__bar:before{content:"";position:absolute;top:-.35rem;bottom:-.35rem;width:1px;background:currentColor;opacity:.55}.dim-row__bar:before{left:0}.dim-row__bar:after{right:0}.dim-row--baseline .dim-row__bar{background:var(--rule-strong);color:var(--rule-strong);animation-duration:1.6s}.dim-row--actual .dim-row__bar{background:var(--signal);color:var(--signal);animation-duration:.42s;animation-delay:1.5s}.dim-row__value{font-family:var(--stack-mono);font-size:var(--step-1);white-space:nowrap;animation:fade .4s var(--ease) both}.dim-row--baseline .dim-row__value{color:var(--dim);animation-delay:1.1s}.dim-row--actual .dim-row__value{color:var(--signal);font-weight:600;animation-delay:1.85s}@keyframes draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.band{padding-block:var(--band);border-top:1px solid var(--rule);scroll-margin-top:3.5rem}.band__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:clamp(2rem,4.5vw,3rem)}.band__title{position:relative;font-size:clamp(1.625rem,3.2vw,2.125rem);letter-spacing:-.035em;padding-top:1rem}.band__title:before{content:"";position:absolute;top:0;left:0;width:1.75rem;height:2px;background:var(--signal)}.subhead{margin:clamp(2.5rem,5vw,3.5rem) 0 1.25rem;font-size:var(--step-2);letter-spacing:-.025em;color:var(--dim)}.band__note{font-size:var(--step--1);color:var(--faint);margin-left:auto;text-align:right;max-width:34ch;line-height:1.5}@media (min-width:64rem){.band{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);grid-column-gap:var(--rail-gap);column-gap:var(--rail-gap);align-items:start}.band__head{display:block;position:-webkit-sticky;position:sticky;top:5rem;margin-bottom:0}.band__title{font-size:clamp(1.5rem,1.9vw,1.75rem)}.band__note{margin:.9rem 0 0;text-align:left;max-width:none}}.timeline{overflow-x:auto;padding-bottom:.5rem}.timeline__inner{min-width:34rem}.timeline__axis{position:relative;height:1.35rem;border-bottom:1px solid var(--rule-strong);margin-left:var(--tl-label)}.timeline__tick{position:absolute;bottom:0;transform:translateX(-50%);font-family:var(--stack-mono);font-size:var(--step--1);color:var(--faint);padding-bottom:.2rem}.timeline__tick:after{content:"";position:absolute;left:50%;bottom:-.3rem;width:1px;height:.3rem;background:var(--rule-strong)}.tl-row{display:grid;grid-template-columns:var(--tl-label) 1fr;align-items:center;grid-gap:.75rem;gap:.75rem;padding-block:.28rem}.tl-row__label{font-size:var(--step--1);color:var(--dim);text-align:right;line-height:1.35}.tl-row__track{position:relative;height:1.35rem}.tl-row__bar{position:absolute;top:50%;translate:0 -50%;height:.5rem;min-width:3px;border-radius:1px;background:var(--rule-strong)}.tl-row--work .tl-row__bar{background:var(--signal)}.tl-row--service .tl-row__bar{background:transparent;border:1px dashed var(--rule-strong);height:.7rem}.tl-row__dur{position:absolute;top:50%;translate:0 -50%;font-size:.6875rem;color:var(--faint);white-space:nowrap;font-feature-settings:"tnum" 1}.tl-row__dur--after{padding-left:.45rem}.tl-row__dur--before{padding-right:.45rem;text-align:right;color:var(--paper)}.tl-row--contract .tl-row__dur--before,.tl-row--service .tl-row__dur--before{color:var(--ink)}.timeline__legend{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1.25rem;margin-left:var(--tl-label);font-size:var(--step--1);color:var(--faint)}.timeline__legend span{display:inline-flex;align-items:center;gap:.4rem}.swatch{width:1.1rem;height:.4rem;border-radius:1px;background:var(--rule-strong)}.swatch--work{background:var(--signal)}.swatch--service{background:transparent;border:1px dashed var(--rule-strong);height:.6rem}.entry{display:grid;grid-gap:.85rem;gap:.85rem;padding-block:clamp(1.5rem,3vw,2.25rem);border-top:1px solid var(--rule)}.entry:first-child{border-top:0;padding-top:0}@media (min-width:52rem){.entry{grid-template-columns:14rem 1fr;gap:2.5rem}}.entry__meta{display:grid;grid-gap:.2rem;gap:.2rem;align-content:start}.entry__company{font-weight:600;font-size:var(--step-1);letter-spacing:-.02em}.entry__role{color:var(--dim);font-size:var(--step--1)}.entry__period{font-family:var(--stack-mono);font-size:var(--step--1);color:var(--faint)}.entry__summary{color:var(--dim);border-left:2px solid var(--signal);padding-left:.9rem;margin-bottom:.25rem}.entry__group{margin-top:1rem}.entry__group-label{font-size:var(--step--1);font-weight:600;color:var(--ink);margin-bottom:.35rem}.bullets li{position:relative;padding-left:1rem;margin-top:.3rem}.bullets li:before{content:"";position:absolute;left:0;top:.72em;width:.4rem;height:1px;background:var(--rule-strong)}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.1rem}.tag{font-family:var(--stack-mono);font-size:.75rem;color:var(--dim);border:1px solid var(--rule);border-radius:999px;padding:.12rem .55rem}.work{display:grid;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}@media (min-width:46rem){.work{grid-template-columns:repeat(2,1fr)}}.work__item{display:flex;flex-direction:column;gap:.45rem;background:var(--paper);padding:1.75rem 1.6rem 1.6rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .15s var(--ease),box-shadow .15s var(--ease)}.work__item:focus-visible,.work__item:hover{background:var(--surface);box-shadow:inset 2px 0 0 var(--signal)}.work__outcome{position:relative;padding-left:.85rem;font-size:var(--step-1);font-weight:600;letter-spacing:-.015em;color:var(--signal)}.work__outcome:before{content:"";position:absolute;left:0;top:.82em;width:.45rem;height:2px;background:var(--signal)}.work__name{font-size:var(--step-2);letter-spacing:-.028em;margin-top:.35rem}.work__title{color:var(--dim);font-size:var(--step--1);line-height:1.55}.work__foot{display:grid;grid-gap:.3rem;gap:.3rem;margin-top:auto;padding-top:1.5rem;font-family:var(--stack-mono);font-size:.75rem;color:var(--faint)}.work__where{color:var(--dim)}.work__tech{color:var(--faint)}.worklist{border-top:1px solid var(--rule)}.worklist__row{display:grid;grid-gap:.1rem 1.25rem;gap:.1rem 1.25rem;padding-block:.85rem;border-bottom:1px solid var(--rule);transition:color .15s var(--ease)}@media (min-width:46rem){.worklist__row{grid-template-columns:minmax(0,1fr) 15.5rem 11.5rem;align-items:baseline;padding-right:1.75rem}}.worklist__row:hover .worklist__name{color:var(--signal)}.worklist__name{font-weight:500;transition:color .15s var(--ease)}.worklist__where{font-family:var(--stack-mono);font-size:var(--step--1);color:var(--faint);white-space:nowrap}.worklist__outcome{font-size:var(--step--1);color:var(--dim)}.roster{border-top:1px solid var(--rule)}.roster__row{display:grid;grid-gap:.15rem 1.25rem;gap:.15rem 1.25rem;padding-block:1rem;border-bottom:1px solid var(--rule)}.roster__company{font-weight:600;letter-spacing:-.02em}.roster__role{font-size:var(--step--1);color:var(--dim)}.roster__period{font-family:var(--stack-mono);font-size:var(--step--1);color:var(--faint)}.roster__dur:before{content:" · "}.roster__summary{margin-top:.35rem;font-size:var(--step--1);color:var(--dim);max-width:62ch}@media (min-width:52rem){.roster__row{grid-template-columns:10.5rem minmax(0,1fr) auto;align-items:baseline}.roster__period{text-align:right}.roster__summary{grid-column:2/-1;margin-top:.5rem}}.rows{border-top:1px solid var(--rule)}.row{display:grid;grid-gap:.15rem 1.5rem;gap:.15rem 1.5rem;padding-block:.7rem;border-bottom:1px solid var(--rule)}@media (min-width:40rem){.row{grid-template-columns:13rem 1fr;align-items:baseline}}.row__label{font-family:var(--stack-mono);color:var(--dim)}.row__label,.row__value{font-size:var(--step--1)}.row__value{line-height:1.7}.row__value em{font-style:normal;color:var(--signal);font-weight:600}.detail{padding-block:clamp(2.5rem,6vw,4rem) var(--band)}.back{font-family:var(--stack-mono);font-size:var(--step--1);color:var(--dim)}.back:hover{color:var(--signal)}.detail__title{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.035em;margin-top:1.1rem}.detail__subtitle{margin-top:.85rem;color:var(--dim);font-size:var(--step-1);max-width:46ch}.detail__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1.25rem;font-family:var(--stack-mono);font-size:var(--step--1);color:var(--faint)}.block{padding-block:clamp(1.75rem,4vw,2.5rem);border-top:1px solid var(--rule);display:grid;grid-gap:.8rem;gap:.8rem}@media (min-width:52rem){.block{grid-template-columns:var(--rail) minmax(0,1fr);column-gap:var(--rail-gap)}}.block__label{font-family:var(--stack-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.block__body p{max-width:62ch}.result li{position:relative;padding-left:1.1rem;margin-top:.45rem;font-size:var(--step-1)}.result li:before{content:"";position:absolute;left:0;top:.7em;width:.55rem;height:2px;background:var(--signal)}.detail__links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.1rem;font-size:var(--step--1);color:var(--signal)}.shots{display:grid;grid-gap:1.5rem;gap:1.5rem;padding-block:clamp(1.75rem,4vw,2.5rem);border-top:1px solid var(--rule)}.shots img{width:100%;height:auto;border:1px solid var(--rule);border-radius:2px}.shots figcaption{margin-top:.6rem;font-size:var(--step--1);color:var(--faint)}.onward{display:grid;grid-gap:.25rem;gap:.25rem;margin-top:clamp(2.5rem,6vw,4rem);padding:1.5rem;border:1px solid var(--rule);transition:border-color .15s var(--ease),background .15s var(--ease)}.onward:hover{border-color:var(--signal);background:var(--signal-soft)}.onward__label{font-family:var(--stack-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.onward__name{font-size:var(--step-2);font-weight:600;letter-spacing:-.025em}.onward__outcome{font-size:var(--step--1);color:var(--signal)}@keyframes rise{0%{opacity:0;transform:translateY(.9rem)}to{opacity:1;transform:none}}.hero__emphasis,.hero__eyebrow,.hero__lead,.hero__lede{animation:rise .85s var(--ease) both}.hero__eyebrow{animation-delay:.05s}.hero__lead{animation-delay:.16s}.hero__emphasis{animation-delay:.29s}.hero__lede{animation-delay:.46s}.back,.detail__meta,.detail__subtitle,.detail__title{animation:rise .7s var(--ease) both}.back{animation-delay:.04s}.detail__title{animation-delay:.12s}.detail__subtitle{animation-delay:.24s}.detail__meta{animation-delay:.34s}.js .reveal{opacity:0;transform:translateY(1.1rem);transition:opacity .7s var(--ease),transform .7s var(--ease)}.js .reveal.is-in{opacity:1;transform:none}.js .reveal:has(.work){opacity:1;transform:none;transition:none}.js .reveal:has(.work) .work__item{opacity:0}.js .reveal.is-in .work__item{animation:rise .6s var(--ease) both}.js .reveal.is-in .work__item:nth-child(2){animation-delay:.07s}.js .reveal.is-in .work__item:nth-child(3){animation-delay:.14s}.js .reveal.is-in .work__item:nth-child(4){animation-delay:.21s}.js .reveal.is-in .work__item:nth-child(5){animation-delay:.28s}.js .reveal.is-in .work__item:nth-child(6){animation-delay:.35s}.js .timeline .tl-row__bar{transform:scaleX(0);transform-origin:left center;transition:transform .85s var(--ease)}.js .timeline.is-in .tl-row__bar{transform:scaleX(1)}.js .timeline .tl-row__dur{opacity:0;transition:opacity .4s var(--ease)}.js .timeline.is-in .tl-row__dur{opacity:1}.work__item{position:relative}.work__item:after{content:"→";position:absolute;right:1.4rem;bottom:1.35rem;font-family:var(--stack-mono);color:var(--signal);opacity:0;transform:translateX(-.35rem);transition:opacity .2s var(--ease),transform .25s var(--ease)}.work__item:focus-visible:after,.work__item:hover:after{opacity:1;transform:none}.worklist__row{position:relative}.worklist__row:after{content:"→";position:absolute;right:0;top:.85rem;font-family:var(--stack-mono);color:var(--signal);opacity:0;transform:translateX(-.35rem);transition:opacity .2s var(--ease),transform .25s var(--ease)}.worklist__row:focus-visible:after,.worklist__row:hover:after{opacity:1;transform:none}.lead{font-size:var(--step-2);line-height:1.5;letter-spacing:-.02em;max-width:34ch}.block--problem .lead{color:var(--ink)}.block--impact{background:var(--signal-soft);margin-inline:calc(-1 * clamp(1.25rem, 5vw, 3rem));padding-inline:clamp(1.25rem,5vw,3rem)}.block--impact .lead{color:var(--signal)}.steps{counter-reset:step;display:grid;grid-gap:.85rem;gap:.85rem}.steps li{position:relative;counter-increment:step;padding-left:2.25rem;max-width:62ch}.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:.15em;font-family:var(--stack-mono);font-size:var(--step--1);color:var(--faint)}.site-footer{border-top:1px solid var(--rule);padding-block:2.5rem 3.5rem;display:grid;grid-gap:.7rem;gap:.7rem;font-size:var(--step--1);color:var(--dim)}.site-footer a:hover{color:var(--signal)}.site-footer__links{display:flex;flex-wrap:wrap;gap:1.1rem}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}html{scroll-behavior:auto}}