:root{--ground: #f6f4ef;--surface: #ffffff;--surface-2: #fbfaf7;--ink: #201d1a;--ink-muted: #6f6a62;--hairline: #e9e5de;--agent: #46579e;--font-serif: "Newsreader", "Source Serif 4", ui-serif, Georgia, serif;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--column: 720px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background-color:color-mix(in oklab,var(--agent) 22%,transparent);color:var(--ink)}a{color:var(--agent);text-decoration-color:color-mix(in oklab,var(--agent) 35%,transparent);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--agent)}.download{position:fixed;top:20px;right:22px;z-index:10;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-family:var(--font-serif);font-size:14px;font-style:italic;color:var(--ink-muted);text-decoration:none;border-radius:8px;transition:color .16s ease}.download:hover{color:var(--ink)}.download>span{font-family:var(--font-mono);font-style:normal;font-size:13px}.cv{max-width:var(--column);margin:0 auto;padding:88px 24px 96px}.cv-name{font-family:var(--font-serif);font-weight:500;font-size:44px;line-height:1.05;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink)}.cv-role-line{font-family:var(--font-serif);font-style:italic;font-size:18px;color:var(--ink-muted);margin:0 0 20px}.cv-contact{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-muted);margin:0 0 40px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}.cv-contact a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--ink-muted) 50%,transparent)}.cv-contact a:hover{color:var(--ink);text-decoration-color:var(--ink)}.cv-dot{opacity:.4}.cv-section{margin-top:36px;padding-top:28px;border-top:1px solid var(--hairline)}.cv-section-heading{font-family:var(--font-serif);font-weight:500;font-size:22px;letter-spacing:-.005em;margin:0 0 14px;color:var(--ink)}.cv-section p{margin:0 0 12px;font-family:var(--font-sans);font-size:15.5px;line-height:1.6;color:var(--ink)}.cv-section p strong{font-weight:600;color:var(--ink)}.cv-section ul{margin:8px 0 20px;padding-left:20px}.cv-section ul li{font-family:var(--font-sans);font-size:15.5px;line-height:1.6;color:var(--ink);margin-bottom:10px}.cv-section ul li::marker{color:var(--ink-muted)}.cv-job-header{margin:22px 0 4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.cv-company{font-family:var(--font-serif);font-weight:600;font-size:17px;color:var(--ink)}.cv-role{font-family:var(--font-sans);font-size:14.5px;color:var(--ink)}.cv-dates{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-muted);margin-left:auto}.cv-job-summary{font-family:var(--font-serif);font-style:italic;font-size:14.5px;color:var(--ink-muted);margin:0 0 10px}.cv-section p a{color:var(--agent)}.site-footer{max-width:var(--column);margin:0 auto;padding:8px 24px 40px;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:13.5px;color:var(--ink-muted);display:flex;justify-content:center;align-items:baseline;gap:10px}.site-footer a{color:inherit;text-decoration-color:color-mix(in oklab,var(--ink-muted) 50%,transparent)}.site-footer a:hover{color:var(--ink)}@media(max-width:640px){.cv{padding:72px 20px}.cv-name{font-size:34px}.cv-role-line{font-size:16px}.cv-contact{font-size:12px}.cv-section-heading{font-size:19px}.cv-section p,.cv-section ul li{font-size:15px}.cv-job-header{flex-direction:column;gap:2px}.cv-dates{margin-left:0}.download{top:14px;right:14px;font-size:13px;min-height:44px;padding:8px 10px}}@media print{html,body{background:#fff;color:#000;font-size:10.5pt;line-height:1.4}.download,.site-footer{display:none!important}.cv{max-width:100%;padding:.5in .6in}.cv-name{font-size:22pt;color:#000}.cv-role-line{font-size:11pt;color:#333}.cv-contact{font-size:9pt;color:#333;margin-bottom:18pt}.cv-section{margin-top:14pt;padding-top:10pt;border-top-color:#ccc;break-inside:avoid}.cv-section-heading{font-size:12pt;color:#000}.cv-section p,.cv-section ul li{font-size:10.5pt;color:#000}.cv-section ul li{margin-bottom:4pt}.cv-job-header{margin-top:10pt;break-inside:avoid}.cv-company{font-size:11.5pt;color:#000}.cv-role{font-size:10pt;color:#000}.cv-dates{font-size:9pt;color:#444}.cv-job-summary{font-size:9.5pt;color:#444}a{color:#000;text-decoration-color:#999}}
