body{--main-width:min(1160px, 100% - 5rem)}body main{width:var(--main-width);grid-template-columns:minmax(10px,2fr) minmax(10px,4fr);grid-auto-rows:min-content;gap:5rem;margin-inline:auto;padding:5rem 0 1rem;display:grid}body main header{grid-column:span 2}body main aside{grid-area:2/1/3/2}body main .content{grid-column:2/2}body main .grid-single{grid-column:span 2}body footer{width:var(--main-width);margin-inline:auto;padding:2rem 0}body footer .robot-button{float:right}@media only screen and (width<=800px){body main{grid-template-rows:auto;grid-template-columns:100%;gap:0}body main #content{margin-top:4rem}body main>*{grid-area:auto/1/auto/-1!important}body footer{padding:1.5rem 2rem}}.mb-0{margin-bottom:0}.va-baseline{vertical-align:baseline}.va-middle{vertical-align:middle}.va-bottom{vertical-align:bottom}.flex{display:flex}.flex-1{flex:1}.flex-inline{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-grow-1{flex-grow:1}.flex-grow-2{flex-grow:2}.flex-grow-3{flex-grow:3}.flex-wrap-wrap{flex-wrap:wrap}.flex-wrap-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-gap-half{gap:.5em}.flex-gap-quarter{gap:.25em}.flex-gap-1{gap:1em}.flex-gap-2{gap:2em}.flex-gap-3{gap:3em}.flex-gap-4{gap:4em}.justify-content-start{justify-content:start}.justify-content-end{justify-content:end}.justify-content-space-between{justify-content:space-between}.justify-content-center{justify-content:center}.align-items-baseline{align-items:baseline}.align-items-center{align-items:center}.align-items-flex-start{align-items:flex-start}.align-items-flex-end{align-items:flex-end}.printed-from{display:none}.preserve-scrollbar-space{padding-left:calc(100vw - 100%)}body ul.hanging{padding-left:0;list-style:outside}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}::view-transition-group(root){animation-duration:.5s}body{--text-color:#151515;--text-color-headline:#000;--text-color-dark-gray:#444;--background-color:#fff;--background-color-bubble:var(--background-color);--border-color-bubble:#323232;--shadow-color-bubble:#6e6e6e;--accent-color:initial;--color-light-orange:#f0bc5c;--color-orange:#cd8500;--color-medium-orange:#a46b00;--color-dark-orange:#613f00;--link-color:var(--color-medium-orange);--link-color-visited:var(--color-medium-orange)}body.dark{--text-color:#f0f0f0;--text-color-headline:#fff;--text-color-dark-gray:#ddd;--background-color:#303030;--background-color-bubble:var(--background-color);--border-color-bubble:#cdcdcd;--shadow-color-bubble:#000;--link-color:var(--color-light-orange);--link-color-visited:var(--color-light-orange)}@media print{@page{size:letter portrait;margin:.5in}:root{--font-size:12px!important;--line-height:1.25em!important}body a,body a:visited{color:#000}body nav{display:none!important}body main{width:auto;margin:0;padding:0 3em;display:block}body main h2{font-size:1.5rem}body main h3+h4{margin-top:.5em!important}body main #content{margin-top:3rem}body header h1{margin-top:0}body header h2{font-size:1.65rem!important}body header p.adr{flex-direction:row;justify-content:center;gap:.5em;margin-bottom:0;display:flex}body footer{width:auto;padding:0}body footer .theme-button,body footer .robot-button{display:none}body footer .printed-from{display:revert!important}body .content section h2:first-child,body .content aside h2:first-child{margin-top:0}body .content section h2:first-of-type{break-after:avoid}body .content section dl{break-before:avoid}body .content section dl dt{break-after:avoid-page;transform:translateY(2px)}body .content section dl dd{break-inside:avoid-page}body .content section:not(.me) ul li{margin-block:0!important;line-height:1.05rem!important}body .content aside{break-inside:avoid-page}body .content aside .bubble{color:#a9a9a9}body .content aside .featured-project h3{margin-bottom:.5rem}body .content hr{display:none!important}body:has(.cover-letter) footer{display:none}}html footer .robot-content{break-before:always}html footer .robot-content .robot-data-table{break-inside:avoid;break-before:page;font-family:monospace;font-size:8pt;line-height:1em}html footer .robot-content .robot-data-table tr td,html footer .robot-content .robot-data-table tr th{padding:.125rem}:root{--font-size:17px;--line-height:1.85rem;--line-height-med:1.5rem;--line-height-small:1.35rem;--header-font:system-ui, sans-serif;--body-font:Charter, "Bitstream Charter", "Sitka Text", Cambria, serif}::selection{background:var(--color-orange);color:#fff;text-shadow:1px 1px 3px var(--color-dark-orange)}*{text-rendering:optimizelegibility;font-variant-ligatures:common-ligatures;font-variant-numeric:oldstyle-nums stacked-fractions;text-underline-offset:.13em;-webkit-text-decoration-skip:ink;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-size:var(--font-size);line-height:var(--line-height);font-family:var(--body-font);color:var(--text-color);background-color:var(--background-color);margin:0;padding:0;transition:background-color .125s}body>div:first-of-type{display:contents}a{cursor:pointer;color:var(--link-color);text-underline-offset:.13em}a:hover{text-underline-offset:.3em}a:visited{color:var(--link-color-visited)}h1,h2,h3,h4{color:var(--text-color-headline);font-family:var(--header-font);font-variant-ligatures:common-ligatures;text-wrap:balance;font-weight:900}h1{font-size:3rem}h2{font-size:1.85rem}h3{font-size:1.25rem}p{hanging-punctuation:first allow-end last;orphans:3;text-wrap:pretty;margin-block:.75em}.content ul{margin-block:.75em;padding-left:1.5em}.content section:not(.me) ul li{margin-block:.5rem;line-height:1.75rem}.cover-letter section h3:first-child{margin-bottom:-.5rem}aside ul{list-style:inside none;padding:0!important}aside ul li{padding:.25em 0}aside .bubbles .icon{margin-right:1em}aside .featured-project{border-bottom:1px dotted gray;margin-bottom:1rem;padding-bottom:1rem}aside .featured-project h3{margin-bottom:0}aside .featured-project .project-link{margin-top:0;font-size:.95rem}aside .featured-project .project-link a{flex-direction:row;align-items:center;gap:.5rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}hr{border:0;border-bottom:1px dotted gray;height:1px}section+hr{margin-top:-1.5em!important}hr+section{margin-top:1.5em!important}.ai-tools-table.svelte-e26mmr{border-collapse:collapse;table-layout:fixed;width:100%;margin-block:2rem;font-family:system-ui}.ai-tools-table.svelte-e26mmr caption:where(.svelte-e26mmr){text-align:left;font-weight:900}.ai-tools-table.svelte-e26mmr tr:where(.svelte-e26mmr):hover td:where(.svelte-e26mmr){background-color:#f8f8ff}.ai-tools-table.svelte-e26mmr tr:where(.svelte-e26mmr) th:where(.svelte-e26mmr),.ai-tools-table.svelte-e26mmr tr:where(.svelte-e26mmr) td:where(.svelte-e26mmr){text-align:left;font-variant-numeric:tabular-nums;padding-block:.3rem;padding-inline:.25rem 1rem;font-size:.9em;line-height:1.1}.ai-tools-table.svelte-e26mmr tr:where(.svelte-e26mmr) td:where(.svelte-e26mmr){border:1px dotted #00000040}.ai-tools-table.svelte-e26mmr tr:where(.svelte-e26mmr) th:where(.svelte-e26mmr){font-weight:700}.ai-tools-table.svelte-e26mmr tr:where(.svelte-e26mmr) th:where(.svelte-e26mmr):last-child{width:65%}.agent-practices-table.svelte-1ea6elp{border-collapse:collapse;table-layout:fixed;width:100%;margin-block:2rem;font-family:system-ui}.agent-practices-table.svelte-1ea6elp caption:where(.svelte-1ea6elp){text-align:left;font-weight:900}.agent-practices-table.svelte-1ea6elp tr:where(.svelte-1ea6elp):hover td:where(.svelte-1ea6elp){background-color:#f8f8ff}.agent-practices-table.svelte-1ea6elp tr:where(.svelte-1ea6elp) th:where(.svelte-1ea6elp),.agent-practices-table.svelte-1ea6elp tr:where(.svelte-1ea6elp) td:where(.svelte-1ea6elp){text-align:left;font-variant-numeric:tabular-nums;padding-block:.3rem;padding-inline:.25rem 1rem;font-size:.9em;line-height:1.1}.agent-practices-table.svelte-1ea6elp tr:where(.svelte-1ea6elp) td:where(.svelte-1ea6elp){border:1px dotted #00000040}.agent-practices-table.svelte-1ea6elp tr:where(.svelte-1ea6elp) th:where(.svelte-1ea6elp){font-weight:700}.agent-practices-table.svelte-1ea6elp tr:where(.svelte-1ea6elp) th:where(.svelte-1ea6elp):last-child{width:65%}table.svelte-1t4kzx9{border-collapse:collapse;width:100%;margin-block:2rem;font-family:system-ui}table.svelte-1t4kzx9 caption:where(.svelte-1t4kzx9){text-align:left;font-weight:900}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9):hover td:where(.svelte-1t4kzx9){background-color:#f8f8ff}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) th:where(.svelte-1t4kzx9),table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) td:where(.svelte-1t4kzx9){text-align:right;font-variant-numeric:tabular-nums;padding-block:.3rem;padding-inline:.25rem 1rem;font-size:.9em;line-height:1.1}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) td:where(.svelte-1t4kzx9){border:1px dotted #00000040}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) th:where(.svelte-1t4kzx9){font-weight:700}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) th:where(.svelte-1t4kzx9):first-child,table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) td:where(.svelte-1t4kzx9):first-child{text-align:left}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) th:where(.svelte-1t4kzx9):nth-child(2),table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) td:where(.svelte-1t4kzx9):nth-child(2),table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) th:where(.svelte-1t4kzx9):nth-child(3),table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) td:where(.svelte-1t4kzx9):nth-child(3){width:11ch}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) th:where(.svelte-1t4kzx9):nth-child(4),table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) td:where(.svelte-1t4kzx9):nth-child(4){width:16ch}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) .year-col:where(.svelte-1t4kzx9){text-align:right;max-width:8ch}table.svelte-1t4kzx9 tr:where(.svelte-1t4kzx9) .proficiency-col:where(.svelte-1t4kzx9){max-width:10ch}button.svelte-iucu7k,button.svelte-u8uo5a{cursor:pointer;background:0 0;border:none;padding:0;position:relative}header.svelte-1elxaub{text-align:center;width:min(1000px,100% - 5rem);margin-inline:auto}header.svelte-1elxaub h1:where(.svelte-1elxaub),header.svelte-1elxaub h2:where(.svelte-1elxaub){margin:0;padding:0;line-height:1.1}header.svelte-1elxaub .adr:where(.svelte-1elxaub){line-height:var(--line-height-med)}header.svelte-1elxaub .tagline:where(.svelte-1elxaub){color:var(--color-orange);text-shadow:1px 1px #000;font-size:3.4em}header.svelte-1elxaub h1:where(.svelte-1elxaub){font-size:1.85rem}header.svelte-1elxaub h2.title:where(.svelte-1elxaub){margin:.5em 0;font-size:2rem}@media only screen and (width<=800px){header.svelte-1elxaub h2.title:where(.svelte-1elxaub){font-size:2rem}}header.svelte-1elxaub .quote:where(.svelte-1elxaub){color:var(--color-orange)}header.svelte-1elxaub .vcard:where(.svelte-1elxaub) .contact-methods:where(.svelte-1elxaub) p:where(.svelte-1elxaub){margin-top:0;margin-bottom:0}header.svelte-1elxaub .urls:where(.svelte-1elxaub){flex-direction:row;justify-content:center;gap:1rem;margin-inline:auto;padding:0;list-style:none;display:flex}@media only screen and (width<=800px){header.svelte-1elxaub .urls:where(.svelte-1elxaub){flex-direction:column;gap:0}}.skip-link.svelte-supu7d{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}nav.svelte-1h32yp1{isolation:isolate;background-color:var(--background-color);z-index:999;border-bottom:1px dotted gray;width:100vw;margin-bottom:3rem;position:fixed}nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1){margin:0;padding:0;list-style-type:none}nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1) li:where(.svelte-1h32yp1){border-right:1px dotted gray;padding:.5rem 2rem}nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1) li:where(.svelte-1h32yp1) a:where(.svelte-1h32yp1){white-space:nowrap}nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1) li.active:where(.svelte-1h32yp1){font-style:italic;font-weight:700}nav.svelte-1h32yp1 ul:where(.svelte-1h32yp1) li:where(.svelte-1h32yp1) .logo:where(.svelte-1h32yp1){justify-content:baseline;align-items:center;width:100%;height:100%;display:flex}@media (pointer:coarse),(pointer:none){nav.svelte-1h32yp1{border-top:1px dotted gray}}
