@font-face{font-family:Cambo;font-style:normal;font-weight:400;font-display:swap;src:url(../media/aa5004f4fe2ec368-s.afd896d9.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:Cambo;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6d93a6abc2919cf2-s.p.2024c312.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:Cambo Fallback;src:local(Times New Roman);ascent-override:79.18%;descent-override:21.89%;line-gap-override:0.0%;size-adjust:111.02%}.cambo_f59fa82b-module__dTglWq__className{font-family:Cambo,Cambo Fallback;font-style:normal;font-weight:400}.cambo_f59fa82b-module__dTglWq__variable{--font-cambo:"Cambo","Cambo Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_6a0e6105-module__QVq-Ba__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_6a0e6105-module__QVq-Ba__variable{--font-geist:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.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(../media/7d817b4c03b0c5f1-s.a40b9a8b.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_aed55a57-module__iGg3zq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_aed55a57-module__iGg3zq__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
.pf{--base:#f8f7f7;--surface:#fff;--surface-2:#f2f1f1;--surface-3:#eceaea;--ink:#161515;--ink-2:#1f1e1e;--line:#1615151f;--line-strong:#16151538;--fg:#161515;--mute:#555151;--dim:#6f6a6a;--accent:#29f197;--accent-ink:#0d7a52;--accent-2:#df8be0;--accent-soft:#e8fdf3;--radius-card:20px;--radius-btn:12px;--shadow-card:0 1px 2px #1615150a,0 8px 24px -12px #1615151a;--shadow-card-hover:0 1px 2px #1615150d,0 16px 40px -16px #16151529;--display:var(--font-cambo),Georgia,"Times New Roman",serif;--sans:var(--font-geist),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--ease:cubic-bezier(.22,1,.36,1);background:var(--base);min-height:100vh;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:1rem;line-height:1.4;overflow-x:clip}.pf ::selection{background:var(--accent);color:#161515}.pf :focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:3px}.pf a{color:inherit;text-underline-offset:.2em}.pf h1,.pf h2,.pf h3,.pf h4{text-wrap:balance;margin:0}.pf p{text-wrap:pretty;margin:0}.pf img{max-width:100%}.pf .on-dark{--base:#161515;--surface:#1f1e1e;--surface-2:#292727;--surface-3:#333030;--line:#f8f7f724;--line-strong:#f8f7f742;--fg:#f8f7f7;--mute:#b4afaf;--dim:#8b8686;--accent-ink:#29f197;--accent-soft:#29f1971f;background:var(--base);color:var(--fg)}.pf .ico{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.pf .wrap{max-width:1200px;margin:0 auto;padding-inline:20px}@media (min-width:640px){.pf .wrap{padding-inline:32px}}@media (min-width:1024px){.pf .wrap{padding-inline:40px}}.pf .t-display,.pf .t-h1,.pf .t-h2{font-family:var(--display);font-weight:400}.pf .t-display{letter-spacing:-.04em;font-size:clamp(2.5rem,1.4rem + 4.6vw,4.75rem);line-height:1}.pf .t-h1{letter-spacing:-.04em;font-size:clamp(2.5rem,1.5rem + 4.2vw,4rem);line-height:1.04}.pf .t-h2{letter-spacing:-.04em;font-size:clamp(2.25rem,1.35rem + 3.7vw,4rem);line-height:1.1}.pf .t-h2.sm{font-size:clamp(2rem,1.3rem + 2.6vw,3rem)}.pf .t-display em,.pf .t-h1 em,.pf .t-h2 em{color:var(--accent-ink);font-style:italic}.pf .t-h3{font-family:var(--sans);letter-spacing:-.02em;font-size:clamp(1rem,.82rem + .75vw,1.5rem);font-weight:500;line-height:1.3}.pf .lead{color:var(--mute);max-width:42rem;font-size:clamp(1rem,.95rem + .22vw,1.125rem);line-height:1.45}.pf .mute{color:var(--mute)}.pf .eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-ink);align-items:center;gap:10px;font-size:13px;display:flex}.pf .eyebrow:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.pf .label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--accent-ink);font-size:11px}.pf .num{font-family:var(--mono);font-variant-numeric:tabular-nums}.pf .sec{padding-block:80px}@media (min-width:640px){.pf .sec{padding-block:96px}}@media (min-width:1024px){.pf .sec{padding-block:112px}}.pf .tone-surface{background:var(--surface)}.pf .sec-head{flex-direction:column;gap:20px;max-width:56rem;display:flex}.pf .site-header{z-index:50;border-bottom:1px solid #0000;transition:background .2s,border-color .2s;position:sticky;top:0}.pf .site-header.scrolled{-webkit-backdrop-filter:blur(20px);border-color:var(--line);background:#f8f7f7db}.pf .bar{justify-content:space-between;align-items:center;gap:24px;height:64px;display:flex}.pf .logo{align-items:center;gap:8px;min-height:44px;text-decoration:none;display:inline-flex}.pf .logo .w{font-family:var(--display);letter-spacing:-.03em;font-size:24px;line-height:1}.pf .logo .w span{color:var(--accent-ink)}.pf .logo .divider{background:var(--line-strong);width:1px;height:12px}.pf .logo .tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--mute);font-size:11px}@media (max-width:639px){.pf .logo .divider,.pf .logo .tag{display:none}}.pf .primary-nav{align-items:center;gap:4px;min-width:0;display:flex}.pf .primary-nav .nl{color:var(--mute);border-radius:6px;align-items:center;min-height:44px;padding:0 12px;font-size:14px;text-decoration:none;transition:color .2s;display:inline-flex}.pf .primary-nav .nl:hover,.pf .primary-nav .nl[aria-current=page]{color:var(--fg)}@media (max-width:520px){.pf .bar{gap:8px}.pf .logo .w{font-size:19px}.pf .primary-nav{gap:0}.pf .primary-nav .nl{padding:0 8px;font-size:13px}.pf .primary-nav .nl.hide-xs{display:none}.pf .primary-nav .btn{height:40px;padding:0 12px;font-size:13px}.pf .primary-nav .btn .ico{display:none}}.pf .btn{border-radius:var(--radius-btn);height:44px;font-family:var(--mono);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}@media (min-width:640px){.pf .btn{font-size:16px}}.pf .btn.lg{height:52px;padding:0 28px}.pf .btn.primary{background:var(--accent);color:#161515}.pf .btn.primary:hover{background:#4ff3aa}.pf .btn.secondary{border-color:var(--line-strong);color:var(--fg);background:0 0}.pf .btn.secondary:hover{border-color:var(--fg);background:var(--surface-2)}.pf .btn.dark{background:var(--ink);color:#f8f7f7}.pf .btn.dark:hover{background:var(--ink-2)}.pf .btn .ico{transition:transform .3s var(--ease)}.pf .btn:hover .ico{transform:translate(2px)}.pf .labels{line-height:1;display:grid;position:relative;overflow:hidden}.pf .labels>span{transition:transform .38s var(--ease);grid-area:1/1;display:block}.pf .labels>span:last-child{transform:translateY(105%)}.pf .btn:hover .labels>span:first-child,.pf .btn:focus-visible .labels>span:first-child{transform:translateY(-105%)}.pf .btn:hover .labels>span:last-child,.pf .btn:focus-visible .labels>span:last-child{transform:translateY(0)}.pf .btns{flex-wrap:wrap;gap:12px;display:flex}.pf .text-link{font-family:var(--mono);color:var(--accent-ink);align-items:center;gap:6px;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.pf .text-link:hover{text-decoration:underline}.pf .card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}@media (min-width:640px){.pf .card{padding:28px}}.pf a.card{transition:box-shadow .2s var(--ease),transform .2s var(--ease);text-decoration:none;display:block}.pf a.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.pf .card.flat{box-shadow:none;background:var(--base)}.pf a.card.flat:hover{box-shadow:var(--shadow-card)}.pf .badge{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--mute);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;display:inline-flex}.pf .badge.accent{background:var(--accent);color:#161515;border-color:#0000}.pf .badge.positive{background:var(--accent-soft);color:#17794f;border-color:#0000}.pf .pf-hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;padding-block:64px 88px;display:grid}@media (min-width:640px){.pf .pf-hero{padding-block:96px 112px}}@media (max-width:960px){.pf .pf-hero{grid-template-columns:minmax(0,1fr)}}.pf .pf-hero>*{min-width:0}.pf .pf-hero .role{font-family:var(--display);color:var(--accent-ink);letter-spacing:-.02em;font-size:clamp(1.4rem,1rem + 1.4vw,2rem);font-style:italic;line-height:1.1}.pf .pf-hero .meta{color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.pf .pf-hero .meta i{background:var(--dim);border-radius:50%;width:3px;height:3px}.pf .map{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);gap:12px;margin:0;padding:14px;display:grid}.pf .map canvas{aspect-ratio:5/4;background:var(--surface-2);border-radius:12px;width:100%;max-width:100%;display:block}.pf .map figcaption{color:var(--mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:0 4px 2px;font-size:13px;display:flex}.pf .keys{flex-wrap:wrap;gap:14px;display:flex}.pf .key{align-items:center;gap:6px;display:inline-flex}.pf .sw{border-radius:50%;width:9px;height:9px;display:inline-block}.pf .flow{flex-wrap:wrap;align-items:center;gap:10px 8px;padding-bottom:88px;display:flex}.pf .flow .st{font-family:var(--mono);border-radius:var(--radius-btn);background:var(--surface);box-shadow:var(--shadow-card);color:var(--fg);padding:8px 14px;font-size:13px}.pf .flow .st.end{background:var(--accent);color:#161515;box-shadow:none}.pf .flow .ico{color:var(--dim)}.pf .about{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:32px 56px;display:grid}.pf .about .copy{flex-direction:column;gap:20px;display:flex}.pf .about .copy p{color:var(--mute);max-width:40rem;font-size:1.06rem;line-height:1.55}.pf .about .stats{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:960px){.pf .about{grid-template-columns:minmax(0,1fr)}.pf .about .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.pf .about .stats{grid-template-columns:minmax(0,1fr)}}.pf .portrait{background:linear-gradient(180deg,var(--accent-soft)0%,#d6f7e7 100%);border-radius:var(--radius-card);aspect-ratio:4/4.3;justify-content:center;align-items:flex-end;max-width:100%;margin:0;display:flex;overflow:hidden}.pf .portrait img{width:92%;height:auto;display:block}@media (max-width:960px){.pf .portrait{max-width:420px}}.pf .stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pf .stat{background:var(--base);border-radius:16px;align-content:start;gap:8px;padding:22px;display:grid}.pf .stat b{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,1.5rem + 1.6vw,2.75rem);font-weight:400;line-height:1}.pf .stat span{color:var(--mute);font-size:14px;line-height:1.4}.pf .stat.hl{background:var(--accent-soft)}.pf .stat.hl b{color:var(--accent-ink)}.pf .caps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px;display:grid}@media (max-width:960px){.pf .caps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.pf .caps{grid-template-columns:1fr}}.pf .cap{flex-direction:column;gap:12px;display:flex}.pf .cap .top{justify-content:space-between;align-items:baseline;display:flex}.pf .cap .n{font-family:var(--mono);color:var(--dim);font-size:12px}.pf .cap h3{letter-spacing:-.02em;font-size:18px;font-weight:500}.pf .cap p{color:var(--mute);font-size:15px;line-height:1.45}.pf .cap .src{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px;display:flex}.pf .cap .src span{background:var(--base);color:var(--mute);border-radius:8px;padding:4px 9px;font-size:12.5px}.pf .cap .proof{color:var(--mute);font-size:13.5px}.pf .cap .proof a{color:var(--accent-ink);font-weight:500}.pf .loop{background:var(--surface);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;padding:18px 22px;display:flex}.pf .loop span{font-family:var(--mono);color:var(--fg);font-size:12.5px}.pf .loop .ico{color:var(--dim);width:14px;height:14px}.pf .loop .back{color:var(--accent-ink);font-weight:500}.pf .principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px;display:grid}@media (max-width:960px){.pf .principles{grid-template-columns:1fr}}.pf .principles .card{flex-direction:column;gap:10px;display:flex}.pf .principles h3{font-size:16px;font-weight:600}.pf .principles p{color:var(--mute);font-size:14.5px;line-height:1.5}.pf .projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:56px;display:grid}@media (max-width:760px){.pf .projects{grid-template-columns:1fr}}.pf .proj{flex-direction:column;gap:12px;min-height:100%;display:flex}.pf .proj .row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pf .proj h3{margin-top:6px}.pf .proj p{color:var(--mute);font-size:15px;line-height:1.45}.pf .proj .tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px;display:flex}.pf .proj .tags span{background:var(--base);border-radius:var(--radius-btn);color:var(--mute);padding:6px 12px;font-size:12.5px}.pf .proj.flat .tags span{background:var(--surface)}.pf .proj .go{font-family:var(--mono);color:var(--accent-ink);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.pf .proj .go .ico{transition:transform .3s var(--ease)}.pf a.proj:hover .go .ico{transform:translate(3px)}.pf .split{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:56px;display:grid}@media (max-width:900px){.pf .split{grid-template-columns:minmax(0,1fr);gap:32px}}.pf .split .txt{flex-direction:column;gap:18px;display:flex}.pf .split .txt p{color:var(--mute);font-size:1.06rem;line-height:1.55}.pf .question{border-left:2px solid var(--accent);padding-left:24px}.pf .split .txt .question p{font-family:var(--display);letter-spacing:-.03em;color:var(--fg);font-size:clamp(1.5rem,1.1rem + 1.6vw,2.25rem);line-height:1.2}.pf .vflow{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pf .vflow li{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;grid-template-columns:36px 1fr;align-items:center;gap:14px;padding:14px 18px;display:grid}.pf .vflow .d{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);font-family:var(--mono);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.pf .vflow li.hl .d{background:var(--accent);color:#161515}.pf .vflow b{font-weight:500;display:block}.pf .vflow .s{color:var(--mute);margin-top:2px;font-size:14px;line-height:1.4;display:block}.pf .exps{margin-top:56px;padding:8px 28px}@media (max-width:600px){.pf .exps{padding:4px 20px}}.pf .exp{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:baseline;gap:16px 32px;padding:24px 0;display:grid}.pf .exp:last-child{border-bottom:0}@media (max-width:760px){.pf .exp{grid-template-columns:1fr;gap:8px}}.pf .exp h3{letter-spacing:-.02em;font-size:17px;font-weight:500}.pf .exp .q{color:var(--fg);font-size:15px;line-height:1.45}.pf .exp .so{color:var(--mute);margin-top:8px;font-size:14px;line-height:1.45}.pf .tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px;display:grid}@media (max-width:860px){.pf .tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.pf .tools{grid-template-columns:1fr}}.pf .tools ul{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.pf .tools li{background:var(--base);border-radius:var(--radius-btn);padding:7px 12px;font-size:14px;font-weight:500}.pf .xp{margin-top:56px;padding:4px 28px}@media (max-width:600px){.pf .xp{padding:4px 20px}}.pf .xp ul{margin:0;padding:0;list-style:none}.pf .xp li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:20px 0;display:grid}.pf .xp li:last-child{border-bottom:0}.pf .xp b{letter-spacing:-.01em;font-size:17px;font-weight:500}.pf .xp .co{color:var(--mute);font-size:15px}.pf .xp .co a{color:var(--accent-ink);align-items:center;gap:5px;font-weight:500;display:inline-flex}.pf .xp .co a .ico{width:13px;height:13px}.pf .xp .yr{font-family:var(--mono);color:var(--dim);white-space:nowrap;font-size:13px}.pf .band-wrap{padding-block:80px 24px}.pf .band{border-radius:var(--radius-card);flex-direction:column;gap:40px;padding:56px 28px;display:flex}@media (min-width:640px){.pf .band{padding:64px 48px}}@media (min-width:1024px){.pf .band{flex-direction:row;justify-content:space-between;align-items:flex-end;padding:80px 64px}}.pf .band .copy{flex-direction:column;gap:24px;max-width:42rem;display:flex}.pf .band dl{min-width:min(100%,340px);margin:0}.pf .band dl div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:14px 0;display:flex}.pf .band dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--mute);font-size:11px}.pf .band dd{margin:0;font-size:15px}.pf .band dd a{color:var(--accent-ink)}.pf .site-footer{padding-block:56px}.pf .site-footer .intro{border-bottom:1px solid var(--line);flex-direction:column;gap:14px;margin-bottom:28px;padding-bottom:40px;display:flex}.pf .site-footer .intro p.mute{max-width:28rem;font-size:15px;line-height:1.5}.pf .site-footer .row{color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.pf .site-footer .row a{text-decoration:none}.pf .site-footer .row a:hover{color:var(--fg)}.pf .crumbs{color:var(--dim);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.pf .crumbs a{text-decoration:none}.pf .crumbs a:hover{color:var(--fg)}.pf .crumbs .cur{color:var(--mute)}.pf .crumbs .ico{width:12px;height:12px}.pf .cs-hero{padding-block:40px 72px}@media (min-width:640px){.pf .cs-hero{padding-block:56px 88px}}.pf .cs-hero .inner{flex-direction:column;gap:24px;max-width:56rem;margin-top:40px;display:flex}.pf .facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}@media (max-width:760px){.pf .facts{grid-template-columns:1fr 1fr}}.pf .facts div{background:var(--surface);box-shadow:var(--shadow-card);border-radius:16px;gap:4px;padding:16px 18px;display:grid}.pf .facts dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);font-size:11px}.pf .facts dd{margin:0;font-weight:500}.pf .tbl{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-top:32px;overflow-x:auto}.pf table.data{border-collapse:collapse;width:100%;min-width:600px;font-size:14.5px}.pf .data th,.pf .data td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px 20px}.pf .data tr:last-child td{border-bottom:0}.pf .data th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);font-size:11px;font-weight:500}.pf .data td:first-child{font-weight:500}.pf .data td.n{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--mute)}.pf .stack-tags{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.pf .stack-tags span{background:var(--surface);border-radius:var(--radius-btn);box-shadow:var(--shadow-card);padding:7px 12px;font-size:14px;font-weight:500}.pf .learn{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:56px;display:grid}@media (max-width:760px){.pf .learn{grid-template-columns:1fr}}.pf .learn .card{flex-direction:column;gap:14px;display:flex}.pf .learn ul{color:var(--mute);gap:10px;margin:0;padding-left:18px;font-size:15px;line-height:1.5;display:grid}.pf .docbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:860px;margin:0 auto 24px;display:flex}.pf .tabs{background:var(--surface-3);border-radius:var(--radius-btn);gap:4px;padding:4px;display:flex}.pf .tabs a{min-height:40px;font-family:var(--mono);color:var(--mute);border-radius:9px;align-items:center;padding:0 16px;font-size:14px;text-decoration:none;display:inline-flex}.pf .tabs a[aria-current=page]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-card)}.pf .doc{max-width:860px;margin:0 auto;padding:28px}@media (min-width:640px){.pf .doc{padding:56px}}.pf .doc .doc-title{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.25rem)}.pf .doc h2.sh{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-ink);border-bottom:1px solid var(--line);margin:40px 0 16px;padding-bottom:10px;font-size:12px;font-weight:500}.pf .job{gap:6px;margin-bottom:26px;display:grid}.pf .job-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pf .job-h b{font-size:17px;font-weight:600}.pf .job-h .yr{font-family:var(--mono);color:var(--dim);font-size:13px}.pf .job .t{color:var(--accent-ink);font-weight:500}.pf .doc ul{color:var(--mute);gap:7px;margin:0;padding-left:18px;line-height:1.5;display:grid}.pf .doc ul b{color:var(--fg)}.pf .doc .p{color:var(--mute);line-height:1.55}.pf .doc .p b{color:var(--fg)}.pf .letter p{color:var(--mute);max-width:40rem;margin-bottom:18px;font-size:1.06rem;line-height:1.65}.pf .letter .pull{font-family:var(--display);letter-spacing:-.02em;color:var(--fg);font-size:1.6rem;line-height:1.25}.pf .letter .pull.accent{color:var(--accent-ink);font-style:italic}.pf .letter ul{gap:8px;margin:0 0 18px;font-size:1.06rem}.pf .letter .sig{color:var(--fg);font-family:var(--display);margin-top:28px;font-size:1.4rem}.pf .note{color:var(--dim);font-size:13px}@media (prefers-reduced-motion:reduce){.pf *,.pf :before,.pf :after{transition-duration:.001ms!important}.pf .labels>span:last-child{display:none}}@media print{.pf{background:#fff}.pf .site-header,.pf .site-footer,.pf .docbar{display:none}.pf .sec{padding-block:0}.pf .doc{box-shadow:none;max-width:none;padding:0}.pf .card{box-shadow:none}}html:has(.pf){scrollbar-color:#16151538 #f8f7f7}html:has(.pf) body{background:#f8f7f7}
