:root{color-scheme:light;--bg: #f5f3ec;--fg: #1d1e1a;--muted: #6c6d65;--faint: #d6d4cb;--rule: #e2e0d6;--accent: #5a3210;--chip: #ece9dd;--heading: #5a3210;--cursor: #8a5a2b;--key-border: #d6d2c2;--key-bottom: #b8b2a0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:var(--bg);color:var(--fg)}*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--bg);color:var(--fg);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{background:#5a32102e}a{color:inherit;text-decoration:none;transition:color .14s,border-color .14s}a:hover{color:var(--accent)}.site-shell{width:min(100%,760px);margin:0 auto;padding:48px 56px 80px}.hero{padding:40px 0 56px;border-bottom:1px dashed var(--rule)}.hero__title{min-height:48px;margin:0 0 10px;color:var(--heading);font-family:JetBrains Mono,monospace;font-size:clamp(2.55rem,8vw,3rem);font-weight:500;letter-spacing:-.03em;line-height:1}.hero__location{display:flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--muted);font-size:12px}.pin{display:inline-block;flex:0 0 auto;transform:translateY(1px)}.hero__lede,.about-copy,.work-row__body{font-family:Inter Tight,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.005em}.hero__lede{max-width:560px;margin:0;color:var(--fg);font-size:16px;line-height:1.55}.cursor,.quote-cursor{display:inline-block;margin-left:4px;background:var(--cursor);vertical-align:-1px;animation:blink 1.1s step-end infinite}.cursor{width:7px;height:13px}.quote-cursor{width:5px;height:11px}.section{padding:56px 0;border-bottom:1px dashed var(--rule)}.section__title{display:flex;align-items:center;gap:10px;min-height:14px;margin:0 0 28px;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:.04em}.section__title span{color:var(--accent)}.about-copy{margin:0;color:var(--fg);font-size:15px;line-height:1.65;text-wrap:pretty}.work-list,.experience-list{display:grid}.work-row{display:flex;gap:16px;padding:12px 0;border-radius:3px;opacity:0;transform:translateY(8px);transition:opacity .5s ease var(--delay, 0ms),transform .5s cubic-bezier(.5,0,0,1) var(--delay, 0ms)}.work-row.is-visible,.experience-row.is-visible{opacity:1;transform:translateY(0)}.work-row__number{min-width:28px;padding-top:2px;color:var(--muted);font-size:12px;transition:color .18s,transform .22s cubic-bezier(.5,0,0,1)}.work-row:hover .work-row__number{color:var(--accent);transform:translate(2px)}.work-row__body{flex:1;margin:0;font-size:15px;line-height:1.5}.strong-link{position:relative;display:inline-block;color:var(--fg);font-weight:600;cursor:default;transition:color .18s}.text-link{cursor:pointer}.strong-link:after{content:"";position:absolute;right:0;bottom:-2px;left:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .32s cubic-bezier(.5,0,0,1)}.strong-link:hover{color:var(--heading)}.strong-link:hover:after{transform:scaleX(1)}.muted{color:var(--muted)}.dm-key{display:inline-flex;align-items:baseline;gap:6px;margin-top:28px;padding:9px 14px 10px;border:1px solid var(--key-border);border-bottom-color:var(--key-bottom);border-radius:5px;background:var(--chip);box-shadow:0 2px 0 0 var(--key-bottom),0 3px 6px -2px #00000014;color:var(--fg);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:12px;text-decoration:none;transform:translateY(0);transition:transform .12s cubic-bezier(.5,0,0,1),box-shadow .12s ease,background .16s ease;user-select:none;white-space:nowrap}.dm-key:hover{background:#f0ecdf;box-shadow:0 4px 0 0 var(--key-bottom),0 8px 14px -4px #0000001f;color:var(--fg);transform:translateY(-2px)}.dm-key:active{box-shadow:0 0 0 0 var(--key-bottom),0 1px 2px -1px #00000014;transform:translateY(2px);transition:transform 60ms ease,box-shadow 60ms ease}.dm-key__slash{color:var(--muted)}.dm-key__text{color:var(--accent);font-weight:500}.dm-key:hover .dm-key__text{color:var(--heading)}.experience-row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;padding:14px 0;border-top:1px dashed var(--rule);font-size:13px;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s cubic-bezier(.5,0,0,1)}.experience-row__year{font-size:12px;letter-spacing:.02em;white-space:nowrap}.education-row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;margin-top:4px;padding-top:14px;border-top:1px dashed var(--rule);color:var(--muted);font-size:12px}.education-row__field{display:inline-flex;align-items:center;gap:6px}.quote-section{padding:56px 0;border-bottom:1px dashed var(--rule)}blockquote{margin:0}.quote{min-height:1.35em;max-width:560px;margin:0;color:var(--heading);font-family:JetBrains Mono,monospace;font-size:clamp(1.25rem,4vw,1.43rem);font-weight:500;letter-spacing:-.02em;line-height:1.35}cite{display:block;margin-top:12px;color:var(--muted);font-size:12px;font-style:normal;opacity:0;transition:opacity .6s ease .2s}.quote.is-done+cite,blockquote:has(.quote.is-done) cite{opacity:1}.footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:48px;color:var(--muted);font-size:12px}.footer nav{display:flex;align-items:center}.footer a{border-bottom:1px dotted var(--faint);color:var(--fg);padding-bottom:1px}.footer a:hover{border-bottom-color:var(--accent);color:var(--accent)}.separator{padding:0 10px;color:var(--faint)}.footer__year{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}@media(max-width:720px){.site-shell{padding:34px 24px 56px}.hero{padding-top:28px}.experience-row,.education-row{grid-template-columns:1fr;gap:4px}.education-row__field{align-items:flex-start}.footer{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.site-shell{padding-inline:18px}.work-row{gap:12px}.dm-key{white-space:normal}}
