@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_38865a85-module__uXxy6G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_38865a85-module__uXxy6G__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--font-primary:var(--font-inter), "Inter", sans-serif;--font-mono:var(--font-jetbrains-mono), "JetBrains Mono", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius:10px;--max-width:1200px;--site-nav-height:6rem}html[data-theme=light]{--background:#fafbfc;--foreground:#0b0f14;--secondary:#2563eb;--highlight:#f97316;--border:color-mix(in srgb, var(--foreground) 16%, transparent);--muted:color-mix(in srgb, var(--foreground) 65%, transparent);--card:color-mix(in srgb, var(--background) 95%, #fff 5%)}html[data-theme=dark]{--background:#0a0d10;--foreground:#e6edf3;--secondary:#ef4444;--highlight:#22c55e;--border:color-mix(in srgb, var(--foreground) 20%, transparent);--muted:color-mix(in srgb, var(--foreground) 70%, transparent);--card:color-mix(in srgb, var(--background) 92%, #11161b 8%)}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}:is(html:has(main.page-shell--home),body:has(main.page-shell--home)){overscroll-behavior:none;height:100%;max-height:100%;overflow:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}body.site-body{padding-bottom:var(--site-nav-height)}body.site-body:has(main.page-shell--home){padding-bottom:0}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.page-shell{width:min(100% - var(--space-5) * 2, var(--max-width));padding:var(--space-8) 0;gap:var(--space-8);margin:0 auto;display:grid}.page-shell--home{box-sizing:border-box;--home-bio-bottom-clearance:calc(var(--site-nav-height) + var(--space-1));flex-direction:column;justify-content:flex-start;gap:0;width:100%;max-width:none;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.home-photo-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.home-photo-bg-viewport{position:absolute;inset:0;overflow:hidden}.home-photo-bg-img{object-fit:cover;object-position:center;opacity:0;pointer-events:none;transition:opacity .7s;position:absolute;inset:0}.home-photo-bg-img--active{opacity:1}@media (prefers-reduced-motion:reduce){.home-photo-bg-img{transition:none}}.home-foreground{z-index:1;box-sizing:border-box;width:100%;max-width:none;min-height:0;padding-top:var(--space-5);padding-left:max(var(--space-4), env(safe-area-inset-left,0px));padding-right:max(var(--space-4), env(safe-area-inset-right,0px));padding-bottom:var(--home-bio-bottom-clearance);flex-direction:column;flex:auto;margin-inline:0;display:flex;position:relative}.home-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-shrink:0;display:flex}.home-header-text{gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--background) 75%, transparent);flex-direction:column;display:flex}.home-header .hero-title{margin:0}.home-bio-card{max-width:min(44ch,100%);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--background) 75%, transparent);align-self:flex-start;gap:var(--space-3);margin-top:auto;display:grid}.home-bio-card .hero-flags{justify-content:flex-start}.home-bio-card .hero-intro{text-align:left;max-width:none;color:var(--foreground);margin:0}.hero{gap:var(--space-5);display:grid}.hero-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.hero-top .hero-title{min-width:0}.hero-title{letter-spacing:-.02em;max-width:20ch;margin:0;font-size:clamp(2rem,7vw,3.75rem);line-height:1.05}.hero-flags{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin:0;font-size:clamp(1.5rem,4vw,2rem);line-height:1;display:flex}.hero-flag-sep{color:var(--muted);font-size:.65em;font-family:var(--font-primary)}.hero-intro{max-width:42ch;color:color-mix(in srgb, var(--foreground) 92%, transparent);margin:0;font-size:1.05rem;line-height:1.55}.hero-location{align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;font-size:1.05rem;display:flex}.hero-location-value{color:var(--muted)}.site-nav{z-index:200;padding:var(--space-3) var(--space-5);padding-bottom:max(var(--space-3), env(safe-area-inset-bottom,0px));box-sizing:border-box;background:color-mix(in srgb, var(--background) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}.site-nav-inner{width:min(100%, var(--max-width));gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;margin:0 auto;display:grid}.site-nav-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:var(--space-3) var(--space-3);text-align:center;justify-content:center;align-items:center;min-width:0;text-decoration:none;transition:opacity .18s,border-color .18s,background .18s,box-shadow .18s;display:flex}.site-nav-card:hover{opacity:.96;border-color:color-mix(in srgb, var(--highlight) 35%, var(--border));background:color-mix(in srgb, var(--highlight) 7%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--highlight) 18%, transparent)}.site-nav-card--active{border-color:color-mix(in srgb, var(--secondary) 45%, var(--border));background:color-mix(in srgb, var(--secondary) 8%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--secondary) 25%, transparent)}.site-nav-card-title{white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;font-size:1.05rem;font-weight:600;line-height:1.25}.hero-bar{justify-content:space-between;align-items:center;display:flex}.nameplate{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem}h1{max-width:22ch;font-size:clamp(2rem,6vw,3.5rem);line-height:1.1}h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}h3{font-size:1.1rem;line-height:1.3}.hero-subhead,.section-description,.phase-reflection,.next-experiments p{color:var(--muted);max-width:70ch}.theme-toggle{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--background) 75%, transparent);width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .16s,background .16s,box-shadow .16s;display:inline-flex}.theme-toggle:hover{border-color:color-mix(in srgb, var(--secondary) 40%, var(--border));background:color-mix(in srgb, var(--secondary) 10%, color-mix(in srgb, var(--background) 75%, transparent))}.theme-toggle:focus{outline:none}.theme-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--secondary) 55%, transparent);outline-offset:2px}.theme-toggle__icon{justify-content:center;align-items:center;display:flex}.theme-toggle__icon svg{display:block}.site-theme-toggle-slot{top:max(var(--space-5), env(safe-area-inset-top,0px));right:max(var(--space-4), env(safe-area-inset-right,0px));z-index:50;pointer-events:none;position:fixed}.site-theme-toggle-slot .theme-toggle{pointer-events:auto}.status-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.status-item{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:var(--space-3);gap:var(--space-1);display:grid}.meta-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);font-size:.72rem}.inline-code{font-family:var(--font-mono);font-size:.85em}.experience-page-header{gap:var(--space-3);display:grid}.experience-theme-filter-bar{margin-bottom:var(--space-5)}.experience-theme-filter-list{gap:var(--space-2);flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.experience-theme-filter-pill{font:inherit;color:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;margin:0;transition:border-color .16s,background .16s,box-shadow .16s;display:inline-flex}.experience-theme-filter-pill:hover{border-color:color-mix(in srgb, var(--secondary) 40%, var(--border));background:color-mix(in srgb, var(--secondary) 8%, var(--card))}.experience-theme-filter-pill:focus-visible{outline:2px solid color-mix(in srgb, var(--secondary) 55%, transparent);outline-offset:2px}.experience-theme-filter-swatch{border-radius:1px;flex-shrink:0;width:8px;height:8px;display:inline-block}.experience-theme-filter-pill--blue .experience-theme-filter-swatch{background:#2563eb}.experience-theme-filter-pill--orange .experience-theme-filter-swatch{background:#f97316}.experience-theme-filter-pill--yellow .experience-theme-filter-swatch{background:#eab308}.experience-theme-filter-pill--blue.experience-theme-filter-pill--selected{border-color:color-mix(in srgb, #2563eb 55%, var(--border));background:color-mix(in srgb, #2563eb 14%, var(--card));color:var(--foreground);box-shadow:0 0 0 1px #2563eb47}.experience-theme-filter-pill--orange.experience-theme-filter-pill--selected{border-color:color-mix(in srgb, #f97316 55%, var(--border));background:color-mix(in srgb, #f97316 14%, var(--card));color:var(--foreground);box-shadow:0 0 0 1px #f9731647}.experience-theme-filter-pill--yellow.experience-theme-filter-pill--selected{border-color:color-mix(in srgb, #eab308 55%, var(--border));background:color-mix(in srgb, #eab308 14%, var(--card));color:var(--foreground);box-shadow:0 0 0 1px #eab30847}.experience-timeline{--timeline-pull:calc(-1 * var(--space-5) - 5px);--timeline-cell:10px;gap:var(--space-7);border-left:1px solid var(--border);padding-left:var(--space-5);margin-left:var(--space-2);display:grid}.experience-role{grid-template-columns:var(--timeline-cell) 1fr;column-gap:var(--space-4);row-gap:var(--space-4);align-items:start;display:grid}.experience-marker{box-sizing:border-box;width:100%;max-width:var(--timeline-cell);border:2px solid var(--secondary);background:var(--background);height:10px;margin-top:8px;margin-left:var(--timeline-pull,calc(-1 * var(--space-5) - 5px));z-index:2;justify-self:start;position:relative}.experience-marker--work{border-radius:50%}button.experience-marker{font:inherit;color:inherit;cursor:pointer;appearance:none;padding:0}button.experience-marker:focus-visible{outline:2px solid color-mix(in srgb, var(--secondary) 55%, transparent);outline-offset:3px}.experience-marker--work.experience-marker--expanded{background:var(--secondary);border-color:var(--secondary)}.experience-marker--education{border-color:color-mix(in srgb, var(--highlight) 75%, var(--secondary));border-radius:2px}.experience-role-header{gap:var(--space-2);min-width:0;display:grid}.experience-role-header--education{gap:var(--space-1)}.experience-education-label{margin-bottom:var(--space-1)}.experience-credential{font-size:1rem;font-weight:500;line-height:1.35}.experience-education-coursework{gap:var(--space-1);display:grid}.experience-education-coursework-label{margin:0}.experience-education-detail{color:var(--muted);font-size:.92rem;line-height:1.45}.experience-skills-section{border-top:1px solid var(--border);padding-top:var(--space-6)}.experience-skills-title{font-size:clamp(1.25rem,2.8vw,1.5rem);font-weight:600;line-height:1.2}.experience-skills-lede{max-width:42rem}.experience-skills-toolbar{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.experience-skill-groups{gap:var(--space-5);display:grid}.experience-skill-category{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2);font-size:.78rem}.experience-skill-filter-tag{font:inherit;color:inherit;cursor:pointer;background:0 0;margin:0;transition:border-color .16s,background .16s,box-shadow .16s}.experience-skill-filter-tag:hover{border-color:color-mix(in srgb, var(--secondary) 40%, var(--border));background:color-mix(in srgb, var(--secondary) 8%, var(--card))}.experience-skill-filter-tag:focus-visible{outline:2px solid color-mix(in srgb, var(--secondary) 55%, transparent);outline-offset:2px}.experience-skill-filter-tag--selected{border-color:color-mix(in srgb, var(--secondary) 65%, var(--border));background:color-mix(in srgb, var(--secondary) 16%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--secondary) 28%, transparent);color:var(--foreground)}.experience-company{font-size:clamp(1.15rem,2.5vw,1.35rem);font-weight:600;line-height:1.25}.experience-job-title{color:var(--foreground);margin:0;font-size:1rem;font-weight:500;line-height:1.35}.experience-tenure{font-family:var(--font-mono);color:var(--muted);font-size:.82rem}.experience-bullets{margin:0;padding:0;list-style:none;display:contents}.experience-bullet{grid-column:1/-1;grid-template-columns:subgrid;column-gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px dashed var(--border);align-items:start;transition:opacity .18s;display:grid}.experience-bullet--theme-dimmed{opacity:.5}@media (prefers-reduced-motion:reduce){.experience-bullet{transition:none}}.experience-bullet:last-child{border-bottom:none;padding-bottom:0}.experience-bullet-visual{box-sizing:border-box;width:100%;max-width:var(--timeline-cell);min-width:var(--timeline-cell);margin-left:var(--timeline-pull,calc(-1 * var(--space-5) - 5px));z-index:1;justify-self:start;padding-top:2px;position:relative;overflow:visible}.experience-bullet-copy{min-width:0}.experience-bullet-body{gap:0;min-width:0;display:grid}.experience-bullet-text{margin:0}.experience-bullet-skills-reveal{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.experience-bullet--hover-expanded .experience-bullet-skills-reveal,.experience-bullet--role-expanded .experience-bullet-skills-reveal,.experience-bullet--skill-pinned .experience-bullet-skills-reveal{grid-template-rows:1fr}.experience-bullet-skills-reveal-inner{min-height:0;overflow:hidden}.experience-bullet-skills{gap:var(--space-2);padding:var(--space-2) 0 0;opacity:0;flex-wrap:wrap;align-items:center;margin:0;list-style:none;transition:transform .28s,opacity .28s;display:flex;transform:translateY(.45rem)}.experience-bullet--hover-expanded .experience-bullet-skills,.experience-bullet--role-expanded .experience-bullet-skills,.experience-bullet--skill-pinned .experience-bullet-skills{opacity:1;transform:translateY(0)}.experience-bullet-skill{font-family:var(--font-mono);border:1px solid var(--border);padding:2px var(--space-2);color:var(--muted);background:color-mix(in srgb, var(--card) 88%, transparent);border-radius:999px;font-size:.72rem;line-height:1.3;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.experience-bullet-skill--highlight{border-color:color-mix(in srgb, var(--secondary) 55%, var(--border));color:var(--foreground);background:color-mix(in srgb, var(--secondary) 14%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--secondary) 30%, transparent)}@media (hover:none){.experience-bullet-skills-reveal{grid-template-rows:1fr}.experience-bullet-skills{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.experience-bullet-skills-reveal,.experience-bullet-skills{transition:none}}.experience-tag-stack{--tag-sq:10px;height:var(--tag-sq);flex-shrink:0;margin:0;padding:0;list-style:none;transition:width .22s;position:relative}.experience-tag-stack:has(>:only-child){width:var(--tag-sq)}.experience-tag-stack:has(:nth-child(2):last-child){width:calc(var(--tag-sq) * 1.5)}.experience-tag-stack:has(:nth-child(3)){width:calc(var(--tag-sq) * 2)}:is(.experience-bullet--hover-expanded .experience-tag-stack:has(:nth-child(2):last-child),.experience-bullet--role-expanded .experience-tag-stack:has(:nth-child(2):last-child),.experience-bullet--skill-pinned .experience-tag-stack:has(:nth-child(2):last-child)){width:calc(2 * var(--tag-sq))}:is(.experience-bullet--hover-expanded .experience-tag-stack:has(:nth-child(3)),.experience-bullet--role-expanded .experience-tag-stack:has(:nth-child(3)),.experience-bullet--skill-pinned .experience-tag-stack:has(:nth-child(3))){width:calc(3 * var(--tag-sq))}.experience-tag-sq{width:var(--tag-sq);height:var(--tag-sq);border-radius:1px;transition:transform .22s;position:absolute;top:0;left:0}.experience-tag-sq--blue{background:#2563eb}.experience-tag-sq--orange{background:#f97316}.experience-tag-sq--yellow{background:#eab308}.experience-tag-sq:first-child{z-index:3;transform:translate(0)}.experience-tag-sq:nth-child(2){z-index:2;transform:translate(50%)}.experience-tag-sq:nth-child(3){z-index:1;transform:translate(100%)}.experience-bullet--hover-expanded .experience-tag-sq:first-child,.experience-bullet--role-expanded .experience-tag-sq:first-child,.experience-bullet--skill-pinned .experience-tag-sq:first-child{transform:translate(0)}.experience-bullet--hover-expanded .experience-tag-sq:nth-child(2),.experience-bullet--role-expanded .experience-tag-sq:nth-child(2),.experience-bullet--skill-pinned .experience-tag-sq:nth-child(2){transform:translateX(var(--tag-sq))}.experience-bullet--hover-expanded .experience-tag-sq:nth-child(3),.experience-bullet--role-expanded .experience-tag-sq:nth-child(3),.experience-bullet--skill-pinned .experience-tag-sq:nth-child(3){transform:translateX(calc(2 * var(--tag-sq)))}@media (prefers-reduced-motion:reduce){.experience-tag-sq,.experience-tag-stack{transition:none}}.experience-tag-interactive{width:100%;min-width:var(--timeline-cell,10px);z-index:1;position:relative}.experience-tag-interactive--open{z-index:5}.experience-tag-toggle{cursor:pointer;width:100%;max-width:var(--timeline-cell,10px);color:inherit;font:inherit;background:0 0;border:none;border-radius:2px;margin:0;padding:0;display:block;overflow:visible}.experience-tag-toggle:focus{outline:none}.experience-tag-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--secondary) 55%, transparent);outline-offset:2px}.experience-tag-panel{min-width:14rem;max-width:min(18rem,100vw - 3rem);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:0 4px 24px color-mix(in srgb, var(--foreground) 12%, transparent)}.experience-tag-panel-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.experience-tag-panel-row{align-items:center;gap:var(--space-2);font-family:var(--font-mono);color:var(--foreground);font-size:.78rem;line-height:1.35;display:flex}.experience-tag-panel-swatch{border-radius:1px;flex-shrink:0;width:8px;height:8px}.experience-tag-panel-row--blue .experience-tag-panel-swatch{background:#2563eb}.experience-tag-panel-row--orange .experience-tag-panel-swatch{background:#f97316}.experience-tag-panel-row--yellow .experience-tag-panel-swatch{background:#eab308}.cta-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.button{border:1px solid var(--border);padding:var(--space-2) var(--space-4);border-radius:999px;transition:opacity .18s,transform .18s}.button:hover{opacity:.92;transform:translateY(-2px)}.button-primary{border-color:color-mix(in srgb, var(--secondary) 45%, var(--border))}.button-secondary{border-color:color-mix(in srgb, var(--highlight) 45%, var(--border))}.section-block{gap:var(--space-5);display:grid}.section-header{gap:var(--space-2);display:grid}.timeline{gap:var(--space-6);border-left:1px solid var(--border);padding-left:var(--space-5);display:grid}.timeline-phase{gap:var(--space-4);grid-template-columns:auto 1fr;display:grid}.timeline-marker{border:2px solid var(--secondary);background:var(--background);border-radius:50%;width:10px;height:10px;margin-top:6px}.timeline-content{gap:var(--space-3);display:grid}.project-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);color:inherit;cursor:pointer;text-decoration:none;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.project-card:hover{border-color:color-mix(in srgb, var(--highlight) 42%, var(--border));background:color-mix(in srgb, var(--highlight) 9%, var(--card));box-shadow:0 0 0 1px color-mix(in srgb, var(--highlight) 22%, transparent)}.project-card:focus-visible{border-color:color-mix(in srgb, var(--secondary) 50%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--secondary) 35%, transparent);outline:none}.project-card-title{font-size:1.1rem;line-height:1.3}.project-card-hint{margin-top:var(--space-1);color:var(--muted)}.project-meta{justify-content:flex-start;align-items:baseline;gap:var(--space-2) var(--space-4);font-family:var(--font-mono);flex-wrap:wrap;font-size:.78rem;display:flex}.project-meta-status,.project-meta-updated{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}@media (min-width:861px){.project-meta-updated{text-align:right;margin-left:auto}}.tag-list{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.tag{font-family:var(--font-mono);border:1px solid var(--border);padding:2px var(--space-2);border-radius:999px;font-size:.76rem}.project-note{border-top:1px dashed var(--border);padding-top:var(--space-3);gap:var(--space-1);display:grid}.lab-note-list{gap:var(--space-3);list-style:none;display:grid}.lab-note-item{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);gap:var(--space-1);display:grid}.next-experiments{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);gap:var(--space-4);display:grid}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-page{min-height:calc(100dvh - var(--site-nav-height) - var(--space-8) * 2);align-content:start}.contact-page-header{gap:var(--space-3);display:grid}.contact-page .section-description{max-width:none}.contact-page-details{gap:var(--space-5);padding-top:var(--space-6);margin-top:var(--space-2);border-top:1px solid var(--border);display:grid}.contact-detail-row{gap:var(--space-3);min-width:0;display:grid}.contact-detail-value{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.35rem,4vw,2.5rem);font-weight:600;line-height:1.2}.contact-email-inline{font-weight:600}.contact-email-block{color:inherit;text-decoration:none}.contact-email-block:hover{text-decoration:underline}@media (max-width:860px){:root{--site-nav-height:8.5rem}.page-shell{width:min(100% - var(--space-4) * 2, var(--max-width));padding:var(--space-7) 0;gap:var(--space-7)}.page-shell--home{gap:0;width:100%;max-width:none;margin:0;padding:0}.home-foreground{width:100%;max-width:none;padding-top:var(--space-4);padding-left:max(var(--space-3), env(safe-area-inset-left,0px));padding-right:max(var(--space-3), env(safe-area-inset-right,0px));margin-inline:0}.site-nav{padding:var(--space-2) var(--space-3);padding-bottom:max(var(--space-2), env(safe-area-inset-bottom,0px))}.site-nav-inner{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr))}.site-nav-card{padding:var(--space-2)}.site-nav-card-title{font-size:.82rem;line-height:1.3}.hero-title{font-size:clamp(1.5rem,9vw,2.75rem)}.status-grid,.project-grid{grid-template-columns:1fr}.project-meta{flex-direction:column;align-items:flex-start}.timeline{padding-left:var(--space-4)}.timeline-phase{gap:var(--space-3)}}
