@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.geist_3f32fc2e-module__AmMfiq__className{font-family:Geist,Arial,sans-serif;font-style:normal}.geist_3f32fc2e-module__AmMfiq__variable{--font-sans:"Geist", Arial, sans-serif}
:root{--bg:#fcfcfc;--fg:#111;--fg-muted:#6f6f6f;--line:#e6e6e6;--error:#b42318;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--text-lead:1.25rem;--container:min(100% - 3rem, 48rem);--rail:7.5rem;--gutter:3rem;--measure:34rem;--section-gap:clamp(4rem, 9vh, 6rem);--row-gap:1.75rem;--radius:3px;--duration:.15s;--ease:cubic-bezier(.2, .8, .2, 1)}.dark{--bg:#0b0b0b;--fg:#ededed;--fg-muted:#8f8f8f;--line:#242424;--error:#f87171}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{--font-sans-stack:var(--font-sans), "Arial", sans-serif;font-family:var(--font-sans-stack);font-size:var(--text-base);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.65}h1,h2,h3{font-size:inherit;font-weight:500;line-height:1.4}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ul,ol{list-style:none}img,svg{max-width:100%;display:block}::selection{background:var(--fg);color:var(--bg)}:focus-visible{outline:1.5px solid var(--fg);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--fg);color:var(--bg);border-radius:var(--radius);font-size:var(--text-xs);transition:transform .2s var(--ease);padding:.5rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-300%)}.skip-link:focus-visible{transform:translateY(0)}.link{border-bottom:1px solid var(--line);transition:border-color var(--duration) var(--ease);padding-bottom:1px}.link:hover{border-bottom-color:currentColor}.link-quiet{color:var(--fg-muted);transition:color var(--duration) var(--ease), border-color var(--duration) var(--ease);border-bottom:1px solid #0000;padding-bottom:1px}.link-quiet:hover{color:var(--fg);border-bottom-color:var(--line)}.site-header{width:var(--container);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-inline:auto;padding-block:1.75rem;display:flex}.brand{font-size:var(--text-sm);letter-spacing:-.011em;font-weight:500}.site-header__actions{align-items:center;gap:1.25rem;display:flex}.site-nav{font-size:var(--text-xs);gap:1.25rem;display:flex}.theme-toggle{width:1.25rem;height:1.25rem;color:var(--fg-muted);transition:color var(--duration) var(--ease);justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{color:var(--fg)}.theme-toggle .icon-sun{display:none}.dark .theme-toggle .icon-sun{display:block}.dark .theme-toggle .icon-moon{display:none}.page-shell{width:var(--container);margin-inline:auto}.section{row-gap:1.25rem;scroll-margin-top:1rem;display:grid}.section+.section{margin-top:var(--section-gap);padding-top:var(--section-gap);border-top:1px solid var(--line)}.section--intro{padding-top:clamp(3rem,8vh,5rem)}.section__label{font-size:var(--text-xs);color:var(--fg)}@media (min-width:768px){.section{grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--gutter);row-gap:0}.section--intro .section__body{grid-column:2}}.intro__name{font-size:var(--text-base);letter-spacing:-.011em}.intro__role{font-size:var(--text-sm);color:var(--fg-muted)}.intro__lead{max-width:var(--measure);font-size:var(--text-lead);letter-spacing:-.011em;margin-top:1.75rem;line-height:1.55}.intro__lead .link{border-bottom-color:var(--fg-muted)}.intro__meta{font-size:var(--text-xs);color:var(--fg-muted);margin-top:1.75rem}.list{display:grid}.list__item{padding-block:var(--row-gap);border-bottom:1px solid var(--line)}.list__item:first-child{padding-top:0}.list__item:last-child{border-bottom:0;padding-bottom:0}.row__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1.5rem;display:flex}.row__title{font-size:var(--text-base)}.row__meta{font-size:var(--text-xs);color:var(--fg-muted);gap:1rem;display:flex}.row__desc{max-width:var(--measure);font-size:var(--text-sm);color:var(--fg-muted);margin-top:.5rem}.row__detail{font-size:var(--text-xs);color:var(--fg-muted);margin-top:.75rem}.contact__note{max-width:var(--measure);font-size:var(--text-sm);color:var(--fg-muted)}.contact__email{font-size:var(--text-base);margin-top:1.25rem;display:inline-block}.contact-form{max-width:var(--measure);gap:1.75rem;margin-top:3rem;display:grid}.field{flex-direction:column;gap:.4rem;display:flex}.field label{font-size:var(--text-xs);color:var(--fg-muted)}.field input,.field textarea{font:inherit;font-size:var(--text-base);color:var(--fg);border:0;border-bottom:1px solid var(--line);transition:border-color var(--duration) var(--ease);background:0 0;border-radius:0;padding:.5rem 0}.field textarea{resize:vertical;min-height:6rem;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:var(--fg-muted);opacity:.6}.field input:focus-visible,.field textarea:focus-visible{border-bottom-color:var(--fg);box-shadow:0 1px 0 0 var(--fg);outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-bottom-color:var(--error)}.field input[aria-invalid=true]:focus-visible,.field textarea[aria-invalid=true]:focus-visible{border-bottom-color:var(--error);box-shadow:0 1px 0 0 var(--error)}.field__error{font-size:var(--text-xs);color:var(--error)}.submit-button{border-radius:var(--radius);background:var(--fg);color:var(--bg);font-size:var(--text-xs);transition:opacity var(--duration) var(--ease);justify-self:start;align-items:center;padding:.6rem 1.1rem;font-weight:500;display:inline-flex}.submit-button:hover{opacity:.85}.submit-button:disabled{opacity:.5;cursor:default}.footer{margin-top:var(--section-gap);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--fg-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;padding:1.75rem 0 3rem;display:flex}.footer__links{gap:1.25rem;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
