@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:optional;src:url(/_next/static/media/8d697b304b401681-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:optional;src:url(/_next/static/media/ba015fad6dcf6784-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:optional;src:url(/_next/static/media/4cf2300e9c8272f7-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_06d97b{font-family:Geist,Geist Fallback;font-style:normal}.__variable_06d97b{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:optional;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:optional;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_bcfd22{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400;font-style:normal}.__variable_bcfd22{--font-serif:"Instrument Serif","Instrument Serif Fallback"}:root{--paper:#fafaf7;--paper-quiet:#f1f0ea;--ink:#11110f;--muted:#68645e;--soft:#8b867c;--line:#dedbd1;--line-strong:#c7c1b6;--accent:#166534;--accent-soft:#e5f0e5;--accent-ink:#0f4e27;--measure:720px;--wide:1040px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:linear-gradient(90deg,rgba(17,17,15,.035) 1px,transparent 1px) 0 0 /96px 96px,var(--paper);font-family:var(--font-geist),"Inter","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;text-rendering:optimizeLegibility}body::selection{background:var(--accent-soft);color:var(--accent-ink)}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 32%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 32%,transparent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--accent-ink)}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}p{margin:0}.skip-link{position:fixed;left:16px;top:16px;z-index:20;transform:translateY(-140%);border:1px solid var(--line-strong);background:var(--paper);padding:8px 12px}.skip-link:focus{transform:translateY(0)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(17,17,15,.08);background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav{display:flex;justify-content:space-between;width:min(calc(100% - 32px),var(--wide));margin:0 auto;padding:15px 0;gap:24px}.nav,.wordmark{align-items:center}.wordmark{display:inline-flex;justify-content:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink);font-size:.78rem;font-weight:650;letter-spacing:0;text-decoration:none}.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 22px;font-size:.88rem}.nav-links a{color:var(--muted);text-decoration:none}.nav-links a:hover{color:var(--ink)}main{width:min(calc(100% - 32px),var(--wide));margin:0 auto}.hero{display:grid;grid-template-columns:minmax(0,var(--measure)) 240px;grid-gap:clamp(34px,7vw,92px);gap:clamp(34px,7vw,92px);align-items:end;padding:clamp(72px,13vw,154px) 0 clamp(70px,11vw,128px)}.eyebrow,.section-kicker,.work-label{color:var(--accent);font-size:.76rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{margin:0;letter-spacing:0}h1{max-width:11ch;margin-top:14px;font-size:clamp(4.25rem,12vw,8.6rem);line-height:.88}h1,h2{font-family:var(--font-serif),Georgia,serif;font-weight:400}h2{margin-top:8px;font-size:clamp(2.6rem,7vw,4.8rem);line-height:.94}h3{font-size:1.02rem;line-height:1.3}.hero-line{max-width:640px;margin-top:34px;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.16}.hero-location{margin-top:18px;max-width:560px;color:var(--muted)}.contact-actions,.hero-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:28px;font-weight:620}.contact-actions a,.footer a,.hero-links a{text-decoration-thickness:1px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0;gap:0;max-width:690px;margin:46px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics div{padding:18px 22px 18px 0}.metrics div+div{border-left:1px solid var(--line);padding-left:22px}.metrics dt{font-family:var(--font-serif),Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1}.metrics dd{margin:8px 0 0;color:var(--muted);font-size:.9rem;line-height:1.35}.portrait-wrap{justify-self:end;width:min(100%,240px);border:1px solid var(--line);background:var(--paper-quiet);padding:9px}.portrait{display:block;width:100%;height:auto;filter:saturate(.92) contrast(1.02)}.content-section{max-width:var(--measure);padding:clamp(56px,8vw,88px) 0;border-top:1px solid var(--line)}.capability-list{display:grid;grid-gap:28px;gap:28px;margin-top:42px}.capability{display:grid;grid-template-columns:190px minmax(0,1fr);grid-gap:28px;gap:28px}.built-item h3,.capability h3,.toolkit-group h3{color:var(--ink)}.built-item p,.capability p,.contact p,.work-main p{color:var(--muted)}.work-list{margin-top:44px}.work-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-gap:34px;gap:34px;padding:28px 0 28px 18px;border-top:1px solid var(--line);transition:transform .22s ease,border-color .22s ease}.work-card:last-child{border-bottom:1px solid var(--line)}.work-card:before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:2px;background:var(--accent);transform:scaleY(.28);transform-origin:top;transition:transform .24s ease}.work-card:hover{transform:translateX(6px);border-color:var(--line-strong)}.work-card:hover:before{transform:scaleY(1)}.work-main h3{margin-top:10px;font-size:clamp(1.35rem,2.5vw,1.8rem)}.work-main .summary{margin-top:8px;color:var(--ink);font-size:1.02rem}.work-main .outcome{margin-top:18px;color:var(--accent-ink);font-weight:660}.work-main p:last-child{margin-top:14px}.work-stack{align-self:start;color:var(--soft);font-size:.86rem;line-height:1.45}.built-list{margin-top:42px;border-top:1px solid var(--line)}.built-item{display:grid;grid-template-columns:230px minmax(0,1fr);grid-gap:28px;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.toolkit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 46px;gap:12px 46px;margin-top:38px}.toolkit-group{padding-top:16px;border-top:1px solid var(--line)}.toolkit-group ul{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}.toolkit-group li{border:1px solid var(--line);background:rgba(255,255,255,.32);padding:5px 9px;color:var(--muted);font-size:.86rem}.contact p{margin-top:24px;font-size:1.05rem}.footer{width:min(calc(100% - 32px),var(--wide));margin:0 auto;padding:34px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 24px}.footer-name{color:var(--ink)}.social-links{display:flex;flex-wrap:wrap;gap:10px}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.26);color:var(--muted);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.social-links a:hover{transform:translateY(-1px);border-color:var(--line-strong);background:var(--accent-soft);color:var(--accent-ink)}.social-icon{display:block;width:18px;height:18px}.social-icon-upwork{width:21px;height:17px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:820px){.nav{align-items:flex-start}.nav-links{max-width:360px}.hero{grid-template-columns:1fr;padding-top:58px}.portrait-wrap{justify-self:start;width:min(58vw,220px)}.built-item,.capability,.metrics,.toolkit-grid,.work-card{grid-template-columns:1fr}.metrics div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.work-card{gap:16px}.work-card:hover{transform:none}}@media (max-width:560px){body{background:linear-gradient(90deg,rgba(17,17,15,.03) 1px,transparent 1px) 0 0 /64px 64px,var(--paper)}.site-header{position:static}.nav{display:block}.wordmark{margin-bottom:14px}.nav-links{justify-content:flex-start;gap:8px 16px}h1{font-size:clamp(3.85rem,18vw,5.2rem)}.hero{padding-bottom:58px}.content-section{padding:50px 0}}