@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.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}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_30c7ab4c-module__VCrZzq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_30c7ab4c-module__VCrZzq__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--header-height:72px;--type-page-title:clamp(36px, 5vw, 64px);--type-section-title:clamp(22px, 2.4vw, 28px);--type-entry-title:clamp(22px, 2vw, 24px);--type-phase-title:20px;--type-lead:clamp(18px, 1.8vw, 20px);--type-body:16px;--type-meta:13px;--type-action:14px;--line-body:1.65;--space-related:8px;--space-actions:24px;--space-group:24px;--space-section:clamp(48px, 6vw, 72px);--space-detail:clamp(28px, 3.5vw, 40px);--radius-panel:24px;--paper:#f8f6f0;--ink:#2b2924;--muted:#5f5a50;--link-ink:#4c4035;--accent:#b75d2f;--wash:#eee9dd;--surface-start:#fffdfa;--surface-end:#f1eade;--surface-shadow:#63534225;--surface-highlight:#ffffffb0;--case-background:linear-gradient(125deg, #fffdfa, #f5f0e6 70%, #efe7d8);--case-shadow:inset 0 1px 1px #fff, 0 16px 40px -24px #604f3b55;--hero-background:linear-gradient(130deg, #fffdfa, #f5f0e6 60%, #ede2d2);--hero-shadow:inset 1px 2px 2px #fff, 0 12px 15px #604f3b16, 0 40px 70px -35px #654b3066;--font-body:"Helvetica Neue", Arial;--font-display:"Helvetica Neue", Arial}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px)}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--font-body), sans-serif;margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}::selection{background:var(--link-ink);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}main:focus{outline:none}.shell,.site-header,.site-footer{width:min(1140px,100% - 96px);margin-inline:auto}.site-header-bar{z-index:20;background:var(--paper);box-shadow:0 1px color-mix(in srgb, var(--muted) 12%, transparent);margin-bottom:24px;position:sticky;top:0}.site-header{justify-content:space-between;align-items:center;gap:48px;padding-block:14px;display:flex}.site-header .wordmark,.site-header nav a{font-family:var(--font-body), sans-serif;letter-spacing:-.01em;font-size:15px;font-weight:500;line-height:1.4}.wordmark{align-items:center;min-height:44px;display:flex}.site-header nav{gap:32px;display:flex}.site-header nav a{align-items:center;min-height:44px;display:flex;position:relative}.site-header nav a:after{content:"";background:var(--ink);transform-origin:0;height:2px;transition:transform .22s;position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.site-header nav a[aria-current=page]:after,.site-header nav a:hover:after{transform:scaleX(1)}.site-header .menu-toggle,.site-header .mobile-navigation{display:none}.skip-link{background:var(--ink);color:var(--paper);z-index:100;clip-path:inset(50%);padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{clip-path:none;transform:translateY(0)}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:11px;line-height:1.5}.text-link{min-width:44px;min-height:44px;color:var(--link-ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--link-ink) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--link-ink) 35%, transparent);text-underline-offset:5px;font-size:var(--type-action);align-items:center;gap:8px;line-height:1.5;display:inline-flex}.text-link:hover{-webkit-text-decoration-color:var(--link-ink);text-decoration-color:var(--link-ink)}.home-intro{grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding-block:52px 78px;display:grid}.hello-copy{gap:27px;display:grid}.hello-copy h1{font:400 clamp(76px, 8.7vw, 124px)/.94 var(--font-display), Georgia, serif;letter-spacing:-.065em}.intro-prose{gap:17px;max-width:390px;display:grid}.intro-prose p{font-size:17px;line-height:1.65}.intro-prose p+p{color:var(--muted)}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:32px;display:flex}.section-heading h2{font:400 clamp(30px, 3.6vw, 46px)/1.15 var(--font-display), Georgia, serif;letter-spacing:-.04em}.featured-grid{grid-template-columns:1.12fr 1fr;gap:70px;display:grid}.project-feature{min-width:0;display:block}.project-feature--offset{padding-top:70px}.feature-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding-top:20px;font-size:11px;display:flex}.project-feature h2,.project-feature h3{font:400 34px/1.15 var(--font-display), Georgia, serif;letter-spacing:-.035em;margin-top:8px}.project-feature>p{color:var(--muted);max-width:43ch;margin-top:12px;font-size:15px}.work-callout{background:var(--wash);grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;margin-top:70px;padding:48px;display:grid}.work-callout>div{gap:18px;display:grid}.work-callout h3{font:400 clamp(28px, 3.4vw, 42px)/1.14 var(--font-display), Georgia, serif;letter-spacing:-.04em}.work-callout p{color:var(--muted);font-size:15px}.work-callout:hover .text-link{-webkit-text-decoration-color:var(--link-ink);text-decoration-color:var(--link-ink)}.home-writing{grid-template-columns:1fr 1.2fr;gap:90px;padding-block:100px;display:grid}.home-writing>div:first-child{align-content:start;gap:20px;display:grid}.home-writing>div>p{color:var(--muted);max-width:30ch;font-size:15px}.publication{gap:15px;display:grid}.publication h3{font:400 30px/1.2 var(--font-display), Georgia, serif;letter-spacing:-.03em}.publication>p{color:var(--muted);font-size:14px}.publication-credit{color:var(--muted);font-size:11px;line-height:1.6;display:block}.publication:hover h3{color:var(--link-ink)}.site-footer{justify-content:space-between;align-items:end;gap:32px;margin-top:70px;padding-block:40px;display:flex}.footer-name{color:var(--muted);font-size:14px}.footer-links{color:var(--muted);font-size:var(--type-action);flex-wrap:wrap;align-items:center;gap:24px;line-height:1.5;display:flex}.footer-links a{align-items:center;min-width:44px;min-height:44px;display:flex}.footer-links a:hover{color:var(--link-ink)}.page-intro{gap:24px;padding-block:54px 64px;display:grid}.page-intro h1{font-family:var(--font-display), sans-serif;font-size:var(--type-page-title);letter-spacing:-.045em;font-weight:500;line-height:1.08}.page-intro>p{max-width:46ch;color:var(--muted);font-size:18px}.project-grid{grid-template-columns:1fr 1fr;gap:62px 52px;display:grid}.work-page{padding-top:32px}.back-link{min-height:44px;color:var(--muted);align-items:center;font-size:13px;display:inline-flex}.work-intro{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;padding-block:35px 70px;display:grid}.work-intro>div:first-child{gap:24px;display:grid}.work-intro h1{font:400 clamp(48px, 6.5vw, 80px)/1.05 var(--font-display), Georgia, serif;letter-spacing:-.05em;overflow-wrap:anywhere}.story-layout{grid-template-columns:240px 1fr;gap:85px;padding-top:48px;display:grid}.story-aside{flex-direction:column;align-items:start;gap:13px;display:flex}.story-aside>p{color:var(--muted);font-size:14px}.story-aside .text-link{font-size:12px}.story{max-width:650px}.story-lead{font:400 26px/1.5 var(--font-display), Georgia, serif;letter-spacing:-.02em}.story section{gap:18px;margin-top:42px;display:grid}.story h2{font:400 29px/1.2 var(--font-display), Georgia, serif;letter-spacing:-.03em}.story section p{color:var(--muted);font-size:17px;line-height:1.8}.story a{color:var(--link-ink);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--link-ink) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--link-ink) 40%, transparent)}.story a:hover{-webkit-text-decoration-color:var(--link-ink);text-decoration-color:var(--link-ink)}.next-story{justify-content:space-between;align-items:center;gap:20px;margin-top:70px;padding-block:30px;display:flex}.next-story>span:last-child{font:400 32px/1.2 var(--font-display), Georgia, serif;color:var(--link-ink)}.about-layout{grid-template-columns:240px 1fr;gap:85px;display:grid}.about-index{color:var(--muted);flex-direction:column;align-items:start;gap:8px;font-size:13px;display:flex}.about-index .text-link{overflow-wrap:anywhere;font-size:12px}.writing-page{min-height:66vh}.writing-archive{margin-bottom:40px}.writing-entry{grid-template-columns:60px 1fr;gap:30px;padding-block:32px;display:grid}.writing-entry>span,.writing-entry>time{color:var(--muted);font-size:12px}.writing-entry>div{gap:14px;display:grid}.writing-entry h2{font:400 30px/1.2 var(--font-display), Georgia, serif;letter-spacing:-.03em;max-width:34ch}.writing-entry p{max-width:60ch;color:var(--muted);font-size:var(--type-body);line-height:var(--line-body)}.writing-entry:hover h2{color:var(--link-ink)}.article-page{width:calc(100% - 48px);max-width:730px;margin:50px auto 90px}.article-body{gap:24px;font-size:18px;line-height:1.8;display:grid}.article-body h1{font:400 clamp(40px, 6vw, 64px)/1.08 var(--font-display), Georgia, serif;letter-spacing:-.045em}.article-body h2{font:400 32px/1.2 var(--font-display), Georgia, serif}.article-body h3{font:400 25px/1.2 var(--font-display), Georgia, serif}.article-body a{color:var(--link-ink);text-underline-offset:4px;text-decoration:underline}.article-body pre{background:var(--wash);min-width:0;padding:24px;font-size:14px;overflow-x:auto}.article-body code{font-family:var(--font-mono), monospace}.article-body blockquote{color:var(--muted);margin:0;padding-left:24px}.article-body img{max-width:100%;height:auto}.not-found{flex-direction:column;justify-content:center;align-items:start;gap:24px;width:min(730px,100% - 48px);min-height:60vh;margin:auto;display:flex}.not-found h1{font-family:var(--font-display), sans-serif;font-size:var(--type-page-title);letter-spacing:-.045em;font-weight:500;line-height:1.08}.not-found a{color:var(--link-ink);min-height:44px;text-decoration:underline}@media (max-width:1000px){.shell,.site-header,.site-footer{width:calc(100% - 64px)}.home-intro{gap:5%;padding-top:35px}.hello-copy h1{font-size:88px}.intro-prose p{font-size:15px}.featured-grid{gap:38px}.work-callout{gap:35px;padding:32px}.home-writing{gap:48px}.story-layout,.about-layout{grid-template-columns:190px 1fr;gap:45px}.footer-links{gap:14px}}@media (max-width:700px){.shell,.site-header,.site-footer{width:calc(100% - 40px)}.home-intro{grid-template-columns:1fr;gap:40px;padding-block:35px 44px}.hello-copy{gap:24px}.hello-copy h1{font-size:clamp(76px,18vw,108px)}.intro-prose{max-width:480px}.intro-prose p{font-size:16px}.section-heading{flex-direction:column;align-items:start;gap:8px;margin-bottom:22px}.section-heading h2{font-size:35px}.featured-grid{grid-template-columns:1fr;gap:36px}.project-feature--offset{padding:0}.work-callout{grid-template-columns:1fr;gap:22px;margin-top:42px;padding:28px}.work-callout h3{font-size:35px}.desktop-break{display:none}.home-writing{grid-template-columns:1fr;gap:32px;padding-block:60px}.home-writing h2{font-size:40px}.home-writing>div>p{max-width:42ch}.site-footer{flex-direction:column;align-items:start;gap:22px;margin-top:44px;padding-block:28px}.footer-links{gap:8px 22px}.footer-links>span{flex-basis:100%}.page-intro{gap:20px;padding-block:36px 42px}.page-intro>p{font-size:16px}.project-grid{grid-template-columns:1fr;gap:40px}.work-intro{grid-template-columns:1fr;gap:32px;padding-block:25px 40px}.work-intro h1{font-size:60px}.story-layout,.about-layout{grid-template-columns:1fr;gap:32px}.story-layout{padding-top:30px}.story-aside{gap:8px}.story-aside>p{max-width:42ch}.story-lead{font-size:23px}.story section p{font-size:16px}.story section{gap:16px;margin-top:34px}.next-story{flex-direction:column;align-items:start;gap:12px;margin-top:45px}.writing-entry{grid-template-columns:60px 1fr;gap:15px;padding-block:24px}.writing-entry>div{grid-area:2/1}.writing-entry>span:last-child{grid-area:2/2}.writing-entry h2{font-size:26px}.about-index{padding-bottom:24px}}@media (max-width:370px){.shell,.site-header,.site-footer{width:calc(100% - 32px)}.work-callout{padding:23px}.project-feature h3,.project-feature h2{font-size:30px}}@media (min-width:1000px) and (max-height:740px){.home-intro{padding-block:24px 48px}.hello-copy h1{font-size:100px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.site-header-bar{position:static}body{color:#000;background:#fff}.shell{width:100%}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{isolation:isolate}.ambient-background{pointer-events:none;z-index:-1;opacity:0;width:100%;height:100%;position:fixed;inset:0}.ambient-background[data-renderer=vgpu]{opacity:1}.selected-section{padding-top:55px}.featured-grid{grid-template-columns:.6fr 1fr 1fr;gap:34px}.personal-note{align-content:start;gap:18px;display:grid}.personal-note h2{font-size:17px;font-weight:500}.personal-note p{max-width:190px;color:var(--muted);font-size:15px;line-height:1.7}.project-art{aspect-ratio:1.5;background:var(--surface-start);box-shadow:inset 1px 2px 1px var(--surface-highlight), 0 10px 20px var(--surface-shadow);border-radius:24px;place-items:center;transition:box-shadow .24s;display:grid;position:relative;overflow:hidden}.project-art img{width:100%;height:auto;display:block}.project-glyph{letter-spacing:-.1em;color:var(--link-ink);text-shadow:0 1px #fff,-1px -1px #47372a,0 5px 7px #c9b49e;font:700 110px Georgia,serif}.project-art--note8{background:#604a38}.project-art--note8 .project-glyph{color:#fff0cc;text-shadow:1px 2px #38291e,0 10px 15px #24180f66;font:italic 130px Baskerville,Georgia,serif}.project-feature:hover .project-art{box-shadow:inset 1px 2px 1px var(--surface-highlight), 0 15px 30px var(--surface-shadow)}.project-feature h2,.project-feature h3{font-size:21px;font-weight:500}.project-feature--offset{padding:0}.feature-meta{font-size:12px}.all-projects{justify-content:end;padding-top:20px;display:flex}.work-callout{background:linear-gradient(130deg, var(--surface-start), var(--surface-end));box-shadow:inset 1px 2px 2px var(--surface-highlight), 0 12px 24px var(--surface-shadow);border-radius:24px;margin-top:34px}.page-intro{padding-block:42px 50px}.work-intro{background:linear-gradient(130deg, var(--surface-start), var(--surface-end));box-shadow:inset 1px 2px 2px var(--surface-highlight), 0 12px 24px var(--surface-shadow);border-radius:30px;padding:36px}.story-lead{font-size:24px}.next-story{background:var(--wash);border-radius:22px;padding:28px}.writing-entry{background:linear-gradient(130deg, var(--surface-start), var(--surface-end));box-shadow:inset 1px 2px 2px var(--surface-highlight), 0 12px 24px var(--surface-shadow);border-radius:24px;grid-template-columns:60px minmax(0,1fr);padding:32px}.wordmark span{color:inherit}@media (max-width:750px){.featured-grid{grid-template-columns:1fr 1fr;gap:28px}.personal-note{grid-column:1/-1;gap:12px}.personal-note p{max-width:none}.work-intro{padding:28px}.writing-entry{grid-template-columns:1fr;padding:24px}.writing-entry>div{grid-column:1}}@media (max-width:500px){.featured-grid{grid-template-columns:1fr}.project-art{aspect-ratio:1.3}}.home>section:not(.silver-hero){width:100%;margin-inline:auto;margin-top:var(--space-section);grid-template-columns:1fr;gap:30px;padding:0;display:grid}.home-section-label{gap:10px;display:grid}.home-writing h2{font:500 32px/1.15 var(--font-body), sans-serif;letter-spacing:-.04em}.current-details{gap:32px;display:grid}.current-intro{gap:12px;display:grid}.role-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.role-heading h3 a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.role-heading h2,.role-heading h3{letter-spacing:-.025em;font-weight:500;font-size:var(--type-entry-title);line-height:1.25}.role-heading>span{color:var(--muted);font-size:var(--type-meta);line-height:1.5}.current-intro p{color:var(--muted);font-size:17px;line-height:1.7}.current-intro .text-link{justify-self:start}.home .featured-grid{grid-template-columns:1fr 1fr;gap:32px}.home .project-art{aspect-ratio:1.8}.home .project-feature{align-content:start;gap:12px;display:grid}.home .project-feature h3,.home .project-feature>p{margin:0}.home .feature-meta{padding-top:0}.home .project-feature .feature-meta{order:3}.home .project-feature h3{order:2}.home .project-feature>p{order:4}.more-projects{grid-template-columns:1fr 1fr;gap:32px;display:grid}.small-project{align-content:start;gap:10px;display:grid}.small-project h3{order:-1;font-size:21px;font-weight:500}.small-project p{color:var(--muted);font-size:15px}.publication{background:linear-gradient(130deg, var(--surface-start), var(--surface-end));box-shadow:inset 1px 2px 2px var(--surface-highlight), 0 12px 24px var(--surface-shadow);border-radius:24px;padding:30px}.publication h3{max-width:30ch;font-size:27px}.about-overview,.about-overview>div{gap:18px;display:grid}.about-overview p{color:var(--muted);font-size:17px;line-height:1.75}.site-footer{flex-flow:wrap;align-items:center;gap:8px 24px;margin-top:48px;padding-block:20px}.education-list{gap:32px;display:grid}.education-entry{gap:var(--space-related);display:grid}.education-note p{color:var(--muted);font-size:var(--type-body);line-height:var(--line-body)}@media (max-width:750px){.home>section:not(.silver-hero){gap:24px;margin-top:48px}.home-writing h2{font-size:28px}.current-intro p,.about-overview p{font-size:16px}.role-heading{flex-direction:column;gap:6px}.publication{padding:24px}}@media (max-width:500px){.home .featured-grid,.more-projects{grid-template-columns:1fr;gap:32px}}.plain-projects{gap:30px;display:grid}.plain-project{min-width:0}.plain-project-link{isolation:isolate;gap:10px;padding-block:8px 18px;display:grid;position:relative}.plain-project-link:hover :is(h2,h3){text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.plain-project-cta{color:var(--link-ink);font-size:var(--type-action);justify-self:start;line-height:1.5}.plain-project-link:hover .plain-project-cta{text-decoration-color:currentColor}.plain-project p{max-width:76ch;color:var(--muted);font-size:var(--type-body);line-height:var(--line-body)}.work-intro{box-shadow:none;background:0 0;border-radius:0;grid-template-columns:1fr;padding:32px 0}.project-grid{grid-template-columns:1fr;gap:32px}.hero-contact{align-items:center;gap:4px var(--space-actions);flex-wrap:wrap;display:flex}.profile-action{min-height:44px;color:var(--ink);white-space:nowrap;font-weight:500;font-size:var(--type-action);border-radius:3px;align-items:center;gap:7px;line-height:1.5;display:inline-flex}.profile-action>span{text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 28%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 28%, transparent);text-underline-offset:5px}.profile-action-arrow{color:var(--muted);flex:none}.profile-action:focus-visible>span,.profile-action:active>span{text-decoration-color:currentColor}.profile-action:focus-visible .profile-action-arrow{color:var(--ink);transition:none}@media (hover:hover) and (pointer:fine){.profile-action:hover>span{text-decoration-color:currentColor}.profile-action:hover .profile-action-arrow{color:var(--ink)}}@media (prefers-reduced-motion:no-preference){.profile-action-arrow{transition:transform .16s var(--ease-out)}.profile-action:active{transform:scale(.97)}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){.profile-action:hover .profile-action-arrow{transform:translate(2px,-2px)}.profile-action[data-social-destination=email]:hover .profile-action-arrow{transform:translate(2px)}}@media (max-width:750px){.hero-contact{gap:4px var(--space-actions)}.profile-action{gap:5px}}.project-links{flex-wrap:wrap;gap:8px 26px;display:flex}.home .plain-projects{gap:18px}.plain-project{scroll-margin-top:0}:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}@media (prefers-reduced-motion:no-preference){.menu-toggle[data-motion=true] .menu-toggle-lines span{transition:transform .18s var(--ease-out), opacity .1s ease}.site-header .mobile-navigation[data-motion=true]{transition:grid-template-rows .2s var(--ease-out), opacity .18s ease}.text-link{transition:text-decoration-color .16s}}@keyframes hero-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.plain-project p,.education-note p,.story-body p{text-wrap:pretty}.footer-links a:hover{text-underline-offset:5px;text-decoration:underline}@media (pointer:coarse){.role-heading h3 a{align-items:center;min-height:44px;display:inline-flex}}.interest-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;display:grid}.interest-entry{align-content:start;gap:8px;display:grid}.interest-entry h3{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(26px,3.2vw,40px);font-weight:400;line-height:1.15}.interest-entry p{font-size:16px}@media (max-width:500px){.interest-list{gap:28px 20px}.interest-entry h3{font-size:25px}.interest-entry p{font-size:14px}}.hike-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-block:0 48px;display:grid}.hike-photos figure{align-content:start;gap:12px;margin:0;display:grid}.hike-photos a{border-radius:4px;display:block;overflow:hidden}.hike-photos img{width:100%;height:auto;display:block}.hike-photos figcaption{color:var(--muted);font-size:14px}@media (max-width:640px){.hike-photos{grid-template-columns:1fr;gap:28px}}@media (max-width:750px){:root{--header-height:68px;--space-actions:20px}.site-header-bar{max-height:100dvh;margin-bottom:0;overflow-y:auto}.site-header{grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding-block:10px 14px;display:grid}.wordmark{flex-shrink:0}.wordmark-surname{display:inline}.site-header .desktop-navigation{display:none}.site-header .menu-toggle{letter-spacing:-.01em;background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;font-size:14px;font-weight:500;display:flex}.menu-toggle-lines{gap:5px;display:grid}.menu-toggle-lines span{background:var(--ink);border-radius:1px;width:18px;height:1.5px;display:block}.menu-toggle[aria-expanded=true] .menu-toggle-lines span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-lines span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle-lines span:last-child{transform:translateY(-7px)rotate(-45deg)}.site-header .mobile-navigation{width:100%;max-height:calc(100dvh - var(--header-height));opacity:0;pointer-events:none;grid-column:1/-1;grid-template-rows:0fr;display:grid}.site-header .mobile-navigation[data-open=true]{opacity:1;pointer-events:auto;grid-template-rows:1fr}.mobile-navigation-links{min-height:0;overflow:hidden auto}.mobile-navigation-links:before,.mobile-navigation-links:after{content:"";height:12px;display:block}.site-header .mobile-navigation a{letter-spacing:-.03em;align-items:center;min-height:48px;font-size:20px;font-weight:400;display:flex}.site-header .mobile-navigation a:after{display:none}.site-header .mobile-navigation a:hover{color:var(--muted)}}.case-page{padding-top:12px}.case-article{row-gap:var(--space-detail);grid-template-columns:minmax(0,1fr);max-width:940px;margin-inline:auto;padding-top:24px;display:grid}.case-overview{background:var(--case-background);box-shadow:var(--case-shadow);gap:var(--space-group);border-radius:var(--radius-panel);grid-column:1/-1;grid-template-columns:minmax(0,1fr);padding:36px 40px;display:grid}.case-heading{align-content:start;gap:20px;display:grid}.case-heading h1{overflow-wrap:anywhere;font-family:var(--font-display), sans-serif;font-size:var(--type-page-title);letter-spacing:-.045em;font-weight:500;line-height:1.08}.case-heading>p{text-wrap:pretty;max-width:62ch;color:var(--muted);font-size:var(--type-lead);letter-spacing:-.01em;line-height:1.5}.case-facts{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 40px;display:flex}.competition-result{color:var(--ink);font-weight:600}.event-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;display:flex}.event-context{color:var(--muted);font-size:var(--type-meta);line-height:1.5}.event-resources .text-link{align-items:center;min-height:44px;display:inline-flex}.case-facts dl{flex-wrap:wrap;gap:20px 40px;margin:0;display:flex}.case-facts dl>div{align-content:start;gap:4px;display:grid}.case-facts dt{color:var(--muted);font-size:var(--type-meta);line-height:1.5}.case-facts dd{margin:0;font-size:15px}.case-resources{align-items:center;gap:4px var(--space-actions);flex-wrap:wrap;display:flex}.case-facts .text-link{min-height:44px;font-size:var(--type-action);align-items:center;line-height:1.5;display:inline-flex}.case-body:empty{display:none}.case-body{gap:var(--space-detail);grid-column:1;max-width:740px;display:grid}.case-body p{text-wrap:pretty;font-size:var(--type-body);line-height:var(--line-body)}.case-body section{gap:14px;display:grid}.case-body section p{color:var(--muted)}.case-body h2{letter-spacing:-.025em;text-wrap:balance;font-weight:500;line-height:1.25;font-size:var(--type-section-title)}.case-end{margin-inline:auto;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;max-width:940px;margin-top:64px;display:flex}.case-end>a{align-items:center;min-height:48px;display:inline-flex}.case-next{gap:16px;min-width:0;max-width:100%;margin-left:auto}.case-next>span{color:var(--muted);font-size:var(--type-action);flex-shrink:0}.case-next strong{min-width:0;font-weight:500;font-size:var(--type-action);letter-spacing:0;color:var(--link-ink);line-height:1.5}.case-next .link-label{overflow-wrap:anywhere}.case-next .interaction-arrow{flex-shrink:0}@media (max-width:750px){.case-page{padding-top:0}.case-article{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:18px}.case-heading{gap:16px}.case-overview{grid-template-columns:minmax(0,1fr);padding:24px 20px}.case-facts{gap:16px}.case-facts dl{gap:20px}.case-resources{gap:4px var(--space-actions);flex-flow:wrap}.case-end{margin-top:40px}.case-next{gap:12px}}.home>section:not(.silver-hero){grid-template-columns:160px minmax(0,1fr);gap:32px}.home .home-section-label{align-content:start;padding-top:0}.home .home-section-label h2{letter-spacing:-.02em;font-size:18px;font-weight:500;line-height:1.25}.company-experience{gap:var(--space-group);min-width:0;display:grid}.company-heading{gap:var(--space-related);display:grid}.company-heading h3{font-weight:500;font-size:var(--type-entry-title);letter-spacing:-.025em;margin:0;line-height:1.25}.company-employment{color:var(--muted);font-size:var(--type-meta);flex-wrap:wrap;gap:2px 20px;line-height:1.5;display:flex}.company-progression{gap:20px;display:grid}.company-timeline{margin:0;padding:0 0 0 3px;list-style:none}.company-phase{border-left:1px solid color-mix(in srgb, var(--muted) 28%, transparent);min-width:0;padding:0 0 26px 24px;scroll-margin-top:0;position:relative}.company-phase:before{content:"";background:color-mix(in srgb, var(--muted) 45%, transparent);width:10px;height:1px;position:absolute;top:13px;left:-1px}.company-phase:last-child{border-left-color:#0000;padding-bottom:0}.company-phase:last-child:after{content:"";background:color-mix(in srgb, var(--muted) 28%, transparent);width:1px;height:13px;position:absolute;top:0;left:-1px}.company-phase-content{grid-template-columns:145px minmax(0,1fr);align-items:baseline;gap:7px 24px;display:grid}.company-phase-heading{display:contents}.company-phase-heading>:first-child,.company-phase-content>p,.company-phase-content>ul{grid-column:2}.company-phase h4{letter-spacing:-.025em;font-weight:500;line-height:1.35;font-size:var(--type-phase-title);margin:0}.case-body .company-phase h2{font-size:var(--type-section-title);letter-spacing:-.025em;margin:0;font-weight:500;line-height:1.25}.company-phase-period{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:left;font-size:var(--type-meta);grid-area:1/1;line-height:1.5}.company-phase-content>p{max-width:53ch;color:var(--muted);text-wrap:pretty;font-size:var(--type-body);line-height:var(--line-body)}.company-timeline:not(.company-timeline--detailed) .company-phase{padding-bottom:24px}.company-timeline:not(.company-timeline--detailed) .company-phase:last-child{padding-bottom:0}.company-phase-link{grid-template-columns:minmax(0,1fr);gap:5px}.company-phase-link .company-phase-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 20px;display:flex}.company-phase-link .company-phase-heading>:first-child,.company-phase-link>p,.company-phase-link .company-phase-period{grid-area:auto}.company-phase-link .company-phase-period{font-size:var(--type-meta);line-height:1.5}.company-phase-link>p{max-width:58ch;font-size:var(--type-body);line-height:var(--line-body)}.company-link .link-label,.company-phase-link .link-label{text-decoration-color:#0000}.company-phase-link:is(:focus-visible,:active) .interaction-arrow{color:var(--accent)}@media (hover:hover) and (pointer:fine){.company-phase-link:hover .interaction-arrow{color:var(--accent)}}.home .role-heading{gap:var(--space-related) 24px;grid-template-columns:minmax(0,1fr) auto;display:grid}@media (max-width:750px){.home .role-heading{grid-template-columns:minmax(0,1fr)}.company-phase-link .company-phase-heading{flex-direction:column;gap:2px}}.company-accomplishments{max-width:68ch;color:var(--muted);font-size:var(--type-body);line-height:var(--line-body);gap:8px;margin:0;padding:0 0 0 17px;display:grid}.company-accomplishments li::marker{font-size:10px}.company-timeline--detailed .company-phase{padding-bottom:36px}.company-timeline--detailed .company-phase:last-child{padding-bottom:0}.company-timeline--detailed .company-phase-content{gap:14px}.case-article--company .case-body{max-width:none}.case-article--company{gap:var(--space-detail);grid-template-columns:minmax(0,1fr);max-width:940px;margin-inline:auto}.company-case-heading{gap:var(--space-group);display:grid}.company-case-title{gap:10px;display:grid}.company-case-title h1{font-family:var(--font-display), sans-serif;font-size:var(--type-page-title);letter-spacing:-.045em;font-weight:500;line-height:1.08}.company-case-links{gap:4px var(--space-actions);flex-wrap:wrap;font-size:14px;display:flex}.case-article--company+.case-end{max-width:940px;margin-inline:auto}@media (max-width:900px){.home>section:not(.silver-hero){grid-template-columns:100px minmax(0,1fr);gap:24px}}@media (max-width:750px){.home>section:not(.silver-hero){grid-template-columns:minmax(0,1fr);gap:22px}.home .home-section-label{padding-top:0}.company-phase{padding-bottom:24px;padding-left:20px}.company-phase-heading{gap:4px;display:grid}.company-phase-content{grid-template-columns:minmax(0,1fr)}.company-phase-heading>:first-child,.company-phase-content>p,.company-phase-content>ul{grid-column:auto}.company-phase-period{grid-area:auto}.company-phase-content{gap:9px}.company-case-links a{align-items:center;min-height:44px;display:inline-flex}}.home>section:not(.silver-hero)>:last-child{width:100%;max-width:820px}:root{--action-hover:#f0ebdf;--action-pressed:#e7dfcf}.company-link{align-items:center;gap:14px;min-height:44px;display:inline-flex}.interaction-arrow{color:var(--muted);flex:none;font-size:16px;font-weight:400;line-height:1;text-decoration:none;display:inline-block}.company-link>.interaction-arrow{font-size:23px}.company-phase-link h4,.plain-project-cta,.case-next strong{align-items:baseline;gap:10px;display:flex}:is(.company-phase-link,.plain-project-link,.case-next){isolation:isolate;border-radius:5px;position:relative}:is(.company-phase-link,.plain-project-link,.case-next):before{content:"";z-index:-1;background:var(--action-hover);box-shadow:none;opacity:0;border-radius:10px;position:absolute;inset:-8px -12px;transform:none}:is(.company-phase-link,.plain-project-link,.case-next):focus-visible:before{opacity:1}:is(.company-phase-link,.plain-project-link,.case-next):active:before{opacity:1;background:var(--action-pressed)}:is(.company-phase-link,.plain-project-link,.case-next):is(:focus-visible,:active) :is(h2,h3,h4,strong,.plain-project-cta){text-decoration-color:currentColor}:is(.profile-action,.company-link,.text-link,.wordmark,.footer-links a,.about-contact-links a,.not-found a){isolation:isolate;border-radius:4px;position:relative}:is(.profile-action,.company-link,.text-link,.wordmark,.footer-links a,.about-contact-links a,.not-found a):before{content:"";z-index:-1;background:var(--action-hover);opacity:0;border-radius:6px;position:absolute;inset:0 -7px}:is(.profile-action,.company-link,.text-link,.wordmark,.footer-links a,.about-contact-links a,.not-found a):is(:focus-visible,:active):before{opacity:1}:is(.profile-action,.company-link,.text-link,.wordmark,.footer-links a,.about-contact-links a,.not-found a):active:before{background:var(--action-pressed)}:is(.company-link,.text-link,.footer-links a,.story a):is(:focus-visible,:active){text-decoration-color:currentColor}.footer-links a{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 28%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 28%, transparent)}.site-header nav a{border-radius:4px}.site-header nav a:before{content:"";z-index:-1;background:var(--action-hover);opacity:0;border-radius:6px;position:absolute;inset:0 -8px}.site-header nav a{isolation:isolate}.site-header nav a:is(:focus-visible,:active):before{opacity:1}.site-header nav a:active:before{background:var(--action-pressed)}.site-header nav a:focus-visible:after{transform:scaleX(1)}.site-header .menu-toggle{border-radius:8px}.site-header .menu-toggle:is(:focus-visible,:active){background:var(--action-hover)}.site-header .menu-toggle:active,.story p a:active{background:var(--action-pressed)}.about-contact-links{flex-wrap:wrap;gap:4px 26px;display:flex}.about-contact-links a,.not-found a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}@media (hover:hover) and (pointer:fine){:is(.company-phase-link,.plain-project-link,.case-next):hover:before,:is(.profile-action,.company-link,.text-link,.wordmark,.footer-links a,.about-contact-links a,.not-found a):hover:before,.site-header nav a:hover:before{opacity:1}:is(.company-phase-link,.plain-project-link,.case-next):hover :is(h2,h3,h4,strong,.plain-project-cta),:is(.company-link,.text-link,.footer-links a,.story a):hover{text-decoration-color:currentColor}.story p a:hover,.site-header .menu-toggle:hover{background:var(--action-hover)}}@media (prefers-reduced-motion:no-preference){.interaction-arrow,:is(.company-phase-link,.plain-project-link,.case-next):before,:is(.profile-action,.company-link,.text-link,.wordmark,.footer-links a,.about-contact-links a,.not-found a):before,.site-header nav a:before{transition:transform .16s var(--ease-out), opacity .16s ease, background-color .12s ease}:is(.company-phase-link,.plain-project-link,.case-next):active:before{transform:scale(.995)}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){:is(.company-phase-link,.plain-project-link,.company-link,.text-link,.case-next):hover .interaction-arrow{transform:translate(4px)}.text-link:hover .interaction-arrow--external{transform:translate(3px,-3px)}.text-link:hover .interaction-arrow--back{transform:translate(-4px)}}@media (max-width:750px){.site-header .mobile-navigation a:before{inset-inline:0}.case-next strong{gap:8px}}@media (forced-colors:active){:is(.company-phase-link,.plain-project-link,.case-next,.company-link,.profile-action,.text-link,.wordmark,.footer-links a,.about-contact-links a,.not-found a):is(:hover,:active){outline-offset:4px;outline:1px solid linktext}}.company-link,.company-phase-link h4,.plain-project-cta,.text-link.has-arrow,.case-next strong{text-decoration:none}.link-label{text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 28%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 28%, transparent);text-underline-offset:5px}:is(.company-link,.company-phase-link,.plain-project-link,.has-arrow,.case-next):is(:focus-visible,:active) .link-label{text-decoration-color:currentColor}@media (hover:hover) and (pointer:fine){:is(.company-link,.company-phase-link,.plain-project-link,.has-arrow,.case-next):hover .link-label{text-decoration-color:currentColor}}.silver-hero{background:var(--hero-background);min-height:400px;color:var(--ink);box-shadow:var(--hero-shadow);border-radius:38px;padding:36px 48px;position:relative;overflow:clip}.hero-meta{color:var(--muted);font-size:var(--type-meta);justify-content:flex-end;gap:20px;line-height:1.5;display:flex}.hero-copy{z-index:1;gap:27px;max-width:calc(100% - 270px);padding-top:38px;display:grid;position:relative}.hero-copy h1{letter-spacing:-.075em;font-size:clamp(100px,13vw,165px);font-weight:500;line-height:.9}.hero-copy h1 small{letter-spacing:-.03em;font-size:38px;font-weight:400}.hero-copy h1{flex-wrap:wrap;align-items:baseline;gap:24px;display:flex}.hero-copy p{max-width:500px;font-size:17px;line-height:1.6}.lens-stage{z-index:2;width:245px;height:245px;position:absolute;top:105px;right:24px}.silver-lens{background:radial-gradient(circle at var(--light-x,35%) var(--light-y,30%), #fff1d5, #f3bb7e 35%, #d9773c 66%, #a44f2e 77%, #deaf80);border:0;border-radius:50%;width:100%;height:100%;padding:0;transform:rotate(-25deg);box-shadow:inset 8px 9px 22px #fff8,inset -6px -8px 15px #86462e77,10px 20px 40px #a65c3033}.silver-lens:focus-visible{outline:3px solid var(--ink);outline-offset:-7px}@media (min-width:751px) and (max-width:1000px){.hero-copy{max-width:calc(100% - 210px);padding-top:40px}.hero-copy h1{gap:12px;font-size:clamp(90px,10vw,100px)}.hero-copy h1 small{font-size:32px}.lens-stage{width:180px;height:180px;top:125px}}@media (max-width:750px){.silver-hero{border-radius:25px;min-height:400px;padding:32px 25px}.hero-copy{gap:24px;max-width:none;padding-top:38px}.hero-copy h1{flex-direction:column;gap:12px;font-size:clamp(70px,17vw,110px)}.hero-copy h1 small{font-size:27px}.hero-copy p{max-width:38ch;font-size:15px}.lens-stage{width:140px;height:140px;top:130px;right:-55px}}@media (max-width:500px){.hero-copy p{max-width:22ch}}.silver-hero .hero-meta{color:var(--muted)}@media (prefers-reduced-motion:no-preference){.hero-copy>*{animation:hero-arrive .6s var(--ease-out) both}.hero-copy>p{animation-delay:50ms}.hero-copy>.hero-contact{animation-delay:.1s}.silver-lens{transition:box-shadow .22s,filter .22s}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){.silver-lens:hover{filter:brightness(1.035);box-shadow:inset 8px 9px 22px #fff8,inset -6px -8px 15px #86462e77,12px 24px 44px #a65c3042}}.hero-copy p{text-wrap:pretty}@media screen and (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#191814;--ink:#f1ece2;--muted:#bdb5a8;--link-ink:#ded0bb;--accent:#e49a68;--wash:#302b24;--surface-start:#28251f;--surface-end:#30291f;--surface-shadow:#0005;--surface-highlight:#f5dfbd12;--case-background:linear-gradient(125deg, #25231e, #2b271f 70%, #30291f);--case-shadow:inset 0 1px 1px #f5dfbd12, 0 16px 40px -24px #0009;--hero-background:linear-gradient(130deg, #25231e, #2d281f 60%, #382d21);--hero-shadow:inset 1px 2px 2px #f5dfbd14, 0 12px 15px #00000016, 0 40px 70px -35px #0009;--action-hover:#373127;--action-pressed:#443a2d}.ambient-background{filter:brightness(2)}.project-glyph{text-shadow:0 1px #76654f,-1px -1px #100e0b,0 5px 7px #0005}.silver-lens:focus-visible{outline-color:#2b2924}}
