:root{--bg: #fdfcfb;--surface: #f6f5f2;--text: #1a1614;--text-muted: #6b6560;--accent: #bfa14a;--accent-hover: #a38235;--border: #e3e0da;--mono-bg: #f2f0ec;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--space-xs: 0.5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 3.5rem;--space-xl: 5rem}@media (prefers-color-scheme: dark){:root{--bg: #161412;--surface: #1e1c18;--text: #efece8;--text-muted: #8a847a;--accent: #d4b85c;--accent-hover: #c0a34e;--border: #2a2722;--mono-bg: #1c1a16}}*{box-sizing:border-box;border-radius:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65}main{max-width:65ch;margin:0 auto;padding:0 1.5rem}@media (max-width: 500px){main{padding:0 1.125rem}}a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}a:hover{color:var(--accent-hover);text-decoration-thickness:1.5px}h1,h2,h3,h4,h5,h6{line-height:1.3;margin:0 0 var(--space-sm)}h1{font-size:clamp(1.75rem,8vw,2.5rem);line-height:1.15;font-weight:600;color:var(--text)}h2{font-size:1.25rem;line-height:1.3;font-weight:600;letter-spacing:.06em;text-transform:uppercase}h3{font-size:1.05rem;line-height:1.35;font-weight:400}p{margin:0 0 var(--space-sm)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:var(--space-xs) var(--space-sm);background:var(--surface);color:var(--text)}.skip-link:focus{left:0}.site-header{max-width:65ch;margin:0 auto;padding:var(--space-md) 1.5rem 0;display:flex;justify-content:space-between;align-items:baseline}@media (max-width: 500px){.site-header{padding:var(--space-md) 1.125rem 0}}.site-name{font-weight:600;color:var(--text)}.site-name:hover{color:var(--accent)}.site-blog{font-size:.8125rem;font-family:var(--font-mono);color:var(--text-muted)}.site-blog:hover{color:var(--accent)}.hero{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-top:var(--space-md);margin-bottom:var(--space-xl)}.hero-text h1{margin-bottom:var(--space-sm)}.contact{font-size:.8125rem;line-height:1.5;font-family:var(--font-mono);color:var(--text-muted);margin:0}.portrait{width:150px;height:auto;border:1px solid var(--border);flex-shrink:0}@media (max-width: 600px){.hero{flex-direction:column}.portrait{order:-1}}.cv-section{position:relative;padding-left:1.75rem}.cv-section+.cv-section{padding-top:var(--space-lg);margin-top:var(--space-lg)}.cv-section h2{position:relative}.cv-section h2::before{content:"";position:absolute;left:-1.75rem;top:50%;transform:translateY(-50%);width:.75rem;height:.75rem;background:var(--accent)}.entry{margin-bottom:var(--space-md)}.cv-section[aria-label="Employment History"]::before{content:"";position:absolute;left:5px;top:1.75rem;bottom:1.5rem;width:2px;background:var(--accent)}.cv-section[aria-label="Employment History"]::after{content:"";position:absolute;left:0;bottom:.75rem;width:.75rem;height:.75rem;background:var(--accent)}.cv-section[aria-label="Employment History"] .entry{position:relative}.cv-section[aria-label="Employment History"] .entry::after{content:"";position:absolute;left:calc(-1.75rem + 1px);top:.65rem;width:10px;height:10px;border-radius:50%}.cv-section[aria-label="Employment History"] .entry:first-child::after{background:var(--accent)}.cv-section[aria-label="Employment History"] .entry:not(:first-child)::after{background:var(--bg);border:2px solid var(--accent)}@media (max-width: 600px){.cv-section{padding-left:1.25rem}.cv-section h2::before{left:-1.25rem;width:.65rem;height:.65rem}.cv-section[aria-label="Employment History"]::before{left:4px;bottom:1.25rem}.cv-section[aria-label="Employment History"]::after{width:.65rem;height:.65rem;bottom:.65rem}.cv-section[aria-label="Employment History"] .entry::after{left:calc(-1.25rem + 1px);top:.55rem;width:9px;height:9px}}.entry ul{margin-top:var(--space-xs)}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm)}.entry-head h3{margin:0}.entry-head .company{color:var(--text-muted);font-weight:400}.date{font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;color:var(--text-muted);margin:0;white-space:nowrap}@media (max-width: 600px){.entry-head{flex-direction:column;align-items:flex-start;gap:0}}ul{margin:0 0 var(--space-sm);padding-left:1.25rem}li{margin-bottom:var(--space-xs)}.skills-line{color:var(--text-muted);font-size:.9rem;margin:0 0 var(--space-sm)}.skills-line .tech{font-family:var(--font-mono)}.thesis,.coursework{font-style:italic}.skill-cat{margin-bottom:var(--space-md)}.skill-cat:last-child{margin-bottom:0}.skill-cat h3{font-size:1rem;font-weight:600;margin-bottom:var(--space-xs)}.interests{color:var(--text-muted);font-size:.95rem;margin:0}.interests .dot{margin:0 .5rem}.blog-title{margin-bottom:var(--space-md)}.post-list{list-style:none;padding:0;margin:0}.post-item{padding:var(--space-sm) 0;border-top:1px solid var(--border)}.post-item:last-child{border-bottom:1px solid var(--border)}.post-link{font-size:1.15rem;font-weight:600;color:var(--accent)}.post-date{display:block;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;color:var(--text-muted);margin-top:var(--space-xs)}.post-desc{color:var(--text-muted);margin:var(--space-xs) 0 0}.empty{color:var(--text-muted);font-style:italic}.post-header h1{font-size:2rem;font-weight:600}.post-meta{font-family:var(--font-mono);font-size:.75rem;line-height:1.5;color:var(--text-muted);margin-bottom:var(--space-md)}.prose blockquote{border-left:2px solid var(--accent);padding-left:1.25rem;font-style:italic;color:var(--text-muted);margin:var(--space-sm) 0}.prose pre{background:var(--mono-bg);border:1px solid var(--border);padding:var(--space-sm);overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.5}.prose code{font-family:var(--font-mono);background:var(--mono-bg);border:1px solid var(--border);padding:.1em .3em;font-size:.875em}.prose pre code{background:none;border:none;padding:0}.notfound{text-align:center;padding-top:var(--space-xl)}.notfound h1{font-size:clamp(3rem,10vw,4rem);color:var(--text-muted);font-weight:600}.notfound p{color:var(--text-muted)}.site-footer{max-width:65ch;margin:var(--space-xl) auto 0;padding:var(--space-md) 1.5rem var(--space-lg);border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:var(--space-sm);font-family:var(--font-mono);font-size:.75rem;line-height:1.5;color:var(--text-muted)}@media (max-width: 500px){.site-footer{padding:var(--space-md) 1.125rem var(--space-lg);flex-direction:column;gap:var(--space-xs)}}.site-footer a{color:var(--text-muted);text-decoration:none}.site-footer a:hover{color:var(--accent)}@media print{:root{--bg: #ffffff;--surface: #ffffff;--text: #000000;--text-muted: #555555;--accent: #000000;--accent-hover: #000000;--border: #cccccc;--mono-bg: #f5f5f5}body{font-size:10pt}main{max-width:100%;padding:0}.site-header,.site-footer,.skip-link,.portrait{display:none}a{color:#000;text-decoration:underline}h1,h2,h3,h4,h5,h6{page-break-after:avoid}.entry,.cv-section{page-break-inside:avoid}}