:root{color:#333;background:#eeeeea;font-family:Geist,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #eeeeea;--ink: #333333;--muted: #6a6a66}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,a{color:inherit;font:inherit}.page-shell{min-height:100vh;width:100%;padding:2in max(8px,calc(clamp(20px,4vw,56px) - .5in)) 64px;display:flex;justify-content:center;align-items:start}.content-block{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title nav" "bio nav" "links links";column-gap:56px;row-gap:24px;width:100%;max-width:620px;margin-inline:auto;flex:0 1 620px}.site-title{grid-area:title}.section-nav{grid-area:nav;display:grid;gap:10px;justify-items:end;align-self:start}.bio-copy{grid-area:bio;display:grid;gap:16px;padding-bottom:24px;border-bottom:1px solid #d2d2cc}.links{grid-area:links;display:flex;gap:22px}.contact-link-wrap{position:relative;display:inline-block}.copy-toast{position:absolute;left:50%;top:100%;transform:translate(-50%) scale(.55);transform-origin:center top;padding:1px 4px;color:var(--ink);font-size:10px;line-height:1.2;white-space:nowrap;background:#eeeeeaf2;border:1px solid var(--muted);border-radius:4px;opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease}.copy-toast.is-active{transform:translate(-50%,12px) scale(1);opacity:1}h1,.site-title,p{margin:0}h1,.site-title{color:var(--ink);font-size:19px;font-weight:650;line-height:1.3;letter-spacing:0}.site-title{padding:0;border:0;background:transparent;text-align:left;text-decoration:none;cursor:pointer}.travel-map{width:100%;max-width:640px;margin-top:8px;opacity:.88;mix-blend-mode:multiply}p,.section-button,.links a,.contact-link,.bio-link{font-size:17px;line-height:1.55;letter-spacing:0}p{color:var(--ink)}.section-button{padding:0;color:var(--muted);background:transparent;border:0;text-decoration:none;text-transform:lowercase;cursor:pointer;white-space:nowrap}.section-button:hover,.section-button.is-active,.links a,.contact-link{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.contact-link{padding:0;background:transparent;border:0;cursor:pointer}.contact-link.is-active{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.bio-link{padding:0;color:var(--ink);background:transparent;border:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}.experience-list{display:grid;gap:24px}.experience-entry{display:grid;gap:8px}.experience-entry a{color:var(--ink);font-size:19px;font-weight:650;line-height:1.3;text-decoration:none}.experience-entry a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.experience-description{color:var(--muted);font-size:17px;line-height:1.55}.experience-position{font-style:italic}.gallery-page-shell{min-height:100vh;padding:40px clamp(16px,4vw,56px) 56px}.gallery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:56px}.gallery-toggle{display:flex;gap:22px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.gallery-column{display:grid;gap:18px;align-content:start}.gallery-item{margin:0;position:relative}.gallery-item img{display:block;width:100%;height:auto}.gallery-caption{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;padding:14px;color:#fff;font-size:19px;line-height:1.35;background:linear-gradient(180deg,#0000,#0000009e);opacity:0;pointer-events:none;transition:opacity .16s ease}.gallery-item:hover .gallery-caption,.gallery-item:focus-within .gallery-caption{opacity:1}.gallery-empty{color:var(--muted)}.gallery-empty-wrap{display:grid;min-height:50vh;place-items:center}@media(max-width:720px){.page-shell{padding:2in max(8px,calc(24px - .5in)) 64px}.content-block{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title nav" "bio bio" "links links";column-gap:24px;row-gap:21px}.section-nav{display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;justify-content:flex-end;align-self:start}.gallery-page-shell{padding:28px 24px 48px}.gallery-header{margin-bottom:40px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.git-activity{position:relative;display:grid;justify-items:center;gap:14px;width:100%;padding-block:24px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.git-activity::-webkit-scrollbar{display:none}.git-activity-count{color:var(--ink);text-align:center;animation:git-count-pop .42s ease}.git-activity-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,8px);grid-auto-columns:8px;gap:3px;width:max-content;max-width:100%}.git-activity-cell{position:relative;display:block;width:8px;height:8px;border-radius:2px}.git-activity-cell:after{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:2;transform:translate(-50%) translateY(2px);padding:3px 6px;color:var(--bg);font-size:11px;line-height:1.2;white-space:nowrap;content:attr(data-tooltip);background:var(--ink);border-radius:3px;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.git-activity-cell:hover:after{transform:translate(-50%) translateY(0);opacity:1}.git-activity-cell.is-dark{background:#246b38}.git-activity-cell.is-medium{background:#6fb56f}@keyframes git-count-pop{0%{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
