.notebook-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;margin:0;padding:0;list-style:none;display:grid}.notebook-projects>li{min-width:0}.notebook-project{color:var(--color-ink);text-decoration:none;display:block}.notebook-project__preview{height:145px;color:var(--color-ink);align-items:center;margin:0 0 17px;display:flex}.notebook-project__preview svg{width:144px;height:135px;display:block}.project-diagram__connection{stroke:var(--color-faint);stroke-width:1px;opacity:.65}.project-diagram__replica{stroke-dasharray:2 4;opacity:.45}.project-diagram__node{fill:var(--color-paper);stroke:var(--color-faint);stroke-width:.9px}.project-diagram__leader{fill:var(--color-ink)}.project-diagram__ink{stroke:var(--color-paper);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.project-diagram__detail{stroke:var(--color-faint);stroke-width:.8px;stroke-linecap:round}.project-diagram__detail-dot{fill:var(--color-faint)}.project-diagram__request{stroke:var(--color-ink);stroke-width:1.2px;opacity:0;transition:opacity .18s}.notebook-project__body{min-width:0}.notebook-project h3{letter-spacing:-.025em;text-underline-offset:5px;width:fit-content;margin:0;font-size:22px;font-weight:500;line-height:1.3;text-decoration-thickness:1px}.notebook-project__description{color:var(--color-mute);margin:12px 0 16px;font-size:16px;line-height:1.65}.notebook-project__meta{gap:5px;font-size:14px;line-height:1.65;display:grid}.notebook-project__tags{-moz-column-gap:5px;color:var(--color-mute);flex-wrap:wrap;column-gap:5px;display:flex}.notebook-project__tags>span:not(:last-child):after{content:","}.notebook-project__status{color:var(--color-faint)}.notebook-project:hover h3,.notebook-project:focus-visible h3{text-decoration-line:underline}.notebook-project:hover .project-diagram__request,.notebook-project:focus-visible .project-diagram__request{opacity:1}.notebook-project:focus-visible{outline:2px solid var(--color-ink);outline-offset:8px}.notebook-role__heading{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px 24px;display:grid}.notebook-role__company{min-width:0}.notebook-role__heading h3,.notebook-role__heading h4{letter-spacing:-.015em;margin:0;font-size:18px;font-weight:500;line-height:1.45}.notebook-role__position{color:var(--color-mute);flex-wrap:wrap;gap:4px 14px;margin:3px 0 0;font-size:14px;line-height:1.65;display:flex}.notebook-role__position span{color:var(--color-faint)}.notebook-role__period{color:var(--color-faint);margin:0;font-size:14px;line-height:1.65}.notebook-role__highlights{color:var(--color-mute);gap:12px;margin:24px 0 0;padding-left:18px;font-size:16px;line-height:1.65;list-style-type:disc;display:grid}.notebook-role__highlights li{padding-left:4px}.notebook-role__highlights li::marker{color:var(--color-faint);font-size:8px}.notebook-work-details{margin-top:12px}.notebook-work-details>summary{width:fit-content;min-height:44px;color:var(--color-ink);cursor:pointer;align-items:center;gap:12px;font-size:14px;line-height:1.6;list-style:none;display:flex}.notebook-work-details>summary::-webkit-details-marker{display:none}.notebook-work-details>summary span{color:var(--color-faint);font-size:20px;line-height:1;transition:transform .18s}.notebook-work-details[open]>summary span{transform:rotate(45deg)}.notebook-work-details>summary:focus-visible{outline:2px solid var(--color-ink);outline-offset:5px}.notebook-work-details__body>.notebook-role__highlights{margin-top:4px}.notebook-role--earlier{margin-top:28px;padding-top:27px}.notebook-work-stack{max-width:65ch;color:var(--color-mute);margin:27px 0 0;font-size:14px;line-height:1.75}.notebook-work-stack>span{color:var(--color-ink);margin-bottom:3px;font-weight:500;display:block}@media (max-width:600px){.notebook-projects{grid-template-columns:minmax(0,1fr);gap:36px}.notebook-project{grid-template-columns:90px minmax(0,1fr);gap:14px;display:grid}.notebook-project__preview{grid-area:1/1;height:88px;margin:0}.notebook-project__preview svg{width:90px;height:84px}.notebook-project__body{display:contents}.notebook-project__heading{grid-area:1/2;align-self:center}.notebook-project__description{grid-column:1/-1;margin:0}.notebook-project__meta{grid-column:1/-1}.notebook-role__heading{grid-template-columns:minmax(0,1fr);gap:6px}.notebook-role__highlights{margin-top:20px}}@media (max-width:380px){.notebook-project{grid-template-columns:76px minmax(0,1fr);gap:12px}.notebook-project__preview{height:76px}.notebook-project__preview svg{width:76px;height:71px}.notebook-project h3{font-size:21px}}@media (prefers-reduced-motion:reduce){.project-diagram__request,.notebook-work-details>summary span{transition:none}}
.intro{-moz-column-gap:80px;grid-template-columns:minmax(0,1fr) 190px;grid-template-areas:"heading cat""copy cat""now now";align-items:start;column-gap:80px;display:grid}.intro-heading{grid-area:heading;padding-top:7px}.intro h1{letter-spacing:-.045em;font-size:36px;font-weight:500;line-height:1.2}.intro-role{margin-top:10px;font-size:18px;line-height:1.5}.intro-location{color:var(--color-faint);margin-top:4px;font-size:15px;line-height:1.6}.intro-copy{letter-spacing:-.015em;grid-area:copy;max-width:43ch;margin-top:24px;font-size:21px;line-height:1.55}.intro-companion{grid-area:cat;justify-self:end}.signature-mark{width:172px;max-width:100%;height:230px;margin:-6px 0 0}.current-note{-moz-column-gap:54px;grid-area:now;grid-template-columns:1fr 1fr;gap:20px 54px;margin-top:34px;display:grid}.current-note dt{color:var(--color-faint);font-size:14px;line-height:1.6}.current-note dd{margin-top:4px;font-size:16px;line-height:1.6}.current-note a{text-decoration:underline;-webkit-text-decoration-color:var(--color-line);text-decoration-color:var(--color-line)}.current-note a:hover{text-decoration-color:currentColor}.reference-cat{width:100%;height:100%;display:block;overflow:visible}.reference-cat__light{fill:#b4b8d4}.reference-cat__dark{fill:#8182a5}.reference-cat__pink{fill:#dfb9b9}.reference-cat__tail-coat{stroke:#8182a5;stroke-width:47px;stroke-linecap:round}.reference-cat__eye,.reference-cat__nose{fill:#414548}.reference-cat__smile,.reference-cat__leg-lines,.reference-cat__fur,.reference-cat__toes,.reference-cat__tail-stripes{stroke:#515572;stroke-linecap:round;stroke-linejoin:round}.reference-cat__smile{stroke:#414548;stroke-width:3.8px}.reference-cat__leg-lines{stroke-width:2.2px}.reference-cat__fur{stroke-width:2.4px}.reference-cat__toes{stroke-width:3px}.reference-cat__tail-stripes{stroke-width:3.7px}.reference-cat__whiskers{stroke:#acb0d0;stroke-width:2.8px;stroke-linecap:round}.reference-cat__shadow{fill:var(--color-ink);opacity:.05}@media (max-width:700px){.intro{-moz-column-gap:30px;grid-template-columns:minmax(0,1fr) 150px;column-gap:30px}.signature-mark{width:145px;height:194px;margin-top:6px}.intro-copy{font-size:20px}.current-note{-moz-column-gap:30px;column-gap:30px}}@media (max-width:600px){.intro{grid-template-columns:minmax(0,1fr) 112px;grid-template-areas:"heading cat""copy copy""now now";align-items:center;gap:0 18px}.intro-heading{padding-top:0}.intro h1{font-size:32px}.intro-role{max-width:19ch;margin-top:9px;font-size:16px;line-height:1.5}.intro-location{margin-top:5px;font-size:14px}.intro-copy{max-width:35ch;margin-top:22px;font-size:19px;line-height:1.6}.signature-mark{width:112px;height:150px;margin-top:-3px}.current-note{grid-template-columns:1fr;gap:17px;margin-top:25px}.current-note dd{margin-top:3px;font-size:16px}}@media (max-width:360px){.intro{grid-template-columns:minmax(0,1fr) 96px;gap:0 12px}.signature-mark{width:96px;height:132px}}
