:root{--bg: #fafaf7;--ink: #161514;--ink-soft: #2a2826;--muted: #6b6862;--rule: #e6e3dc;--accent: #1a1a1a;--serif: "Iowan Old Style", "Charter", "Georgia", "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Arial, sans-serif;--mono: "SF Mono", "IBM Plex Mono", Menlo, Monaco, Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .16s ease,color .16s ease}a:hover{border-color:var(--ink)}.page{max-width:640px;margin:0 auto;padding:96px 32px 128px}.nameplate{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:64px}.hero{display:flex;flex-direction:column;gap:28px;margin-bottom:72px}.headshot{width:132px;height:132px;border-radius:50%;object-fit:cover;filter:grayscale(.15) contrast(1.02)}.name{font-family:var(--serif);font-size:40px;line-height:1.1;font-weight:400;letter-spacing:-.01em;color:var(--ink)}.bio{font-family:var(--serif);font-size:19px;line-height:1.55;color:var(--ink-soft);max-width:56ch}.bio p+p{margin-top:1em}.section{margin-top:64px}.section-label{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}.career-link{display:inline-block;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:1px}.career-link:hover{border-color:var(--muted);color:var(--muted)}.projects{display:flex;flex-direction:column;gap:32px}.project{display:block;border:none;border-top:1px solid var(--rule);padding-top:24px;text-decoration:none}.project:hover .project-title{color:var(--muted)}.project-meta{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.project-title{font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--ink);margin-bottom:8px;transition:color .16s ease}.project-blurb{font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--ink-soft)}.also-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.also-item{font-family:var(--serif);font-size:17px;line-height:1.45;color:var(--ink-soft)}.also-title{font-style:italic;color:var(--ink);border-bottom:1px solid var(--rule)}.also-title:hover{border-color:var(--ink)}.also-blurb{color:var(--muted)}.contact{margin-top:96px;padding-top:32px;border-top:1px solid var(--rule);font-family:var(--sans);font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:24px}.contact a{border-bottom-color:transparent;color:var(--ink-soft)}.contact a:hover{border-bottom-color:var(--ink)}@media (max-width: 560px){.page{padding:64px 24px 96px}.name{font-size:32px}.bio{font-size:18px}.headshot{width:112px;height:112px}}.cv-back{display:inline-block;font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:48px;border-bottom:none}.cv-back:hover{color:var(--ink);border-bottom:none}.cv-placeholder{font-family:var(--serif);font-size:18px;color:var(--muted);font-style:italic}
