.pf{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"intro work""updates work";align-content:center;gap:0 clamp(40px,6vw,80px);padding-block:28px;display:grid}body:has(.pf){flex-direction:column;min-height:100svh;display:flex}body:has(.pf)>main{flex:1;width:100%}.intro{flex-direction:column;grid-area:intro;align-self:end;gap:18px;max-width:440px;display:flex}.intro h1{font-size:clamp(44px,6vw,72px)}.intro .lede{font-size:17px}.pf .label{font-size:10px}.intro-role{margin:0}.intro-list{border-bottom:1px solid var(--line);margin:6px 0 0;transition:border-color .6s}.intro-row{border-top:1px solid var(--line);grid-template-columns:92px minmax(0,1fr);align-items:baseline;gap:16px;padding:14px 0;transition:border-color .6s;display:grid}.intro-row dt{margin:0}.intro-row dd{min-width:0;margin:0}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips li{font:400 11px/1 var(--font-mono);border:1px solid var(--line);border-radius:6px;padding:6px 9px;transition:border-color .2s,transform .2s}.chips li:hover{border-color:var(--accent);transform:translateY(-2px)}.updates{grid-area:updates;align-self:start;max-width:440px}.updates-list{border-bottom:0;margin:0}.updates-list .intro-row{border-top:0}.pf .updates .updates-signup-fields{flex-wrap:nowrap}.pf .updates .updates-signup-email{flex-basis:0}.work{grid-area:work;align-self:center;min-width:0}.work-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:14px;display:flex}.work-head h2{margin:0}.work-head a{font:400 11px/1 var(--font-mono);color:var(--muted)}.work-head a:hover{color:var(--accent)}.projects{margin:0;padding:0;list-style:none}.project-link{grid-template-columns:2rem minmax(0,1fr) 3rem;align-items:baseline;gap:4px 16px;padding:14px 0;display:grid}.project-number,.project-year{font:500 10px/1 var(--font-mono);color:var(--muted);align-self:start;padding-top:6px;transition:color .2s}.project-year{font-variant-numeric:tabular-nums;font-weight:400}.project-side{flex-direction:column;align-self:start;align-items:flex-end;gap:6px;padding-top:6px;display:flex}.project-side .project-year{align-self:flex-end;padding-top:0}.project-stars{text-align:right;font:400 10.5px/1 var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-template-columns:13px minmax(2ch,max-content);align-items:center;column-gap:4px;display:grid}.project-stars svg{width:13px;height:13px;fill:var(--pop)}.project-text{min-width:0}.project-title{font:500 16px/1.3 var(--font-display);letter-spacing:-.01em;margin:0;transition:color .2s}.project-blurb{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5;display:block}.project-link:hover .project-title,.project-link:focus-visible .project-title,.project-link:hover .project-number{color:var(--accent)}@media (width>=951px) and (height<=820px){.pf{padding-block:16px}.intro{gap:12px}.intro h1{font-size:clamp(44px,5vw,60px)}.intro-row{padding-block:10px}.project-link{padding-block:11px}}@media (width<=650px){.intro .intro-row,.updates .intro-row{grid-template-columns:minmax(0,1fr);gap:10px}}@media (width<=950px){.pf{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""work""updates";align-content:start;padding-block:44px 56px}.work{margin-top:64px}.updates{border-top:1px solid var(--line);margin-top:24px;transition:border-color .6s}.intro,.updates{align-self:start;max-width:none}.intro-list{border-bottom:0}.intro .intro-row:last-child{padding-bottom:0}}.latest-review-row[data-astro-cid-5ebxyx43]{align-items:center}.latest-review[data-astro-cid-5ebxyx43]{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:8px 12px 8px 8px;transition:border-color .2s;display:flex}.latest-review[data-astro-cid-5ebxyx43]:hover{border-color:var(--accent)}.latest-review[data-astro-cid-5ebxyx43]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.latest-review-app[data-astro-cid-5ebxyx43]{align-items:center;gap:12px;min-width:0;display:flex}.latest-review-logo[data-astro-cid-5ebxyx43]{background:var(--brand);width:22px;height:22px;font:800 11px/1 var(--font-display);color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.latest-review-logo[data-astro-cid-5ebxyx43] img[data-astro-cid-5ebxyx43]{object-fit:cover;width:100%;height:100%}.latest-review-text[data-astro-cid-5ebxyx43]{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex}.latest-review-text[data-astro-cid-5ebxyx43] b[data-astro-cid-5ebxyx43]{font:500 12px/1.4 var(--font-mono);color:var(--fg)}.latest-review-text[data-astro-cid-5ebxyx43] span[data-astro-cid-5ebxyx43]{text-overflow:ellipsis;min-width:0;color:var(--muted);font-size:12.5px;line-height:1.5;overflow:hidden}.latest-review-number[data-astro-cid-5ebxyx43]{font:400 11px/1 var(--font-mono);letter-spacing:.06em;color:var(--muted);flex:none;align-items:center;gap:8px;transition:color .2s;display:flex}.latest-review-number[data-astro-cid-5ebxyx43] span[data-astro-cid-5ebxyx43]{font-size:13px}.latest-review[data-astro-cid-5ebxyx43]:hover .latest-review-number[data-astro-cid-5ebxyx43]{color:var(--accent)}.now-link[data-astro-cid-6qhywxpb]{border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}.now-link[data-astro-cid-6qhywxpb]:hover{color:var(--accent);border-color:var(--accent)}.building[data-astro-cid-yiwvgzye]{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}li[data-astro-cid-yiwvgzye]{grid-template-columns:7px minmax(0,1fr);align-items:start;gap:12px;display:grid}.dot-on[data-astro-cid-yiwvgzye]{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%;margin-top:5px;animation:2s ease-in-out infinite building-pulse}li[data-astro-cid-yiwvgzye] b[data-astro-cid-yiwvgzye]{font:500 12px/1.4 var(--font-mono);color:var(--fg);display:block}li[data-astro-cid-yiwvgzye] span[data-astro-cid-yiwvgzye]{color:var(--muted);max-width:44ch;margin-top:2px;font-size:12.5px;line-height:1.5;display:block}@keyframes building-pulse{50%{opacity:.4}}.work-preview{z-index:20;aspect-ratio:16/10;pointer-events:none;border:1px solid var(--line);background:var(--surface);opacity:0;border-radius:10px;width:300px;transition:opacity .15s;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-9999px);box-shadow:0 18px 40px -12px #0009}.work-preview.show{opacity:1}.work-preview-image{object-fit:cover;width:100%;height:100%;display:block}@media (hover:none){.work-preview{display:none}}
