ol[data-astro-cid-vx4iavld]{gap:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}li[data-astro-cid-vx4iavld]:not(:last-child):after{content:"/";margin-left:var(--space-2)}a[data-astro-cid-vx4iavld]{color:var(--color-muted)}a[data-astro-cid-vx4iavld]:hover,[data-astro-cid-vx4iavld][aria-current=page]{color:var(--color-text)}.contact-links[data-astro-cid-yvptqzqn]{gap:var(--space-2) var(--space-5);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}a[data-astro-cid-yvptqzqn]{padding-block:.2rem;display:inline-block}body.page-about{--color-bg:#fbfbf8}.about-page[data-astro-cid-tdycyq42]{--color-surface:#fffcf7;--color-muted:#544c40;--color-border:#d2c3ab;--color-border-strong:#b9a68a}.page-header[data-astro-cid-tdycyq42] .breadcrumbs{margin-bottom:var(--space-5)}.page-header[data-astro-cid-tdycyq42] .eyebrow[data-astro-cid-tdycyq42]{margin-bottom:var(--space-3)}.intro[data-astro-cid-tdycyq42]{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.photo[data-astro-cid-tdycyq42]{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface);border-radius:50%;width:10rem;box-shadow:0 .5rem 1rem -.25rem #5c422240,0 1.5rem 3rem -.5rem #5c422259}.about-layout[data-astro-cid-tdycyq42]{gap:var(--space-7);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=60rem){.intro[data-astro-cid-tdycyq42]{gap:var(--space-7);grid-template-columns:minmax(0,1fr) 18rem}.photo[data-astro-cid-tdycyq42]{justify-self:center;width:15rem}.about-layout[data-astro-cid-tdycyq42]{grid-template-columns:minmax(0,1fr) 18rem}.side[data-astro-cid-tdycyq42]{top:var(--space-5);position:sticky}}.timeline[data-astro-cid-tdycyq42]{padding:0;list-style:none}.timeline[data-astro-cid-tdycyq42] li[data-astro-cid-tdycyq42]{gap:var(--space-4);grid-template-columns:3.5rem minmax(0,1fr);align-items:start;display:grid}.timeline[data-astro-cid-tdycyq42] li[data-astro-cid-tdycyq42]+li[data-astro-cid-tdycyq42]{margin-top:var(--space-5)}.timeline[data-astro-cid-tdycyq42] li[data-astro-cid-tdycyq42]+li[data-astro-cid-tdycyq42] .entry[data-astro-cid-tdycyq42]{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.timeline[data-astro-cid-tdycyq42] li[data-astro-cid-tdycyq42]+li[data-astro-cid-tdycyq42] .org-logo[data-astro-cid-tdycyq42]{margin-top:var(--space-5)}.org-logo[data-astro-cid-tdycyq42]{object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;width:3.5rem;height:3.5rem}.timeline[data-astro-cid-tdycyq42] h3[data-astro-cid-tdycyq42]{font-size:var(--text-h3);margin:0}.org[data-astro-cid-tdycyq42]{margin-top:var(--space-1);font-size:var(--text-sm)}.org[data-astro-cid-tdycyq42] a[data-astro-cid-tdycyq42]{color:inherit;text-decoration-color:var(--color-border-strong)}.org[data-astro-cid-tdycyq42] a[data-astro-cid-tdycyq42]:hover{text-decoration-color:currentColor}.period[data-astro-cid-tdycyq42]{margin-top:var(--space-1)}.text[data-astro-cid-tdycyq42]{margin-top:var(--space-2)}.side[data-astro-cid-tdycyq42]{gap:var(--space-4);display:grid}.side[data-astro-cid-tdycyq42] h2[data-astro-cid-tdycyq42]{font-size:var(--text-h3)}.project-card[data-astro-cid-y2vllrex]{gap:var(--space-3);flex-direction:column;transition:border-color .15s;display:flex;position:relative}.project-card[data-astro-cid-y2vllrex]:hover{border-color:var(--color-accent)}.cover[data-astro-cid-y2vllrex]{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);width:100%}.title[data-astro-cid-y2vllrex] a[data-astro-cid-y2vllrex]{color:var(--color-text);text-decoration:none}.title[data-astro-cid-y2vllrex] a[data-astro-cid-y2vllrex]:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.title[data-astro-cid-y2vllrex] a[data-astro-cid-y2vllrex]:focus-visible{outline:none}.title[data-astro-cid-y2vllrex] a[data-astro-cid-y2vllrex]:focus-visible:after{outline:3px solid var(--color-focus);outline-offset:3px}.description[data-astro-cid-y2vllrex]{color:var(--color-muted)}.more[data-astro-cid-y2vllrex]{padding-top:var(--space-2);color:var(--color-link);font-weight:600;font-size:var(--text-sm);margin-top:auto}.project-card[data-astro-cid-y2vllrex]:hover .more[data-astro-cid-y2vllrex]{text-decoration:underline}.publication[data-astro-cid-ent4rkus]{gap:var(--space-2);padding-block:var(--space-5);border-bottom:1px solid var(--color-border);display:grid}.publication[data-astro-cid-ent4rkus]:first-child{padding-top:0}.title[data-astro-cid-ent4rkus] a[data-astro-cid-ent4rkus]{color:var(--color-text);text-decoration:none}.title[data-astro-cid-ent4rkus] a[data-astro-cid-ent4rkus]:hover{color:var(--color-link);text-decoration:underline}.authors[data-astro-cid-ent4rkus]{font-size:var(--text-sm)}.description[data-astro-cid-ent4rkus]{color:var(--color-muted);max-width:var(--prose-width)}.topics[data-astro-cid-ent4rkus],.links[data-astro-cid-ent4rkus]{margin-top:var(--space-1)}.hero[data-astro-cid-jgctki6q]{isolation:isolate;padding-block:var(--space-8);position:relative}.hero[data-astro-cid-jgctki6q]:before{content:"";z-index:-1;background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);background-size:28px 28px;position:absolute;inset:0;mask-image:radial-gradient(80% 90% at 85% 20%,#000 0%,#0000 70%)}.hero-inner[data-astro-cid-jgctki6q]{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.hero-text[data-astro-cid-jgctki6q]{gap:var(--space-5);justify-items:start;display:grid}.hero[data-astro-cid-jgctki6q] h1[data-astro-cid-jgctki6q]{max-width:22ch}.hero-photo[data-astro-cid-jgctki6q]{aspect-ratio:1;object-fit:cover;border:4px solid var(--color-surface);background:var(--color-surface);width:7.5rem;height:auto;box-shadow:0 0 0 1px var(--color-border-strong), 0 1.5rem 3rem -1rem #1e3a8a4d;border-radius:50%;order:-1}@media (width>=52rem){.hero-inner[data-astro-cid-jgctki6q]{gap:var(--space-7);grid-template-columns:minmax(0,1fr) auto}.hero-photo[data-astro-cid-jgctki6q]{border-width:6px;order:0;width:clamp(13rem,8rem + 9vw,17rem)}}.credentials[data-astro-cid-jgctki6q]{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.credentials[data-astro-cid-jgctki6q] li[data-astro-cid-jgctki6q]{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);border-radius:999px;padding:.4rem .9rem;font-weight:600;line-height:1.3;display:inline-flex}.credentials[data-astro-cid-jgctki6q] li[data-astro-cid-jgctki6q]:before{content:"";background:var(--color-border-strong);border-radius:50%;flex:none;width:.45rem;height:.45rem}.credentials[data-astro-cid-jgctki6q] li[data-astro-cid-jgctki6q]:first-child{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.credentials[data-astro-cid-jgctki6q] li[data-astro-cid-jgctki6q]:first-child:before{background:var(--color-accent)}.section-footer[data-astro-cid-jgctki6q]{margin-top:var(--space-6)}.figure[data-astro-cid-khyig4bw]{margin:2rem 0}.figure--gallery[data-astro-cid-khyig4bw]{margin:0}.figure-zoom[data-astro-cid-khyig4bw]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;transition:border-color .15s;display:block;overflow:hidden}.figure-zoom[data-astro-cid-khyig4bw]:hover{border-color:var(--color-accent)}.figure-zoom[data-astro-cid-khyig4bw] img{border-radius:0;width:100%}.figure--gallery[data-astro-cid-khyig4bw] .figure-caption[data-astro-cid-khyig4bw]{margin-top:var(--space-2);font-size:var(--text-xs)}.figure-missing[data-astro-cid-khyig4bw] p[data-astro-cid-khyig4bw]{gap:var(--space-1);min-height:12rem;padding:var(--space-5);border:2px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-muted);text-align:center;place-items:center;display:grid}.figure-missing[data-astro-cid-khyig4bw] code[data-astro-cid-khyig4bw]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent)}.gallery[data-astro-cid-rj65ajc3]{margin:2rem 0}.gallery-grid[data-astro-cid-rj65ajc3]{gap:var(--space-4);align-items:start;display:grid}@media (width>=40rem){.gallery-grid--2[data-astro-cid-rj65ajc3]{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid--3[data-astro-cid-rj65ajc3]{grid-template-columns:repeat(3,minmax(0,1fr))}}.pipeline[data-astro-cid-iz62twpy]{margin:2rem 0}.steps[data-astro-cid-iz62twpy]{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.step[data-astro-cid-iz62twpy]{align-items:flex-start;gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-surface);text-align:start;hyphens:auto;overflow-wrap:break-word;flex-direction:column;margin:0;display:flex;position:relative}.step--last[data-astro-cid-iz62twpy]{background:var(--color-accent-soft)}.step[data-astro-cid-iz62twpy]:not(.step--last):after{content:"↓";left:50%;bottom:calc(-1 * var(--space-5));width:var(--space-5);line-height:var(--space-5);text-align:center;color:var(--color-muted);position:absolute;transform:translate(-50%)}@media (width>=46rem){.steps[data-astro-cid-iz62twpy]{grid-template-columns:repeat(var(--count), minmax(0, 1fr));gap:var(--space-4)}.step[data-astro-cid-iz62twpy]:not(.step--last):after{content:"→";left:auto;right:calc(-1 * var(--space-4));width:var(--space-4);line-height:1;top:50%;bottom:auto;transform:translateY(-50%)}}.number[data-astro-cid-iz62twpy]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-accent)}.title[data-astro-cid-iz62twpy]{font-size:.95rem;font-weight:700;line-height:1.3}.detail[data-astro-cid-iz62twpy]{color:var(--color-muted);font-size:var(--text-sm);line-height:1.45}.tag[data-astro-cid-iz62twpy]{padding-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);margin-top:auto}.score-chart[data-astro-cid-myw3atc5]{--dot:#6f80b8;--label-width:minmax(9rem, 38%);margin:2rem 0}.chart[data-astro-cid-myw3atc5]{padding:var(--space-4) var(--space-5) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.rows[data-astro-cid-myw3atc5]{margin:0;padding:0;list-style:none}.row[data-astro-cid-myw3atc5],.axis[data-astro-cid-myw3atc5]{grid-template-columns:var(--label-width) minmax(0, 1fr) 5.5rem;align-items:center;column-gap:var(--space-4);display:grid}.row[data-astro-cid-myw3atc5]+.row[data-astro-cid-myw3atc5]{margin-top:0}.label[data-astro-cid-myw3atc5]{padding-block:var(--space-2);font-size:var(--text-sm);text-align:start;hyphens:manual;line-height:1.3}.value[data-astro-cid-myw3atc5]{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-muted);text-align:end}.row--highlight[data-astro-cid-myw3atc5] .label[data-astro-cid-myw3atc5],.row--highlight[data-astro-cid-myw3atc5] .value[data-astro-cid-myw3atc5]{color:var(--color-text);font-weight:700}.track[data-astro-cid-myw3atc5]{align-self:stretch;min-height:2.25rem;position:relative}.track[data-astro-cid-myw3atc5]:before{content:"";border-top:1px solid var(--color-border);position:absolute;inset:50% 0 auto}.grid[data-astro-cid-myw3atc5]{inset-block:0;left:var(--x);border-left:1px solid var(--color-border);position:absolute}.dot[data-astro-cid-myw3atc5]{top:50%;left:var(--x);background:var(--dot);width:.75rem;height:.75rem;box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.row--highlight[data-astro-cid-myw3atc5] .dot[data-astro-cid-myw3atc5]{background:var(--color-accent);width:.95rem;height:.95rem}.row[data-astro-cid-myw3atc5]:hover .label[data-astro-cid-myw3atc5]{color:var(--color-accent)}.axis[data-astro-cid-myw3atc5]{margin-top:var(--space-1)}.axis-track[data-astro-cid-myw3atc5]{grid-column:2;height:1.25rem;position:relative}.tick[data-astro-cid-myw3atc5]{left:var(--x);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap;position:absolute;transform:translate(-50%)}.tick--first[data-astro-cid-myw3atc5]{transform:none}.tick--last[data-astro-cid-myw3atc5]{transform:translate(-100%)}.scale[data-astro-cid-myw3atc5]{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-muted);text-align:end}@media (width<=34rem){.row[data-astro-cid-myw3atc5],.axis[data-astro-cid-myw3atc5]{grid-template-columns:minmax(0,1fr) 4.75rem}.label[data-astro-cid-myw3atc5]{grid-column:1/-1;padding-bottom:0}.axis-track[data-astro-cid-myw3atc5]{grid-column:1}.chart[data-astro-cid-myw3atc5]{padding-inline:var(--space-4)}}.highlights[data-astro-cid-xhpf3ngl]{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid;overflow:hidden}@media (width>=48rem){.highlights[data-astro-cid-xhpf3ngl]{grid-template-columns:repeat(var(--count), minmax(0, 1fr))}}.item[data-astro-cid-xhpf3ngl]{justify-content:flex-end;gap:var(--space-1);padding:var(--space-4) var(--space-5);box-shadow:-1px 0 0 var(--color-border), 0 -1px 0 var(--color-border);flex-direction:column-reverse;display:flex}dd[data-astro-cid-xhpf3ngl]{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--color-accent);white-space:nowrap;margin:0;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:600;line-height:1.1}dt[data-astro-cid-xhpf3ngl]{font-size:var(--text-sm);color:var(--color-muted);line-height:1.4}.page-header[data-astro-cid-4qnrviu5] .breadcrumbs{margin-bottom:var(--space-5)}.page-header[data-astro-cid-4qnrviu5] .eyebrow[data-astro-cid-4qnrviu5]{margin-bottom:var(--space-3)}.project-hero[data-astro-cid-4qnrviu5]{gap:var(--space-4);margin-bottom:var(--space-7);display:grid}.cover[data-astro-cid-4qnrviu5]{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:#0d1220;width:100%;max-height:34rem}.project-layout[data-astro-cid-4qnrviu5]{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=60rem){.project-layout[data-astro-cid-4qnrviu5]{gap:var(--space-7);grid-template-columns:minmax(0,1fr) 17rem;grid-template-areas:"body meta"}.project-body[data-astro-cid-4qnrviu5]{grid-area:body}.project-meta[data-astro-cid-4qnrviu5]{top:var(--space-5);grid-area:meta;position:sticky}}.project-body[data-astro-cid-4qnrviu5]{counter-reset:figure}dl[data-astro-cid-4qnrviu5]{gap:var(--space-5);margin:0;display:grid}dt[data-astro-cid-4qnrviu5]{margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}dd[data-astro-cid-4qnrviu5]{margin:0;font-size:.95rem}.evidence[data-astro-cid-4qnrviu5]{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.similar[data-astro-cid-4qnrviu5]{gap:var(--space-3);max-width:var(--prose-width);margin-top:var(--space-8);background:var(--color-accent-soft);border-color:#0000;justify-items:start;display:grid}.more-projects[data-astro-cid-4qnrviu5]{margin-top:var(--space-8)}.page-header[data-astro-cid-ksy36oik]{gap:var(--space-3);display:grid}.page-header[data-astro-cid-ksy36oik] .breadcrumbs{margin-bottom:var(--space-3)}.page-header[data-astro-cid-ksy36oik] h1[data-astro-cid-ksy36oik]{max-width:30ch}.links[data-astro-cid-ksy36oik]{margin-top:var(--space-2)}.back[data-astro-cid-ksy36oik]{margin-top:var(--space-7)}.profiles[data-astro-cid-asmhja6g]{margin-top:var(--space-5)}.year[data-astro-cid-asmhja6g]{gap:var(--space-5);padding-block:var(--space-6);border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=48rem){.year[data-astro-cid-asmhja6g]{grid-template-columns:8rem minmax(0,1fr)}}.year[data-astro-cid-asmhja6g] h2[data-astro-cid-asmhja6g]{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--color-muted);font-weight:500}
