:root{color-scheme:light dark;--bg:#fff;--text:#1d1d1f;--secondary:#626267;--muted:#747479;--surface:#f5f5f7;--surface-hover:#eeeef1;--line:#e8e8ed;--accent:#0066cc;--selection:#d9eaff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--bg:#101010;--text:#f5f5f7;--secondary:#b0b0b6;--muted:#97979e;--surface:#1c1c1e;--surface-hover:#262629;--line:#303033;--accent:#70b7ff;--selection:#20466d}}*{box-sizing:border-box}body{margin:0}::selection{background:var(--selection);color:var(--text)}main{max-width:704px;margin:0 auto;padding:112px 32px 40px}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:6px}header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:36px}h1{font-size:clamp(1.75rem,4.2vw,2.375rem);font-weight:650;line-height:1.15;letter-spacing:-.055em;text-wrap:balance}.role{font-size:1rem;line-height:1.5;color:var(--secondary);margin-top:10px}.location{font-size:.8125rem;line-height:1.5;color:var(--muted);padding-top:9px;flex-shrink:0}.intro{color:var(--secondary)}.intro p{font-size:1.0625rem;line-height:1.7;letter-spacing:-.018em;max-width:580px}.intro p+p{margin-top:20px}.intro a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;transition:text-decoration-color .2s}.intro a:hover{text-decoration-color:var(--text)}nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}nav a{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border-radius:999px;background:var(--surface);font-size:.875rem;line-height:1.5;transition:background .2s,transform .2s}nav a:hover{background:var(--surface-hover);transform:translateY(-1px)}nav span{color:var(--muted)}section{margin-top:64px}h2{font-size:.875rem;font-weight:500;letter-spacing:-.01em;line-height:1.5;color:var(--muted);margin-bottom:21px}h3{font-size:1rem;font-weight:600;letter-spacing:-.025em;line-height:1.5}.projects{display:grid;gap:10px}.project{display:block;background:var(--surface);border:1px solid transparent;padding:23px 25px;border-radius:20px;transition:background .22s,transform .22s,border-color .22s}.project:hover{background:var(--surface-hover);border-color:var(--line);transform:translateY(-2px)}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.arrow{color:var(--muted);transition:transform .22s}.project:hover .arrow{transform:translate(2px,-2px)}.project p{font-size:1rem;line-height:1.6;color:var(--secondary);margin-top:5px;letter-spacing:-.018em}.meta{display:block;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:12px}.work-list{display:grid;gap:30px}.work{display:grid;grid-template-columns:135px minmax(0,1fr);gap:24px}.date{color:var(--muted);font-size:.8125rem;line-height:1.7;font-variant-numeric:tabular-nums;padding-top:2px}.work-role{font-size:.875rem;line-height:1.6;color:var(--secondary);margin-top:3px}.work-description{font-size:.9375rem;line-height:1.65;letter-spacing:-.012em;color:var(--secondary);margin-top:9px;max-width:440px}.education{margin-top:54px}.education .work-description{margin-top:4px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:64px;color:var(--muted);font-size:.8125rem;line-height:1.6}footer a{color:var(--secondary);transition:color .2s}footer a:hover{color:var(--accent)}@media(max-width:540px){main{padding:64px 24px 30px}header{position:relative;display:block;margin-bottom:29px}.location{display:block;margin-top:6px;padding:0}.role{margin-top:9px}.intro p{font-size:1rem}section{margin-top:48px}.project{border-radius:17px;padding:20px}.project-heading{gap:12px}.project p{font-size:.9375rem}.work{grid-template-columns:1fr;gap:5px}.work-list{gap:27px}.work-description{margin-top:6px}.education{margin-top:46px}footer{margin-top:50px}h1{letter-spacing:-.045em}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
