@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/665e920483964785-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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/5611c55482296524-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:Newsreader Fallback;src:local("Times New Roman");ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.00%;size-adjust:105.48%}.__className_64b714{font-family:Newsreader,Newsreader Fallback;font-style:normal}.__variable_64b714{--font-display:"Newsreader","Newsreader Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#ffffff;--fg:#050505;--muted:#666666;--soft:#f4f4f4;--line:#d8d8d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{min-height:100%;background:var(--bg);color:var(--fg)}body{margin:0;font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.18em}main{width:min(100% - 40px,1160px);margin:0 auto}.siteHeader{align-items:center;border-bottom:1px solid var(--fg);display:flex;justify-content:space-between;gap:24px;min-height:76px;position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.eyebrow,.itemEyebrow,.nav,.wordmark{font-size:12px;font-weight:500;letter-spacing:.075em;line-height:1.25;text-transform:uppercase}.wordmark{white-space:nowrap}.nav{display:flex;gap:20px;color:var(--muted)}.hero{border-bottom:1px solid var(--fg);min-height:calc(100svh - 76px);padding:clamp(60px,9vw,104px) 0 68px}.eyebrow,.itemEyebrow{color:var(--muted);margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display),Georgia,serif;font-weight:400}h1{font-size:clamp(54px,9.4vw,132px);letter-spacing:-.052em;line-height:.96;margin-bottom:30px;max-width:1080px}.lede{font-family:var(--font-display),Georgia,serif;font-size:clamp(30px,4.9vw,64px);letter-spacing:-.04em;line-height:.98;margin-bottom:24px;max-width:880px}.intro{color:var(--muted);font-size:clamp(16px,1.45vw,20px);line-height:1.62;max-width:700px}.section{border-bottom:1px solid var(--fg);padding:clamp(52px,7vw,88px) 0}.sectionHeader{display:grid;grid-gap:24px;gap:24px;grid-template-columns:220px minmax(0,1fr);margin-bottom:36px}h2{font-size:clamp(38px,5.6vw,82px);letter-spacing:-.048em;line-height:.96;margin-bottom:0;max-width:900px}.portfolioList{border-top:1px solid var(--line)}.portfolioItem{border-bottom:1px solid var(--line);display:grid;grid-gap:32px;gap:32px;grid-template-columns:minmax(220px,.65fr) minmax(0,1fr);padding:34px 0}.appCard h3,.portfolioItem h3{font-size:clamp(30px,3.5vw,52px);letter-spacing:-.038em;line-height:1;margin-bottom:0}.portfolioTitle{align-items:center;display:flex;gap:.24em}.portfolioLogo{display:inline-block;flex:0 0 auto;height:.86em;transform:translateY(-.17em);width:.86em}.appCard p,.portfolioItem p:last-child{color:var(--muted);font-size:16px;line-height:1.6}.appGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--fg);border:1px solid var(--fg)}.appCard{background:var(--bg);min-height:196px;padding:24px}.appCard p{margin-top:18px}.footer{align-items:center;color:var(--muted);display:flex;justify-content:space-between;gap:18px;min-height:92px}.footer p{font-size:9px;font-weight:400;letter-spacing:.015em;line-height:1.35;margin:0;max-width:220px}.footer a{color:var(--fg);font-size:11px;font-weight:500;letter-spacing:.01em;line-height:1.35}@media (max-width:820px){main{width:min(100% - 32px,1160px)}.siteHeader{align-items:flex-start;flex-direction:column;justify-content:center;gap:10px;min-height:auto;padding:16px 0 14px;position:static}.eyebrow,.itemEyebrow,.nav,.wordmark{font-size:11px}.nav{flex-wrap:wrap;gap:10px 16px}.hero{min-height:auto;padding:46px 0 42px}h1{margin-bottom:24px}.lede{margin-bottom:20px}.section{padding:44px 0}.sectionHeader{gap:18px;margin-bottom:30px}.appGrid,.portfolioItem,.sectionHeader{grid-template-columns:1fr}.portfolioItem{gap:16px;padding:24px 0}.itemEyebrow{margin-bottom:12px}.appGrid{gap:0}.appCard{min-height:auto;padding:22px 20px 24px}.appCard p{margin-top:12px}.appCard+.appCard{border-top:1px solid var(--fg)}.footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:10px;min-height:auto;padding:28px 0 30px}.footer p{font-size:8.5px;max-width:180px}.footer a{font-size:10.5px}}