@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_1f5468{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_1f5468{--font-instrument-serif:"Instrument Serif","Instrument Serif Fallback"}:root{--ink:#141714;--muted:#667066;--line:#d7ddd4;--paper:#f8faf6;--panel:#edf2ea;--green:#1f6b45;--green-dark:#145036;--serif:var(--font-instrument-serif),Georgia,serif;--sans:var(--font-geist),Arial,sans-serif;--mono:var(--font-geist-mono),monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--green)}:focus-visible{outline:3px solid #8fc8a7;outline-offset:4px}main{max-width:1180px;padding:0 32px;margin:0 auto}.site-nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-weight:700;font-size:18px;letter-spacing:-.055em;text-decoration:none}.wordmark span{color:var(--green)}.nav-links{display:flex;align-items:center;gap:24px;font-size:14px}.back-link,.nav-links a{text-decoration:none;color:var(--muted)}.back-link:hover,.nav-links a:hover{color:var(--green)}.hero{max-width:930px;padding:130px 0 86px}.eyebrow{color:var(--green);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;margin:0 0 20px}.eyebrow span,.post-meta span{color:#a6afa5;padding:0 5px}h1,h2,h3,p{margin-top:0}.article h1,.blog-header h1,.hero h1{font-size:clamp(46px,7vw,88px);letter-spacing:-.065em;line-height:.96;max-width:920px;margin-bottom:28px}.hero-copy{color:#4c554d;font-size:clamp(19px,2vw,23px);max-width:650px;letter-spacing:-.02em}.status{display:inline-block;border-top:1px solid var(--line);padding-top:20px;margin:27px 0 0;color:var(--muted);font-family:var(--mono);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-right:0;background:white}.metric{min-height:146px;display:flex;flex-direction:column;justify-content:space-between;padding:22px;border-right:1px solid var(--line)}.metric strong{color:var(--green-dark);font-size:clamp(20px,2.3vw,30px);letter-spacing:-.055em;line-height:1.1}.metric span{color:var(--muted);font-size:13px;line-height:1.35}.metric i{color:var(--green);font-style:normal}.data-note{color:var(--muted);font-size:11px;font-family:var(--mono);margin:12px 0 0}.section{border-top:1px solid var(--line);margin-top:110px;padding:25px 0 0}.section-heading{margin-bottom:18px}.section-heading--row{display:flex;align-items:flex-end;justify-content:space-between}.section h2{font-family:var(--serif);font-size:clamp(42px,5vw,62px);font-weight:400;letter-spacing:-.05em;line-height:.95;margin:0}.section-intro{color:var(--muted);font-size:18px;max-width:540px;margin-bottom:36px}.read-link,.text-link{color:var(--green);font-size:14px;font-weight:600}.project-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.project-card{min-height:372px;padding:28px;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff}.project-card--mcp{background:#183a2a;border-color:#183a2a;color:#f5fbf4}.project-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px}.project-top a{color:inherit}.project-kind{color:var(--green);font-weight:700;letter-spacing:.09em;margin:0}.project-card--mcp .project-kind{color:#8ad4a8}.project-card h3{font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.06em;margin:auto 0 7px}.project-tagline{font-family:var(--serif);font-size:25px;letter-spacing:-.025em;margin:0 0 18px}.project-card>p:not(.project-tagline){color:#626b63;font-size:15px;max-width:480px;margin-bottom:20px}.project-card--mcp>p:not(.project-tagline){color:#c5d7cb}.tags{list-style:none;padding:0;margin:auto 0 0;display:flex;flex-wrap:wrap;gap:7px}.tags li{border:1px solid var(--line);border-radius:100px;padding:4px 9px;color:var(--muted);font-family:var(--mono);font-size:10px}.project-card--mcp .tags li{border-color:#416653;color:#b5cabd}.post-list{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-right:0}.post-card{padding:25px;min-height:260px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column}.post-meta{color:var(--muted);font-family:var(--mono);font-size:11px}.blog-row h2,.post-card h3{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:14px 0}.blog-row h2 a,.post-card h3 a{text-decoration:none}.post-card>p:not(.post-meta){color:var(--muted);font-size:14px}.post-card .read-link{margin-top:auto}.elsewhere{max-width:760px;margin-bottom:110px}.elsewhere>p:not(.eyebrow){font-size:22px;letter-spacing:-.025em;margin:24px 0 30px}.elsewhere-links{display:flex;gap:18px;flex-wrap:wrap}.elsewhere-links a{color:var(--green);font-weight:600}footer{border-top:1px solid var(--line);padding:22px 0 36px;display:flex;justify-content:space-between;color:var(--muted);font-family:var(--mono);font-size:11px}footer a{color:inherit}.blog-shell{max-width:840px}.blog-header{padding:100px 0 58px;border-bottom:1px solid var(--line)}.blog-header h1{font-size:clamp(48px,7vw,74px)}.blog-header>p:last-child{color:var(--muted);font-size:18px;max-width:580px}.blog-list{border-top:0}.blog-row{padding:34px 0;border-bottom:1px solid var(--line)}.blog-row h2{font-size:clamp(31px,4vw,46px)}.blog-row>p:not(.post-meta){color:var(--muted);max-width:650px}.article{max-width:690px;padding:100px 0 120px}.article h1{font-size:clamp(48px,6vw,72px);margin-bottom:52px}.article>p:not(.post-meta){font-family:var(--serif);font-size:25px;line-height:1.4;letter-spacing:-.018em;margin-bottom:24px}.article>p.article-lead{color:var(--ink)}.article h2{font-family:var(--serif);font-size:clamp(30px,3.6vw,42px);font-weight:400;letter-spacing:-.04em;line-height:1.02;margin:52px 0 22px}.article-pull{border-left:2px solid var(--green);padding-left:24px;margin:44px 0}.article-pull p{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,31px);line-height:1.25;letter-spacing:-.03em;color:var(--ink);margin:0}.article-list{list-style:none;padding:0;margin:0 0 24px}.article-list li{display:grid;grid-template-columns:34px 1fr;grid-gap:12px;gap:12px;margin-bottom:18px}.article-list li>span{color:var(--muted);font-family:var(--mono);font-size:11px;padding-top:9px}.article-list li>p{font-family:var(--sans);font-size:16px;line-height:1.6;color:#4c554d;margin:0}.article-table{margin:44px 0;overflow-x:auto}.article-table table{width:100%;border-collapse:collapse}.article-table td,.article-table th{text-align:left;padding:14px 18px 14px 0;border-bottom:1px solid var(--line);vertical-align:baseline;white-space:nowrap}.article-table thead th{color:var(--muted);font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.article-table tbody th{font-family:var(--sans);font-size:15px;font-weight:600;white-space:normal}.article-table tbody td{font-family:var(--mono);font-size:14px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.article-table tbody tr:first-child td{color:var(--green-dark)}.article-table figcaption{color:var(--muted);font-family:var(--mono);font-size:11px;line-height:1.6;margin-top:14px;white-space:normal}.article-note{border-top:1px solid var(--line);padding-top:22px;margin-top:52px}.article>p.article-note{font-family:var(--sans);font-size:13px;line-height:1.65;color:var(--muted);letter-spacing:0}.lang-switch{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);background:#fff;margin-bottom:46px}.lang-switch button{border:0;background:transparent;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.07em;padding:6px 12px;cursor:pointer}.lang-switch button:hover{color:var(--green)}.lang-switch button.is-active{background:var(--green);color:#fff}.article-wide{margin:48px 0}@media (min-width:940px){.article-wide{width:840px}}.ath{margin:0;border:1px solid var(--line);background:#fff;padding:26px}.ath-head{margin-bottom:24px}.ath-eyebrow{color:var(--green);font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.ath-title{font-size:19px;font-weight:700;letter-spacing:-.035em;margin:9px 0 0}.ath-hint,.ath-title{font-family:var(--sans)}.ath-hint{font-size:14px;line-height:1.5;color:var(--muted);max-width:54ch;margin:7px 0 0;letter-spacing:0}.ath-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px 26px;gap:22px 26px;align-items:start;padding-bottom:22px;margin-bottom:18px;border-bottom:1px solid var(--line)}.ath-ctl{min-width:0}.ath-ctl-k{display:flex;align-items:baseline;gap:10px;color:var(--muted);font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px}.ath-ctl-v{color:var(--ink);font-size:15px;letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ath-ctl-note{color:var(--muted);font-family:var(--sans);font-size:12px;line-height:1.45;margin:9px 0 0;letter-spacing:0}.ath-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:ew-resize;display:block}.ath-range::-webkit-slider-runnable-track{height:3px;background:var(--line)}.ath-range::-moz-range-track{height:3px;background:var(--line)}.ath-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;margin-top:-6px;border-radius:100px;background:var(--green);border:2px solid #fff;box-shadow:0 0 0 1px var(--green)}.ath-range::-moz-range-thumb{width:13px;height:13px;border-radius:100px;background:var(--green);border:2px solid #fff;box-shadow:0 0 0 1px var(--green)}.ath-chips,.ath-presets{display:flex;flex-wrap:wrap;gap:6px}.ath-presets{margin-top:10px}.ath-chip{border:1px solid var(--line);border-radius:100px;background:transparent;color:var(--muted);font-family:var(--mono);font-size:11px;padding:5px 10px;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ath-chip:hover{border-color:#bdc6ba;color:var(--ink)}.ath-chip.is-active{background:var(--green);border-color:var(--green);color:#fff}.ath-plot{position:relative;width:100%}.ath-svg{display:block;width:100%;touch-action:pan-y}.ath-grid{stroke:var(--line)}.ath-axis{stroke:#bdc6ba}.ath-line{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.ath-dot{fill:var(--green)}.ath-tick{stroke:var(--green);stroke-width:1.4;opacity:.5}.ath-xlabel,.ath-ylabel{fill:var(--muted);font-family:var(--mono);font-size:10px}.ath-crosshair{stroke:var(--muted);stroke-dasharray:3 3}.ath-hover-dot{fill:#fff;stroke:var(--ink);stroke-width:2}.ath-tip{position:absolute;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid #bdc6ba;background:#fff;box-shadow:0 6px 16px rgba(22,44,30,.1);font-family:var(--mono);font-size:11px;white-space:nowrap;pointer-events:none;z-index:2}.ath-tip-d{color:var(--muted)}.ath-tip-v{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ath-tip-badge{background:var(--green);color:#fff;border-radius:100px;padding:1px 7px;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.ath-legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-family:var(--mono);font-size:11px;line-height:1.45}.ath-legend-dot{flex:0 0 auto;width:7px;height:7px;border-radius:100px;background:var(--green)}.ath-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-right:0;margin-top:24px}.ath-stat{display:flex;flex-direction:column;gap:6px;padding:15px 17px;border-right:1px solid var(--line)}.ath-stat--hero{background:var(--panel)}.ath-stat-k{color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.ath-stat-v{font-size:21px;font-weight:700;letter-spacing:-.045em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ath-stat--hero .ath-stat-v{color:var(--green-dark)}.ath-stat-s{color:var(--muted);font-family:var(--mono);font-size:10.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ath-source{color:var(--muted);font-family:var(--mono);font-size:10.5px;line-height:1.6;margin:18px 0 0}.ath-ctl--slider{grid-column:1/-1}@media (max-width:620px){.ath{padding:17px 15px}.ath-controls{grid-template-columns:1fr}.ath-stats{grid-template-columns:1fr 1fr;border-bottom:0}.ath-stat{border-bottom:1px solid var(--line)}.article-wide{margin:34px 0}}@media (max-width:720px){main{padding:0 20px}.site-nav{min-height:68px}.nav-links{gap:14px;font-size:12px}.hero{padding:80px 0 60px}.metrics{grid-template-columns:1fr 1fr}.metric{min-height:125px;padding:17px}.section{margin-top:72px}.post-list,.project-list{grid-template-columns:1fr}.post-card{border-bottom:1px solid var(--line);min-height:220px}.section-heading--row{align-items:start;gap:20px}.elsewhere{margin-bottom:72px}.article,.blog-header{padding-top:65px}}@media (prefers-reduced-motion:no-preference){.post-card,.project-card{transition:transform .18s ease,box-shadow .18s ease}.post-card:hover,.project-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(22,44,30,.08)}}