@font-face{font-family:inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2)format("woff2")}@font-face{font-family:playfair display;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/playfair-display-500.woff2)format("woff2")}:root{--bg:#efe9df;--fg:#211f1d;--muted:#6b665e;--line:#ddd6c8;--panel:#f6f1e8;--accent:#2f3a5a;--gutter:2rem;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}:root{--print-bg:#ffffff;--print-fg:#000000;--print-line:#bbbbbb}*,*::before,*::after{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.7 var(--font-sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-serif);font-weight:500;line-height:1.15;margin:0 0 .6em}h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05}h2{font-size:1.5rem}h3{font-size:1.15rem}p{margin:0 0 1.1em}a{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--muted)}main{width:100%;max-width:60rem;margin:0 auto;padding:3.5rem var(--gutter)5rem}.home-intro,.statement,.pillars,.page-head,.prose,.resume,.contact-block,.not-found,.note-full,.note-list,.feed-link{max-width:42rem;margin-left:auto;margin-right:auto}.prose{font-size:1.0625rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:10;background:var(--fg);color:var(--bg);padding:.6rem 1rem;text-decoration:none;font-size:.85rem}.skip-link:focus{top:.75rem}@media(max-width:640px){:root{--gutter:1.25rem}main{padding-top:2.25rem;padding-bottom:3.5rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}.site-header{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;width:100%;padding:1.5rem var(--gutter)1.25rem;border-bottom:1px solid var(--line)}.brand{font-size:.95rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--fg)}.brand:hover{color:var(--accent)}.nav-list,.footer-list{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;margin:0;padding:0}.nav-list a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--muted)}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--accent)}.site-footer{width:100%;padding:1.5rem var(--gutter)3rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.footer-list{margin-bottom:1rem}.footer-list a{color:var(--muted);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.footer-list a:hover{color:var(--accent)}.colophon{margin:0 0 .35rem;letter-spacing:.04em}.colophon a{color:var(--muted)}.eyebrow,.meta,.label{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}.label{color:var(--accent);letter-spacing:.16em}.action{display:inline-block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--fg);border-bottom:1px solid var(--fg);padding-bottom:2px}.action:hover{color:var(--muted);border-color:var(--muted)}.page-head{margin-bottom:2rem}.page-head h1{margin-bottom:.4rem}.lede{color:var(--muted)}@media(max-width:720px){.site-header{flex-direction:column;align-items:flex-start;gap:.8rem}.nav-list{gap:.9rem}}.nav-list a,.footer-list a{display:inline-flex;align-items:center;min-height:24px;padding-block:.3rem}.contact-page{max-width:56rem;margin:0 auto}.contact-card{display:grid;grid-template-columns:minmax(0,.8fr)minmax(0,1.2fr);background:var(--panel);border:1px solid var(--line)}.contact-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:28rem;padding:2rem;background:var(--bg);border-right:1px solid var(--line)}.contact-mark .mark{font-family:var(--font-serif);font-size:clamp(4rem,10vw,7rem);line-height:1;letter-spacing:.02em;color:var(--muted)}.contact-mark .mark-place{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.contact-body{padding:clamp(2rem,5vw,3.5rem)}.contact-body h1{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:1rem}.contact-lede{font-size:1.0625rem;max-width:32rem}.contact-lede p:last-child{margin-bottom:0}.contact-form{margin-top:2rem;display:grid;gap:1rem}.field{display:grid;gap:.3rem}.field label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line);padding:.65rem .75rem;font:1rem/1.5 var(--font-sans);color:var(--fg)}.field textarea{min-height:8rem;resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:1.25rem;margin-top:.25rem}.contact-form button.action{background:0 0;border:0;border-bottom:1px solid var(--fg);padding:0 0 2px;cursor:pointer;font-family:var(--font-sans);color:var(--fg)}.contact-form button.action:hover{color:var(--muted);border-color:var(--muted)}.form-note{font-size:.78rem;color:var(--muted);margin:0;max-width:20rem}.contact-expectation{color:var(--muted);font-size:.9rem;margin:1.5rem 0 0}.contact-message{max-width:42rem;margin:0 auto}@media(max-width:800px){.contact-card{grid-template-columns:1fr}.contact-mark{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:2.25rem}}@media print{@page{size:auto;margin:16mm}body{background:var(--print-bg);color:var(--print-fg);font-size:11pt;line-height:1.22}p{margin-bottom:.35em}.site-header,.site-footer,.skip-link,.no-print,.resume-actions{display:none!important}main{max-width:none;margin:0;padding:0}a{color:var(--print-fg);text-decoration:none}h1,h2,h3{color:var(--print-fg);break-after:avoid}.resume-head{border-color:var(--print-line);padding-bottom:.4rem;margin-bottom:.8rem}.resume-head h1{font-size:18pt}.portrait{flex:0 0 24mm;order:2;width:24mm;height:auto;margin:0 0 0 6mm;border:0}.resume-section{margin-top:.7rem;break-inside:auto}.resume-section h2{color:var(--print-fg);border-color:var(--print-line);font-size:11pt;letter-spacing:.12em;margin-bottom:.5rem;padding-bottom:.25rem}.resume-entry{break-inside:avoid;page-break-inside:avoid;margin-bottom:.5rem}.resume-entry-head h3{font-size:11.5pt}.resume-role,.resume-contact,.resume-dates,.resume-org,.resume-outcomes li,.resume-list li,.resume-note,.resume-summary,.skill-group h3,.skill-group p,.language-list dt,.language-list dd{font-size:11pt}.resume-outcomes li,.resume-list li{line-height:1.22;margin-bottom:.1rem}.resume-outcomes{padding-left:1rem}.skill-group{margin-bottom:.4rem}.language-list{display:flex;flex-wrap:wrap;gap:0 1.1rem}.language-list div{display:flex;gap:.3rem;margin:0}.language-list dt{min-width:0}p,li{orphans:3;widows:3}}