.cv{--sheet:#fcfcfa;--ink:#14181a;--ink-2:#3f4a48;--ink-3:#79847f;--rule:#e2e5e0;--signal:#0b6b3f;--wash:#eff4f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--sheet);color:var(--ink);font-family:var(--font-newsreader), Georgia, serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}.cv ::selection{background:#0b6b3f24}:root:has(.cv){background:#fcfcfa}.cv-mono{font-family:var(--font-space-mono), ui-monospace, monospace}.cv-nav{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);background:#fcfcfaeb;position:sticky;top:0}.cv-nav>nav{justify-content:space-between;align-items:center;gap:1rem;max-width:64rem;height:3.5rem;margin:0 auto;padding:0 clamp(1rem,4vw,3.5rem);display:flex}.cv-brand{font-family:var(--font-space-mono), ui-monospace, monospace;color:var(--ink);white-space:nowrap;font-size:.8125rem;font-weight:700;text-decoration:none}.cv-brand .signal{color:var(--signal)}.cv-brand .dim{color:var(--ink-3);font-weight:400}.cv-actions{align-items:center;gap:.5rem;display:flex}.cv-action{font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.04em;color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;align-items:center;gap:.4rem;padding:.45rem .7rem;font-size:.6875rem;text-decoration:none;transition:border-color .14s,color .14s,background-color .14s;display:inline-flex}.cv-action:hover{border-color:var(--ink-3);color:var(--ink)}.cv-action svg{width:.875rem;height:.875rem}.cv-action-primary{background:var(--ink);border-color:var(--ink);color:var(--sheet);font-weight:700}.cv-action-primary:hover{background:var(--signal);border-color:var(--signal);color:var(--sheet)}.cv :is(.cv-action,.cv-brand,a):focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:2px}.cv-sheet{max-width:64rem;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,3.5rem) 5rem}.cv-name{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.125rem,6vw,3.125rem);font-weight:600;line-height:1.02}.cv-headline{color:var(--ink-2);text-wrap:balance;max-width:52ch;margin-top:.6rem;font-size:clamp(1rem,2.4vw,1.1875rem);font-style:italic}.cv-contact{border-top:1px solid var(--ink);font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.03em;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin-top:1.4rem;padding-top:.9rem;font-size:.6875rem;display:flex}.cv-contact a{color:var(--ink-2);border-bottom:1px solid var(--rule);text-decoration:none;transition:color .14s,border-color .14s}.cv-contact a:hover{color:var(--signal);border-color:var(--signal)}.cv-contact .sep{color:var(--ink-3);opacity:.55}.cv-status{background:var(--wash);font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.02em;color:var(--signal);border:1px solid #0b6b3f29;border-radius:2px;align-items:center;gap:.5rem;margin-top:1rem;padding:.35rem .65rem;font-size:.6875rem;display:inline-flex}.cv-status .dot{background:var(--signal);border-radius:50%;flex-shrink:0;width:.375rem;height:.375rem}.cv-summary{color:var(--ink-2);text-wrap:pretty;max-width:68ch;margin-top:1.6rem;font-size:1rem;line-height:1.6}.cv-body{gap:3rem;margin-top:3rem;display:grid}@media (min-width:62rem){.cv-body{grid-template-columns:minmax(0,1fr) 16rem;gap:4rem}.cv-side{align-self:start;position:sticky;top:5rem}}.cv-section+.cv-section{margin-top:2.5rem}.cv-section-head{border-bottom:1px solid var(--ink);align-items:baseline;gap:.75rem;margin-bottom:1.4rem;padding-bottom:.4rem;display:flex}.cv-section-head h2{font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;font-size:.6875rem;font-weight:700}.cv-section-head .note{font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.04em;color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:.625rem}.cv-entry{break-inside:avoid;gap:.2rem 1.5rem;display:grid}.cv-entry+.cv-entry{margin-top:1.5rem}@media (min-width:40rem){.cv-entry{grid-template-columns:6.25rem minmax(0,1fr)}}.cv-rail{font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.02em;color:var(--ink-3);flex-wrap:wrap;gap:0 .4rem;padding-top:.3rem;font-size:.625rem;line-height:1.5;display:flex}.cv-rail .period{color:var(--ink-2)}.cv-rail .where:before{content:"· "}@media (min-width:40rem){.cv-rail{text-align:right;display:block}.cv-rail .period{display:block}.cv-rail .where{margin-top:.1rem;display:block}.cv-rail .where:before{content:none}}.cv-rail .now{background:var(--signal);vertical-align:.08em;width:.3125rem;height:.3125rem;margin-right:.3rem;display:inline-block}.cv-entry-title{letter-spacing:-.012em;font-size:1.0625rem;font-weight:600;line-height:1.3}.cv-entry-title a{color:inherit;border-bottom:1px solid var(--rule);text-decoration:none}.cv-entry-title a:hover{color:var(--signal);border-color:var(--signal)}.cv-entry-role{color:var(--ink-2);font-size:.9375rem;font-style:italic;line-height:1.4}.cv-entry-summary{color:var(--ink-2);text-wrap:pretty;margin-top:.35rem;font-size:.9375rem}.cv-bullets{gap:.3rem;margin-top:.5rem;display:grid}.cv-bullets li{text-wrap:pretty;padding-left:.95rem;font-size:.9375rem;line-height:1.5;position:relative}.cv-bullets li:before{content:"";background:var(--ink-3);width:.3125rem;height:1px;position:absolute;top:.6em;left:0}.cv-tags{flex-wrap:wrap;gap:.3rem;margin-top:.6rem;display:flex}.cv-tags li{font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule);border-radius:2px;padding:.15rem .4rem;font-size:.5625rem}.cv-entries[data-columns="2"]{gap:.9rem 2rem;display:grid}@media (min-width:48rem){.cv-entries[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}.cv-entries[data-columns="2"] .cv-entry+.cv-entry{margin-top:0}.cv-entry-compact{gap:.1rem 1rem}@media (min-width:40rem){.cv-entry-compact{grid-template-columns:3.75rem minmax(0,1fr)}}.cv-entry-compact+.cv-entry-compact{margin-top:.7rem}.cv-entry-compact .cv-entry-title{font-size:.9375rem}.cv-entry-compact .cv-entry-role{font-size:.875rem}.cv-side .cv-section-head{border-bottom-color:var(--rule)}.cv-group+.cv-group{margin-top:.9rem}.cv-group dt{font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.5625rem;font-weight:700}.cv-group dd{color:var(--ink);text-wrap:pretty;margin-top:.2rem;font-size:.875rem;line-height:1.45}.cv-prose{color:var(--ink-2);text-wrap:pretty;font-size:.9375rem}.cv-endmatter{border-top:1px solid var(--rule);font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.03em;color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:3.5rem;padding-top:.75rem;font-size:.625rem;display:flex}.cv-endmatter a{color:var(--ink-3);border-bottom:1px solid var(--rule);text-decoration:none}.cv-endmatter a:hover{color:var(--signal)}.cv-empty{text-align:center;color:var(--ink-3);margin-top:4rem}@media (prefers-reduced-motion:reduce){.cv *{transition-duration:.01ms!important}}.cv-footer{border-top:1px solid var(--rule);margin-top:auto}.cv-footer>div{max-width:64rem;font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.02em;color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:0 auto;padding:1.75rem clamp(1rem,4vw,3.5rem);font-size:.6875rem;display:flex}.cv-footer a{color:var(--ink-2);border-bottom:1px solid var(--rule);text-decoration:none;transition:color .14s,border-color .14s}.cv-footer a:hover{color:var(--signal);border-color:var(--signal)}.cv-footer-links{flex-wrap:wrap;gap:1rem;display:flex}@page{size:letter;margin:14mm}@media print{.cv{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.cv-noprint{display:none!important}.cv-sheet{max-width:none;padding:0}.cv-side{position:static}.cv-entry,.cv-group{break-inside:avoid}.cv-section-head{break-after:avoid}.cv :is(.cv-contact,.cv-entry-title) a{color:var(--ink);border-bottom:none}}
