@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Yrsa:ital,wght@0,300..700;1,300..700&display=swap";*,:after,:before{box-sizing:border-box}html{line-sizing:normal}body{margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.17rem}h4{font-size:1rem}h5{font-size:.83rem}h6{font-size:.67rem}h1{margin:.67em 0}pre{white-space:pre-wrap}hr{border-style:solid;border-width:1px 0 0;overflow:visible}audio,canvas,embed,iframe,img,object,svg,video{display:block;max-width:100%;vertical-align:middle}canvas,img,svg,video{height:auto}audio{width:100%}img{border-style:none}svg{overflow:hidden}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}:root{--textColor:#1a1611;--textColorLight:#3c2a21;--textColorLighter:#6b5b73;--textColorSubtle:#9b8c8c;--primaryColor:#1a1611;--primaryColorLight:#3c2a21;--secondaryColor:#6b5b73;--accentColor:#8b4513;--focusColor:#8b4513;--backgroundColor:#faf7f2;--backgroundColorAlt:#f5f2ed;--backgroundWarm:#faf7f2;--borderColor:#d4c4b0;--borderColorLight:#e5d9c9;--terracottaColor:#cd6133;--forestColor:#4a5d23;--indigoColor:#2c3e50;--soganColor:#b8860b}@media (prefers-color-scheme:dark){:root{--color-mode:"dark"}:root:not([data-user-color-scheme]){--textColor:#e8e3dc;--textColorLight:#d1c7b8;--textColorLighter:#a8998f;--textColorSubtle:#736660;--primaryColor:#e8e3dc;--primaryColorLight:#d1c7b8;--secondaryColor:#a8998f;--accentColor:#d4a574;--focusColor:#d4a574;--backgroundColor:#0f0e0d;--backgroundColorAlt:#1a1918;--backgroundWarm:#151413;--borderColor:#3a332b;--borderColorLight:#2d2621;--terracottaColor:#e17b47;--forestColor:#5a6b2d;--indigoColor:#34495e;--soganColor:#daa520}}:root{--font-sans:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-serif:"Yrsa",Georgia,"Times New Roman",serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}body{font-family:var(--font-serif);font-size:1.125rem;font-weight:400;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--mq-small:"screen and (max-width: 47.9375em)";--mq-medium:"screen and (min-width: 48em)";--mq-large:"only screen and (min-width: 64.0625em)";--mq-x-large:"screen and (min-width: 90em)";--spacing-none:0;--spacing-xx-small:.25rem;--spacing-x-small:.5rem;--spacing-small:.75rem;--spacing-medium:1rem;--spacing-large:1.5rem;--spacing-x-large:2rem;--spacing-xx-large:6rem;--container-max-width:80rem;--font-size-xs:13px;--font-size-sm:15px;--font-size-base:18px;--font-size-lg:21px;--font-size-xl:28px;--font-size-2xl:36px;--font-size-3xl:52px;--font-size-4xl:68px;--line-height-tight:.9;--line-height-base:1.4;--line-height-relaxed:1.5}.aspect-ratio-hack--16-9{position:relative}.aspect-ratio-hack--16-9:before{content:"";display:block;padding-top:56.25%;width:100%}.aspect-ratio-hack--16-9>*{bottom:0;left:0;position:absolute;right:0;top:0}.aspect-ratio--16-9{aspect-ratio:16/9}.skiplink{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px}.skiplink:focus{border-radius:4px;clip:auto;color:var(--textColor);height:auto;margin:.5em;padding:.5em 1em;text-decoration:none;width:auto;z-index:1}:active,:focus{border:none;outline:none}.focus-visible{box-shadow:0 0 0 3px var(--focusColor);outline:none}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}html{line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}hr{color:inherit;height:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@media print{*,:after,:before{background:#0000!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{background-color:var(--backgroundColor);color:var(--textColor);padding-right:var(--scrollbarComp)}.button,button{align-items:center;background-color:var(--textColor);border-radius:24px;color:#fff;display:inline-flex;font-size:1.125rem;font-weight:600;height:48px;line-height:1rem;padding:1rem 1.5rem;text-decoration:none;text-transform:none;white-space:nowrap}.button:hover,button:hover{background-color:#1a1a1ad9}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--primaryColor)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-base);margin:0 0 .75em}h1{font-family:var(--font-sans);font-size:var(--font-size-3xl);font-weight:400;line-height:var(--line-height-tight);margin-bottom:1em}h2{font-size:var(--font-size-2xl);margin-top:2em}h2,h3{font-weight:700;margin-bottom:.75em}h3{font-size:var(--font-size-xl);margin-top:1.5em}h4{font-size:var(--font-size-lg);margin-top:1.5em}h4,h5{font-weight:600;margin-bottom:.5em}h5,h6{font-size:var(--font-size-base);margin-top:1.25em}h6{font-weight:600;margin-bottom:.5em}.mono,code,pre{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.text-large{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.text-small{font-size:var(--font-size-sm)}img{display:block;max-width:100%;vertical-align:middle}a{color:var(--primaryColor);font-family:var(--font-serif);font-style:italic;font-weight:var(--font-weight-medium);text-decoration:none;transition:all .2s ease}a:before{content:"→ ";opacity:1;transition:opacity .2s ease}a:hover{color:var(--terracottaColor)}a svg{display:inline-block;fill:currentColor}.link-serif{color:var(--secondaryColor);font-family:var(--font-serif);font-style:italic;text-decoration:underline;text-decoration-color:var(--terracottaColor);text-underline-offset:4px}.link-serif:hover{color:var(--accentColor);text-decoration-color:var(--soganColor)}.link-mono{border:1px solid var(--borderColor);border-radius:3px;color:var(--forestColor);font-family:var(--font-mono);font-size:.875em;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.link-mono:hover{background-color:var(--forestColor);border-color:var(--forestColor);color:var(--backgroundColor)}.link-accent{color:var(--accentColor);font-weight:var(--font-weight-bold);text-transform:lowercase}.link-accent:before{content:"→ ";opacity:0;transition:opacity .2s ease}.link-accent:hover:before{opacity:1}.link-accent:hover{color:var(--terracottaColor)}.link-subtle{color:var(--textColorLight);font-size:.9em;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.link-subtle:hover{color:var(--indigoColor);text-decoration-style:solid}h1 a,h2 a,h3 a{border-bottom:3px solid var(--soganColor);color:inherit;text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover{background-color:var(--soganColor);color:var(--backgroundColor)}ol,ul{font-size:var(--fluid-0);line-height:1.5}ol[class],ul[class]{list-style:none;padding:0}li>ol,li>ul{margin-bottom:0;margin-left:var(--spacing-medium)}section.list{margin:var(--spacing-xx-large) 0}p{font-size:var(--font-size-base);line-height:var(--line-height-base);margin-bottom:1.25em}span.marker{box-shadow:inset 0 -14px #ffec9e;display:inline-block;line-height:.6}body{overflow-x:hidden}.layout{display:flex;flex-direction:column;min-height:100%;min-height:100vh;position:relative}.container{margin:0 auto;max-width:900px;padding:3rem 2rem;width:100%}.intro{margin:4rem 0}.intro .intro__text{color:var(--textColor);font-size:var(--fluid-1);line-height:1.6;margin-bottom:2rem}.quick-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin:3rem 0}.work{margin:4rem 0}.work p{line-height:1.6;margin-bottom:1.5rem}.experience{margin-top:4rem}.experience h3{color:var(--textColor);margin-bottom:2rem}.experience-item{border-bottom:1px solid var(--borderColorLight);margin-bottom:1rem;padding-bottom:1rem}.experience-item:last-child{border-bottom:none;margin-bottom:0}.experience-period{color:var(--textColorLight);font-size:.875rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.experience-role{color:var(--textColor);font-size:1.1rem;font-weight:var(--font-weight-medium);line-height:1.4;margin-bottom:.25rem}.experience-location{color:var(--textColorLight);font-size:.9rem;font-style:italic;margin-bottom:.75rem}.experience-description{color:var(--textColor);font-size:.95rem;line-height:1.5;margin:0}.publications{margin-top:4rem}.publications h3{margin-bottom:2rem}.publications-table{border-collapse:collapse;margin-top:2rem;width:100%}.publications-table th{border-bottom:1px solid var(--borderColor);color:var(--textColorLight);font-family:var(--font-mono);font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:.05em;padding:1rem .5rem;text-align:left;text-transform:uppercase}.publications-table td{border-bottom:1px solid var(--borderColorLight);line-height:1.5;padding:1rem .5rem;vertical-align:top}.publications-table td:first-child{color:var(--textColorLight);font-family:var(--font-mono);font-size:.875rem;width:80px}.publications-table td:last-child{color:var(--textColorLight);font-size:.9em}.publications-table tbody tr{transition:background-color .1s ease}.publications-table tbody tr:hover{background-color:var(--backgroundColorAlt)}@media (max-width:768px){.container{padding:2rem 1rem}.quick-links{align-items:center;flex-direction:column;gap:1rem}.publications p{padding:1rem}}.site-header__container{display:flex;justify-content:space-between;margin:0 auto;max-width:var(--container-max-width);padding:2rem 1rem;padding:clamp(var(--spacing-x-small),4vw,var(--spacing-x-large)) clamp(var(--spacing-medium),3.75vw,var(--spacing-x-large));position:relative}.site-header .nav--primary ul{font-size:var(--fluid-2);margin:.75rem 0}.site-header .nav--primary a{display:block;padding:.25em 0}.site-footer{padding:2rem;text-align:left}.site-footer__container{display:block;margin:0 auto;max-width:calc(var(--columnPaddingNormal)*2 + var(--layoutWidth));padding:var(--columnPaddingNormal);position:relative}@media (min-width:60em){.site-footer__container{padding:calc(var(--columnPaddingNormal)*2)}}.site-footer a{color:inherit;font-weight:700;text-decoration:underline}.footer-rss-link{background-color:initial!important;border-bottom:none!important;color:var(--textColorLight)!important;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:400!important;text-decoration:none!important}.footer-rss-link:before{content:none!important;display:none!important}.footer-rss-link:hover{background-color:initial!important;border-bottom:none!important;color:var(--accentColor)!important}.postlist ol[class]{list-style-type:none;padding:0}.postlist-item:has(a+time) h2{margin-bottom:1rem}.hero{background:linear-gradient(135deg,var(--backgroundColorAlt) 0,var(--backgroundWarm) 100%);border-bottom:3px solid var(--borderColor);padding:4rem 0;text-align:center}.hero__content{margin:0 auto;max-width:800px;padding:0 2rem}.hero__title{color:var(--textColor);font-size:var(--fluid-5);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin-bottom:.5rem}.hero__subtitle{color:var(--textColorLight);font-style:italic;margin-bottom:2rem}.hero__location{align-items:center;background-color:var(--backgroundColor);border:2px solid var(--borderColorLight);border-radius:50px;display:inline-flex;gap:.5rem;padding:.75rem 1.5rem}.hero__location strong{color:var(--primaryColor);font-family:var(--font-mono)}.color-showcase{border-radius:8px;box-shadow:0 4px 20px #0000001a;display:flex;gap:0;justify-content:center;margin:3rem auto;max-width:600px;overflow:hidden}.color-showcase__item{align-items:center;display:flex;flex:1;height:80px;justify-content:center;position:relative;transition:all .3s ease}.color-showcase__item span{color:var(--backgroundColor);font-family:var(--font-mono);font-size:.75rem;font-weight:var(--font-weight-medium);letter-spacing:.1em;opacity:0;text-shadow:0 1px 2px #0000004d;text-transform:uppercase;transition:opacity .2s ease}.color-showcase__item:hover{flex:1.2}.color-showcase__item:hover span{opacity:1}@media (max-width:600px){.color-showcase{margin:2rem 1rem}.color-showcase__item{height:60px}.color-showcase__item span{font-size:.65rem}}.sketches-page{min-height:100vh;position:relative}.sketches-header{align-items:flex-end;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#faf8f5f2;border:1px solid var(--borderColorLight);border-radius:8px;bottom:2rem;display:flex;gap:2rem;justify-content:space-between;left:2rem;max-height:calc(100vh - 6rem);overflow:hidden;padding:.75rem 1.5rem;position:fixed;right:2rem;z-index:1000}.sketches-header .sketches-info{flex:1}.sketches-header .sketches-info h2{color:var(--textColor);font-size:var(--fluid-1);margin:0 0 .5rem}.sketches-header .sketches-info .sketches-description{color:var(--textColorLight);font-size:.8rem;line-height:1.3;margin:0}.sketches-header .sketches-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.5rem}.sketches-header .sketches-filters .filter-btn{background:#0000;border:1px solid var(--borderColor);border-radius:4px;color:var(--textColor);cursor:pointer;font-family:var(--font-mono);font-size:.7rem;font-weight:var(--font-weight-medium);letter-spacing:.5px;padding:.4rem .8rem;text-transform:uppercase;transition:all .2s ease}.sketches-header .sketches-filters .filter-btn.active,.sketches-header .sketches-filters .filter-btn:hover{background-color:var(--primaryColor);border-color:var(--primaryColor);color:var(--backgroundColor)}@media (max-width:768px){.sketches-header{flex-direction:column;gap:1rem;left:1rem;max-height:calc(100vh - 4rem);padding:.5rem 1rem;right:1rem}.sketches-header .sketches-info h2{font-size:1.1rem;margin:0 0 .25rem}.sketches-header .sketches-info .sketches-description{font-size:.75rem}.sketches-header .sketches-filters{justify-content:flex-start}.sketches-header .sketches-filters .filter-btn{flex-shrink:0;font-size:.6rem;min-width:auto;padding:.3rem .6rem}}.sketches-map{height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1}.leaflet-control-zoom a{font-family:inherit!important;font-style:normal!important;font-weight:400!important;text-decoration:none!important}.leaflet-control-zoom a:before{content:none!important}.leaflet-control-zoom-in a{align-items:center;display:flex;justify-content:center}.leaflet-control-zoom-in a:after{content:"+";font-size:18px;font-weight:700;line-height:1}.leaflet-control-zoom-out a{align-items:center;display:flex;justify-content:center}.leaflet-control-zoom-out a:after{content:"−";font-size:18px;font-weight:700;line-height:1}.sketch-marker{background-color:var(--primaryColor);border:3px solid var(--backgroundColor);border-radius:50%;cursor:pointer;height:24px;position:relative;transition:all .2s ease;width:24px}.sketch-marker:hover{background-color:var(--accentColor);transform:scale(1.2)}.sketch-marker .sketch-marker__dot{background-color:inherit;border-radius:50%;height:100%;width:100%}.sketch-marker .sketch-marker__count{background-color:var(--terracottaColor);border:2px solid var(--backgroundColor);border-radius:50%;color:var(--backgroundColor);font-family:var(--font-mono);font-size:.7rem;font-weight:var(--font-weight-bold);height:18px;position:absolute;right:-8px;top:-8px;width:18px}.sketch-cluster,.sketch-marker .sketch-marker__count{align-items:center;display:flex;justify-content:center}.sketch-cluster{background-color:var(--forestColor);border:3px solid var(--backgroundColor);border-radius:50%;cursor:pointer;height:40px;transition:all .2s ease;width:40px}.sketch-cluster:hover{background-color:var(--indigoColor);transform:scale(1.1)}.sketch-cluster span{color:var(--backgroundColor);font-family:var(--font-mono);font-size:.875rem;font-weight:var(--font-weight-bold)}.sketch-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;padding:2rem;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;width:100%;z-index:1000}.sketch-modal,.sketch-modal.hidden{opacity:0;visibility:hidden}.sketch-modal:not(.hidden){opacity:1;visibility:visible}.sketch-modal .sketch-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000c;height:100%;left:0;position:absolute;top:0;transition:backdrop-filter .3s ease;width:100%}.sketch-modal .sketch-modal__content{background-color:var(--backgroundColor);border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;max-height:80vh;max-width:1000px;overflow:hidden;position:relative;transform:scale(.95) translateY(20px);transition:transform .3s ease;width:100%}.sketch-modal:not(.hidden) .sketch-modal__content{transform:scale(1) translateY(0)}.sketch-modal .sketch-modal__close{align-items:center;background:none;background-color:var(--backgroundColor);border:none;border-radius:50%;box-shadow:0 2px 8px #0003;color:var(--textColorLight);cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:40px;z-index:10}.sketch-modal .sketch-modal__close:hover{background-color:var(--backgroundColorAlt);color:var(--textColor)}.sketch-modal .sketch-modal__images{display:flex;flex:1;flex-direction:column;overflow:hidden;position:relative}.sketch-modal .sketch-modal__image{display:flex;min-height:100%;opacity:1;transform:translate(0);transition:opacity .15s ease}.sketch-modal .sketch-modal__image.transitioning-in,.sketch-modal .sketch-modal__image.transitioning-out{opacity:0}.sketch-modal .sketch-modal__image img{border-radius:0;height:auto;margin:0;max-height:100%;object-fit:contain;transition:none;width:100%}.sketch-modal .sketch-modal__image.single-image img{border-radius:0;height:100%;margin:0;object-fit:contain;width:100%}.sketch-modal .sketch-modal__image:not(.single-image){flex-direction:column;margin-bottom:2rem;padding:2rem}.sketch-modal .sketch-modal__image:not(.single-image):last-child{margin-bottom:0}.sketch-modal .sketch-modal__image:not(.single-image) img{border-radius:8px;height:auto;margin-bottom:1rem;width:100%}.sketch-modal .sketch-modal__sidebar{background-color:var(--backgroundColorAlt);border-left:1px solid var(--borderColorLight);display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:2rem;width:350px}.sketch-modal .sketch-modal__sidebar .sketch-modal__image-info{opacity:1;transition:opacity .15s ease}.sketch-modal .sketch-modal__sidebar .sketch-modal__image-info.transitioning{opacity:.3}.sketch-modal .sketch-modal__sidebar .sketch-modal__image-info h4{color:var(--primaryColor);font-family:var(--font-serif);font-size:var(--fluid-1);font-style:italic;line-height:1.3;margin-bottom:.75rem}.sketch-modal .sketch-modal__sidebar .sketch-modal__image-info p{color:var(--textColorLight);font-size:.9rem;line-height:1.5;margin:0;word-wrap:break-word;overflow-wrap:break-word}.sketch-modal .sketch-modal__sidebar .sketch-modal__navigation{display:flex;gap:.5rem}.sketch-modal .sketch-modal__sidebar .sketch-modal__navigation button{background-color:var(--backgroundColor);border:1px solid var(--borderColor);border-radius:6px;color:var(--textColor);cursor:pointer;flex:1;font-family:var(--font-mono);font-size:.8rem;padding:.5rem 1rem;transition:all .2s ease}.sketch-modal .sketch-modal__sidebar .sketch-modal__navigation button:hover:not(:disabled){background-color:var(--primaryColor);border-color:var(--primaryColor);color:var(--backgroundColor)}.sketch-modal .sketch-modal__sidebar .sketch-modal__navigation button:disabled{cursor:not-allowed;opacity:.5}.sketch-modal .sketch-modal__info{align-items:center;background-color:var(--backgroundColorAlt);border-top:1px solid var(--borderColorLight);display:flex;gap:1.5rem;padding:2rem}.sketch-modal .sketch-modal__info .sketch-modal__location{align-items:center;display:flex;gap:.5rem}.sketch-modal .sketch-modal__info .sketch-modal__location .location-icon{fill:var(--textColorLight);height:18px;opacity:.8;width:18px}.sketch-modal .sketch-modal__info .sketch-modal__location span{color:var(--textColor);font-family:var(--font-sans);font-size:.9rem;margin:0}.sketch-modal .sketch-modal__info .sketch-modal__date{align-items:center;display:flex;gap:.5rem}.sketch-modal .sketch-modal__info .sketch-modal__date .date-icon{fill:var(--textColorLight);height:18px;opacity:.8;width:18px}.sketch-modal .sketch-modal__info .sketch-modal__date span{color:var(--textColorLight);font-family:var(--font-mono);font-size:.9rem;margin:0}@media (max-width:768px){.sketch-modal{padding:.5rem}.sketch-modal .sketch-modal__content{border-radius:12px;flex-direction:column;max-height:95vh;max-width:none}.sketch-modal .sketch-modal__images{flex:none;height:60vh;min-height:300px;order:1}.sketch-modal .sketch-modal__image{height:100%}.sketch-modal .sketch-modal__image img{height:100%;object-fit:contain;width:100%}.sketch-modal .sketch-modal__sidebar{flex:none;max-height:35vh;order:2;padding:1rem;width:100%}.sketch-modal .sketch-modal__info{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}}.field-notes-container{margin:0 auto;max-width:670px;padding:0 2rem}.field-notes-container h1{margin-bottom:10rem;margin-top:5rem}.field-notes-list{list-style:none;margin:2rem 0;padding:0}.field-note-item{border-bottom:1px solid var(--borderColorLight);margin-bottom:3rem;padding-bottom:2rem}.field-note-item:last-child{border-bottom:none}.field-note-image{border-radius:4px;margin-bottom:.75rem;overflow:hidden}.field-note-image a{background-color:initial!important;border-bottom:none!important;display:block;text-decoration:none}.field-note-image a:before{content:none!important;display:none!important}.field-note-image a:hover{background-color:initial!important;border-bottom:none!important;opacity:.9}.field-note-image img{display:block;height:auto;width:100%}.field-note-date{color:var(--textColorLight);display:block;font-family:var(--font-serif);font-size:var(--font-size-sm);letter-spacing:.05em;margin-bottom:.5rem}.field-note-title{font-size:var(--font-size-xl);font-weight:600;line-height:1.3;margin:0}.field-note-title a{background-color:initial!important;border-bottom:none!important;color:var(--textColor)!important;font-family:var(--font-sans);font-style:normal!important;text-decoration:none!important}.field-note-title a:before{content:none!important;display:none!important}.field-note-title a:hover{background-color:initial!important;border-bottom:none!important;color:var(--accentColor)!important}.field-note-title-subtitle{color:var(--textColorSubtle);font-family:var(--font-sans);font-size:var(--font-size-xl);font-weight:400;margin-left:.5rem}.field-note-header{margin-bottom:4rem;margin-left:auto;margin-right:auto;max-width:670px;padding:5rem 2rem 4rem;text-align:center}.field-note-heading{color:var(--textColor);letter-spacing:-.02em;line-height:1.2}.field-note-heading,.field-note-subtitle{font-family:var(--font-sans);font-size:var(--font-size-2xl);font-weight:400;margin:0 0 1rem;text-align:left}.field-note-subtitle{color:var(--textColorSubtle);font-style:normal;line-height:1}.field-note-meta-date{color:var(--textColorSubtle);display:block;font-family:var(--font-serif);font-size:var(--font-size-base);font-weight:400;letter-spacing:normal;text-align:left;text-transform:none}.field-note-content>blockquote,.field-note-content>h2,.field-note-content>h3,.field-note-content>h4,.field-note-content>h5,.field-note-content>h6,.field-note-content>ol,.field-note-content>p,.field-note-content>ul{margin-left:auto;margin-right:auto;max-width:670px;padding-left:2rem;padding-right:2rem}.field-note-content>p{color:var(--textColor);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:1.5rem}.field-note-content>h2{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:1.5rem;margin-top:3rem}.field-note-content>h2 a{background-color:initial!important;border-bottom:none!important;font-style:normal!important}.field-note-content>h2 a:before{content:none!important;display:none!important}.field-note-content>h2 a:hover{background-color:initial!important}.field-note-content>h3{font-size:var(--font-size-xl);font-weight:600;margin-bottom:1rem;margin-top:2rem}.field-note-content>h3 a{background-color:initial!important;border-bottom:none!important;font-style:normal!important}.field-note-content>h3 a:before{content:none!important;display:none!important}.field-note-content>h3 a:hover{background-color:initial!important}.field-note-content p a{font-style:normal!important}.field-note-content p a:before{content:none!important;display:none!important}.field-note-figure{margin:3rem auto;max-width:1200px;width:100%}.field-note-figure img{display:block;height:auto;width:100%}.field-note-figure picture{display:block;line-height:0}.field-note-figure figcaption{color:var(--textColorLight);font-size:var(--font-size-sm);font-style:italic;line-height:1.5;margin:1rem auto 0;max-width:670px;padding:0 2rem;text-align:center}.field-note-navigation{border-top:1px solid var(--borderColorLight);display:flex;gap:2rem;justify-content:space-between;margin-left:auto;margin-right:auto;margin-top:6rem;max-width:1200px;padding:3rem 2rem}.field-note-nav-prev{flex:1;text-align:left}.field-note-nav-next{flex:1;text-align:right}.field-note-nav-link{background-color:initial!important;border-bottom:none!important;color:var(--textColor)!important;display:inline-flex;flex-direction:column;font-style:normal!important;gap:.5rem;text-decoration:none!important}.field-note-nav-link:before{content:none!important;display:none!important}.field-note-nav-link:hover{background-color:initial!important;border-bottom:none!important}.field-note-nav-link:hover .field-note-nav-label,.field-note-nav-link:hover .field-note-nav-title{color:var(--accentColor)!important}.field-note-nav-label{color:var(--textColorSubtle);font-size:var(--font-size-sm)}.field-note-nav-label,.field-note-nav-title{font-family:var(--font-sans);font-weight:400}.field-note-nav-title{color:var(--textColor);font-size:var(--font-size-lg);text-decoration:underline}.field-note-footer{margin-left:auto;margin-right:auto;margin-top:2rem;max-width:670px;padding:2rem 2rem 4rem;text-align:center}.back-link{align-items:center;color:var(--textColor)!important;display:inline-flex;font-family:var(--font-sans);font-style:normal!important;text-decoration:none!important}.back-link:before{content:none!important;display:none!important}.back-link:hover{color:var(--accentColor)!important}.pagination{align-items:center;border-top:1px solid var(--borderColorLight);display:flex;gap:1rem;justify-content:space-between;margin-bottom:4rem;margin-top:4rem;padding-top:2rem}.pagination-link{background-color:initial!important;border-bottom:none!important;color:var(--textColor)!important;font-family:var(--font-sans);font-size:var(--font-size-base);font-style:normal!important;text-decoration:none!important}.pagination-link:before{content:none!important;display:none!important}.pagination-link:hover{background-color:initial!important;border-bottom:none!important;color:var(--accentColor)!important}.pagination-info{color:var(--textColorLight);font-family:var(--font-sans);font-size:var(--font-size-sm)}@media (max-width:768px){.field-notes-container{padding:0 1.5rem}.pagination{flex-direction:column;gap:1.5rem;text-align:center}.pagination-next,.pagination-prev{width:100%}.field-note-header{margin-bottom:3rem;padding:3rem 1.5rem}.field-note-heading{font-size:var(--font-size-2xl)}.field-note-subtitle{font-size:var(--font-size-xl)}.field-note-content>blockquote,.field-note-content>h2,.field-note-content>h3,.field-note-content>h4,.field-note-content>h5,.field-note-content>h6,.field-note-content>ol,.field-note-content>p,.field-note-content>ul{padding-left:1.5rem;padding-right:1.5rem}.field-note-content>p{font-size:var(--font-size-base)}.field-note-figure{margin:2rem auto}.field-note-figure figcaption{margin-top:.75rem;padding:0 1.5rem}.field-note-navigation{flex-direction:column;gap:2rem;margin-top:4rem;padding:2rem 1.5rem}.field-note-nav-next,.field-note-nav-prev{text-align:left}.field-note-footer{margin-top:2rem;padding:2rem 1.5rem 3rem}}.homepage{margin:0 auto;max-width:670px;padding:3rem 2rem}@media (max-width:768px){.homepage{padding:2rem 1.5rem}}.content-box{background-color:var(--backgroundColor,#fff);border:1px solid var(--borderColor,#e0e0e0);margin-bottom:2rem;padding:2.5rem}@media (max-width:768px){.content-box{margin-bottom:1.5rem;padding:1.5rem}}.content-box h3,.content-box h4{color:var(--textColor);font-family:var(--font-sans);font-size:var(--font-size-xl);font-weight:400;margin-bottom:3rem;margin-top:0}.content-box p{color:var(--textColor);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:1.25em}.content-box p:last-child{margin-bottom:0}.content-box a{color:var(--textColor);text-decoration:underline}.content-box a:hover{color:var(--textColorLight)}.content-box--intro p{font-size:var(--font-size-lg,1.125rem)}.content-box--contact .quick-links{display:flex;flex-direction:column;gap:.75rem}.content-box--contact .quick-links .contact-item{line-height:var(--line-height-base)}.content-box--experience .experience-item{border-bottom:1px solid var(--borderColorLight)}.content-box--experience .experience-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.content-box--experience .experience-header{align-items:baseline;display:flex;gap:2rem;justify-content:space-between;margin-bottom:.5rem}.content-box--experience .experience-title{color:var(--textColor);flex:1;font-weight:var(--font-weight-normal)}.content-box--experience .experience-period{color:var(--textColorLight);white-space:nowrap}.content-box--experience .experience-company{color:var(--textColorSubtle);font-size:var(--font-size-base)}.content-box--publications .publication-item{line-height:var(--line-height-relaxed)}.content-box--publications .publication-item:last-child{margin-bottom:0}.content-box--publications .publication-item .publication-year{color:var(--textColorLight)}.content-box--projects .project-item{line-height:var(--line-height-relaxed)}.content-box--projects .project-item:last-child{margin-bottom:0}.projects-list{margin:2rem 0;max-width:800px}.project-item{border-bottom:1px solid var(--borderColorLight);margin-bottom:3rem;padding-bottom:2rem}.project-item:last-child{border-bottom:none;margin-bottom:0}.project-title{font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.project-title a{color:var(--textColor);text-decoration:none}.project-title a:hover{color:var(--primaryColor);text-decoration:underline}.project-description{color:var(--textColor);font-size:1rem;line-height:1.6;margin:0 0 1rem}.project-tech{margin-bottom:1rem}.project-tech .tech-tag{background-color:var(--backgroundColorAlt);border:1px solid var(--borderColor);border-radius:4px;color:var(--textColorLight);display:inline-block;font-size:.875rem;margin-bottom:.25rem;margin-right:.5rem;padding:.25rem .5rem}.project-links{margin-bottom:.75rem}.project-links .project-link{color:var(--primaryColor);display:inline-block;font-size:.925rem;margin-right:1rem;text-decoration:none}.project-links .project-link:hover{text-decoration:underline}.project-status{color:var(--textColorLight);font-size:.875rem;font-style:italic}.writing-list{list-style:none;margin:2rem 0;padding:0}.writing-item{border-bottom:1px solid var(--color-neutral-200);margin-bottom:2rem;padding-bottom:1.5rem}.writing-item:last-child{border-bottom:none}.writing-date{color:var(--color-neutral-500);display:block;font-family:var(--font-mono);font-size:.875rem;margin-bottom:.5rem}.writing-title{font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.writing-title a{color:var(--color-neutral-900);text-decoration:none}.writing-title a:hover{color:var(--color-primary-600);text-decoration:underline}.writing-excerpt{color:var(--color-neutral-600);line-height:1.5;margin:0}
