:root{--paper:#faf8f5;--ink:#1a1a1a;--text:#0f0f0f;--ink-muted:#3d3d3d;--on-dark:#faf8f5;--accent:#c45c26;--theme-toggle-bg:var(--paper);--font:"Overpass", ui-sans-serif, system-ui, sans-serif;--font-mono:"Overpass Mono", ui-monospace, monospace;--font-mono-weight:600;--page-width:48rem;--ink-subtle:#1a1a1a47;--rule:#1a1a1a24;--matte:#e6e1d6;--matte-line:#1a1a1a29;--matte-depth:2.25rem;--matte-gutter:1rem}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#080a10;--ink:#b4b8c4;--text:#8a8f9c;--ink-muted:#5a5f6e;--on-dark:#b8bcc8;--accent:#e0a080;--theme-toggle-bg:#10141c;--ink-subtle:#949cac73;--rule:#949cac33;--matte:#12161f;--matte-line:#ffffff1f}@media (prefers-reduced-motion:no-preference){html.theme-transition,html.theme-transition *,html.theme-transition :before,html.theme-transition :after{transition:background-color .55s ease-in-out,color .55s ease-in-out,border-color .55s ease-in-out!important}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{font-size:18px}body{background:var(--paper);min-height:100vh;color:var(--text);font-family:var(--font);margin:0;font-weight:300;line-height:1.65}h1,h2,h3{text-transform:lowercase}a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--ink-subtle);text-decoration-color:var(--ink-subtle);text-underline-offset:.14em}a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.site-shell{max-width:var(--page-width);flex-direction:column;min-height:100vh;margin:0 auto;padding:1.5rem 1.5rem 4rem;display:flex}.site-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.site-brand{min-width:0}.site-title__link{font-family:var(--font-mono);font-size:1.15rem;font-weight:var(--font-mono-weight);color:var(--ink);text-transform:lowercase;line-height:1.2;text-decoration:none}.site-title__link:hover{color:var(--accent)}.site-tagline{color:var(--ink-muted);margin:.2rem 0 0;font-size:.78rem}.site-nav{font-family:var(--font-mono);text-transform:lowercase;flex-shrink:0;gap:1rem;font-size:.85rem;display:flex}.nav-link{color:var(--ink-muted);border-bottom:2px solid #0000;padding-bottom:.1rem;text-decoration:none}.nav-link:hover{color:var(--accent)}.nav-link--active{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}.page-content{width:100%}.panel-copy{text-wrap:pretty;font-size:.95rem}.panel-copy p,.panel-copy ul{margin:0 0 .85rem}.work-intro{margin-bottom:2rem}.panel-heading{font-family:var(--font-mono);font-size:1rem;font-weight:var(--font-mono-weight);color:var(--ink);margin:0 0 .75rem}.experience-heading{margin-top:2rem}.availability-badge{font-family:var(--font-mono);color:var(--ink-muted);border-bottom:1px solid var(--rule);margin:0 0 1.5rem;padding:.45rem 0;font-size:.72rem}.work-section+.work-section{margin-top:2.25rem}.work-section__heading{font-family:var(--font-mono);font-size:.72rem;font-weight:var(--font-mono-weight);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem}.work-index{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.work-card__link,.work-card__body{border-bottom:1px solid var(--rule);color:inherit;padding:1rem 0;text-decoration:none;display:block}.work-card__link:hover{color:inherit;text-decoration:none}.work-card__link:hover .work-card__title{color:var(--accent)}.work-card--featured .work-card__link{padding-top:.15rem}.work-card__badge{font-family:var(--font-mono);font-size:.68rem;font-weight:var(--font-mono-weight);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem}.work-card__title{font-family:var(--font-mono);font-size:1.1rem;font-weight:var(--font-mono-weight);color:var(--ink);margin:0 0 .3rem;text-decoration:none}.work-card__meta{font-family:var(--font-mono);color:var(--ink-muted);text-transform:lowercase;margin:0 0 .45rem;font-size:.72rem}.work-card__summary{color:var(--text);margin:0;font-size:.92rem}.case-back{font-family:var(--font-mono);margin:0 0 1.25rem;font-size:.78rem}.case-back a{text-decoration:none}.case-back a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.case-study__header{border-bottom:1px solid var(--rule);margin-bottom:1.5rem;padding-bottom:1rem}.case-study__badge{font-family:var(--font-mono);font-size:.68rem;font-weight:var(--font-mono-weight);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}.case-study__title{font-family:var(--font-mono);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:var(--font-mono-weight);color:var(--ink);margin:0 0 .4rem;line-height:1.25}.case-study__meta,.case-study__tags{font-family:var(--font-mono);color:var(--ink-muted);margin:0 0 .35rem;font-size:.78rem}.case-study__tags{margin-bottom:0}.case-study__body h2{font-family:var(--font-mono);font-size:.95rem;font-weight:var(--font-mono-weight);color:var(--ink);margin:1.75rem 0 .5rem}.case-study__body p,.case-study__body ul,.case-study__body ol{margin:0 0 .85rem}.case-study__body ul,.case-study__body ol{padding-left:1.25rem}.case-study__body img{width:100%;height:auto;margin:.85rem 0 1.25rem;display:block}.case-study__body .case-figure{padding:var(--matte-depth);background:var(--matte);box-shadow:0 0 0 1px var(--matte-line);margin:1rem 0 1.5rem}.case-study__body .case-figure--half{float:left;width:calc(50% - .75rem);max-width:22rem;margin:.15rem 1.25rem 1rem 0}.case-study__body .case-figure--half-right{float:right;width:calc(50% - .75rem);max-width:22rem;margin:.15rem 0 1rem 1.25rem}.case-study__body h2,.case-study__body .case-figure-row,.case-study__body>.case-figure:not(.case-figure--half):not(.case-figure--half-right){clear:both}@media (width<=32rem){.case-study__body .case-figure--half,.case-study__body .case-figure--half-right{float:none;width:100%;max-width:none;margin:1rem 0 1.5rem}}.case-study__body .case-figure img{outline:1px solid var(--matte-line);outline-offset:-1px;filter:grayscale();margin:0;transition:filter .35s}[data-theme=dark] .case-study__body .case-figure img{filter:grayscale()invert()}[data-theme=dark] .case-study__body p:has(>img) img{filter:grayscale()invert()}@media (hover:hover) and (prefers-reduced-motion:no-preference){.case-study__body .case-figure:hover img,.case-study__body .case-figure:focus-within img{filter:none}.case-study__body p:has(>img+img):hover img{filter:none}.case-study__body>p:has(>img):not(:has(>img+img)):hover>img{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.case-study__body .case-figure:hover img,.case-study__body .case-figure:focus-within img{filter:none;transition:none}.case-study__body p:has(>img+img):hover img{filter:none;transition:none}.case-study__body>p:has(>img):not(:has(>img+img)):hover>img{filter:none;transition:none}}@media (hover:none){.case-study__body .case-figure img{filter:none}.case-study__body p:has(>img) img{filter:none}[data-theme=dark] .case-study__body .case-figure img{filter:invert()}[data-theme=dark] .case-study__body p:has(>img) img{filter:invert()}}.case-study__body .case-figure figcaption{font-family:var(--font-mono);text-align:center;color:var(--ink-muted);margin-top:.75rem;padding-inline:.35rem;font-size:.72rem;line-height:1.45}.case-study__body .case-figure figcaption a{color:inherit;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.case-study__body .case-figure-row{gap:.75rem var(--matte-gutter);padding:var(--matte-depth);background:var(--matte);box-shadow:0 0 0 1px var(--matte-line);grid-template-columns:1fr 1fr;align-items:start;margin:1rem 0 1.5rem;display:grid}.case-study__body p:has(>img+img){gap:.75rem var(--matte-gutter);padding:var(--matte-depth);background:var(--matte);box-shadow:0 0 0 1px var(--matte-line);grid-template-columns:1fr 1fr;align-items:start;margin:1rem 0 1.5rem;display:grid}.case-study__body p:has(>img+img) img{outline:1px solid var(--matte-line);outline-offset:-1px;margin:0}.case-study__body .case-figure-row .case-figure{box-shadow:none;background:0 0;margin:0;padding:0}.case-study__body .case-figure-row .case-figure figcaption{margin-top:.65rem}@media (width<=32rem){.case-study__body .case-figure-row{grid-template-columns:1fr}.case-study__body p:has(>img+img){grid-template-columns:1fr}}.case-study__body blockquote{border-left:2px solid var(--accent);color:var(--ink-muted);margin:0 0 .85rem;padding-left:.9rem}.case-study__body h3{font-family:var(--font-mono);font-size:.85rem;font-weight:var(--font-mono-weight);color:var(--ink);margin:1.25rem 0 .4rem}.experience-list{margin:0 0 1rem;padding:0;list-style:none}.experience-item{border-top:1px solid var(--rule);padding:.85rem 0}.experience-item:last-child{border-bottom:1px solid var(--rule)}.experience-item__header{font-family:var(--font);color:var(--text);flex-wrap:wrap;gap:.35rem .65rem;font-size:.95rem;font-weight:300;display:flex}.experience-item__org{color:var(--ink)}.experience-item__role{color:var(--text)}.experience-item__dates{color:var(--ink-muted)}.skills-list{margin:0 0 1rem;padding:0;list-style:none}.skills-list li{border-top:1px solid var(--rule);color:var(--text);padding:.85rem 0;font-size:.95rem;font-weight:300}.skills-list li:last-child{border-bottom:1px solid var(--rule)}.experience-more{font-family:var(--font-mono);margin:0;font-size:.78rem}.site-footer{margin-top:auto;padding-top:2.5rem}.footer-nav{font-family:var(--font-mono);text-transform:lowercase;gap:1.25rem;font-size:.72rem;display:flex}.footer-nav a{color:var(--ink-muted);text-decoration:none}.footer-nav a:hover{color:var(--accent)}.theme-toggle{z-index:100;width:2.75rem;height:2.75rem;color:var(--text);background:var(--theme-toggle-bg);border:1px solid var(--rule);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.theme-toggle:hover{color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle__icon{width:1.65rem;height:1.65rem}.theme-toggle__moon{opacity:1}.theme-toggle__star,[data-theme=dark] .theme-toggle__moon{opacity:.35}[data-theme=dark] .theme-toggle__star{opacity:1}@media (width<=540px){.site-header{flex-direction:column;align-items:stretch;gap:.85rem}.site-nav{gap:1.1rem}}
