@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_3e2a4a3c-module__0Pz8ra__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}
:root{--bg:#f4f4f3;--surface:#fff;--ink:#111;--accent:#303030;--accent-tint:#d4d4d4;--body:#353535;--muted:#555;--soft-muted:#686868;--warm-muted:#737373;--hairline:#d8d8d6;--divider:#c9c9c7;--footer-muted:#a3a3a3;--footer-link:#dedede;--footer-dim:#858585;--max-page:840px;--max-wide:1180px;--max-work:1040px;--max-contact:940px;--pad-x:clamp(20px, 5vw, 40px);--section-y:64px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:var(--accent);color:var(--bg)}.site-shell{background:var(--bg);min-height:100vh;color:var(--ink)}.site-header{z-index:50;padding:15px var(--pad-x);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);background:#f4f4f3eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex;position:sticky;top:0}.wordmark{font-size:21px;font-weight:700}.nav-links{flex-wrap:wrap;align-items:center;gap:14px clamp(16px,3vw,28px);font-size:15px;font-weight:500;display:flex}.nav-link{color:var(--ink)}.nav-link--active{color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink)}.page{max-width:var(--max-page);padding:58px var(--pad-x) var(--section-y);margin:0 auto}.page-work,.page-writing{max-width:var(--max-work)}.page-contact{max-width:var(--max-contact);grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:40px;display:grid}.hero{max-width:var(--max-page);padding:58px var(--pad-x) 60px;margin:0 auto}.eyebrow,.section-label,.card-label,.field label,.success-label,.footer-label{letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:600}.eyebrow{color:var(--accent);margin-bottom:22px}.section-label{color:var(--warm-muted);margin-bottom:28px}.hero h1,.page-title{color:var(--ink);letter-spacing:0;margin:0 0 28px;font-size:70px;font-weight:700;line-height:.98}.page-title{margin-bottom:30px;font-size:62px;line-height:1}.page-title-small{font-size:58px}.accent{color:var(--accent)}.lead{color:var(--body);font-size:20px;line-height:1.5}.hero .lead{max-width:600px;margin:0 0 28px;font-size:21px}.text-link{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:1px;font-weight:600}.button-row{flex-wrap:wrap;gap:13px;display:flex}.button{cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:15px;font-weight:600;line-height:1.2;transition:background-color .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.button-primary{border:1px solid var(--accent);background:var(--accent);color:var(--bg)}.button-primary:hover{border-color:var(--ink);background:var(--ink)}.button-secondary{border:1px solid var(--ink);color:var(--ink);background:0 0}.button-secondary:hover{background:var(--ink);color:var(--bg)}.wide-section{border-top:1px solid var(--hairline)}.wide-inner{max-width:var(--max-wide);padding:64px var(--pad-x);margin:0 auto}.focus-heading{padding-bottom:16px}.focus-grid{max-width:var(--max-wide);padding:0 var(--pad-x) 64px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;margin:0 auto;display:grid}.focus-tile{background:var(--surface);border:1px solid var(--hairline);min-height:142px;padding:27px 25px 25px}.focus-tile h3{color:var(--ink);letter-spacing:0;margin:0 0 9px;font-size:18px;font-weight:700}.focus-tile p{color:var(--soft-muted);margin:0;font-size:14px;line-height:1.55}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:32px;display:flex}.section-head a{color:var(--accent);font-size:15px;font-weight:600}.featured-grid{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:24px;display:grid}.featured-card{border:1px solid var(--ink);background:var(--surface);transition:border-color .2s,background-color .2s;display:block}.featured-card:hover{background:#ededeb}.project-visual{aspect-ratio:4/3;border:1px solid var(--ink);background:repeating-linear-gradient(135deg,#e8e8e6,#e8e8e6 12px,#dcdcd9 12px 24px);align-items:flex-end;padding:14px;display:flex;position:relative;overflow:hidden}.project-visual-image{object-fit:cover;object-position:top center}.project-visual--wide{aspect-ratio:16/9;border:0;border-bottom:1px solid var(--ink)}.project-visual span{background:var(--bg);color:#5f5f5f;padding:4px 9px;font-size:12px;font-weight:600}.featured-body{padding:26px 26px 30px}.card-label{color:var(--accent);margin-bottom:10px}.featured-body h3{letter-spacing:0;margin:0 0 8px;font-size:30px;font-weight:700}.featured-body p{color:var(--muted);margin:0;font-size:15px}.placeholder{color:var(--accent);font-weight:600}.faq-wrap{max-width:var(--max-page);padding:64px var(--pad-x);margin:0 auto}.faq-list{border-top:1px solid var(--divider)}.faq-item{border-bottom:1px solid var(--divider)}.faq-button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:22px;font-weight:600;display:flex}.faq-plus{color:var(--accent);font-size:22px;line-height:1;transition:transform .25s}.faq-plus--open{transform:rotate(45deg)}.faq-answer{max-width:640px;color:var(--muted);margin:0;padding:0 0 24px;font-size:16px}.info-grid{border-top:1px solid var(--divider);margin-bottom:44px;display:block}.profile-intro{grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:start;gap:32px;margin-bottom:44px;display:grid}.profile-intro .lead{margin:0 0 22px}.profile-intro .lead:last-child{margin-bottom:0}.portrait{aspect-ratio:1;border:1px solid var(--ink);background:var(--surface);object-fit:cover;width:100%}.info-tile{border-bottom:1px solid var(--divider);grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:24px;padding:17px 0;display:grid}.info-label{color:var(--warm-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.info-tile p,.page-copy{color:var(--body);margin:0;font-size:17px}.info-tile p{color:var(--ink);font-size:16px}.page h2{letter-spacing:0;margin:0 0 16px;font-size:30px;font-weight:700}.project-row{border-top:1px solid var(--divider);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:center;gap:36px;padding:36px 0;display:grid}.project-row--reverse .project-visual{order:2}.project-row--reverse .project-copy{order:1}.project-copy h2{margin:0 0 14px;font-size:38px;font-weight:700}.project-copy p{color:var(--body);margin:0 0 20px;font-size:17px}.case-link{color:var(--accent);font-size:15px;font-weight:600}.case-study .back-link,.article-page .back-link{margin-bottom:24px;display:inline-block}.case-study .project-visual--wide{border:1px solid var(--ink);margin-bottom:28px}.case-facts{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;margin-bottom:42px;display:grid}.case-section{border-top:1px solid var(--divider);padding:30px 0}.case-section:last-child{border-bottom:1px solid var(--divider)}.case-section h2{margin-bottom:10px}.case-section p{max-width:700px;color:var(--body);margin:0}.notes-grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:14px;display:grid}.note-card{background:var(--surface);border:1px solid var(--ink);padding:30px 28px;transition:background-color .2s;display:block}.note-card:hover{background:#ededeb}.note-card h2{margin:0 0 10px;font-size:24px}.note-card p{color:var(--muted);margin:0;font-size:15px}.writing-empty{border-top:1px solid var(--ink);border-bottom:1px solid var(--divider);padding:34px 0 36px}.writing-empty p{max-width:620px;color:var(--muted);margin:0;font-size:17px;line-height:1.65}.article-body{border-top:1px solid var(--divider);max-width:700px;padding-top:30px}.article-body p{color:var(--body);margin:0 0 22px;font-size:18px;line-height:1.65}.book-list{border-top:1px solid var(--ink)}.book-row{border-bottom:1px solid var(--divider);grid-template-columns:minmax(180px,.8fr) minmax(280px,1.6fr) auto;align-items:start;gap:clamp(24px,4vw,52px);padding:34px 0 36px;display:grid}.book-row h2{margin:0 0 8px;font-size:24px}.book-row p{color:var(--muted);margin:0;font-size:15px}.book-row .card-label{color:var(--warm-muted);margin-bottom:12px}.book-row .book-author{color:var(--ink);font-weight:600}.book-note{line-height:1.65}.book-link{color:var(--ink);border-bottom:1px solid var(--ink);white-space:nowrap;padding-bottom:2px;font-size:14px;font-weight:600}.contact-links{flex-wrap:wrap;gap:18px 30px;display:flex}.contact-intro{margin:0 0 28px}.contact-label{color:var(--warm-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:600}.contact-links a{color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:2px;font-size:18px;display:inline}.contact-form{flex-direction:column;gap:18px;display:flex}.field label{color:var(--warm-muted);letter-spacing:.06em;margin-bottom:7px;font-size:12px;display:block}.field input,.field textarea{border:1px solid var(--ink);background:var(--surface);width:100%;color:var(--ink);padding:13px 14px;font-size:16px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#fff;outline:none}.contact-form .button{align-self:flex-start;margin-top:4px}.success-box{border:1px solid var(--ink);background:var(--accent);color:var(--bg);padding:40px 32px}.success-box h2{margin:0 0 10px;font-size:28px;font-weight:700}.success-box p{color:#d2d2d2;margin:0;font-size:16px}.back-link{color:var(--accent);font-size:15px;font-weight:600}.site-footer{border-top:1px solid var(--ink);background:var(--ink);color:var(--bg)}.footer-inner{max-width:var(--max-wide);padding:56px var(--pad-x) 40px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:36px 40px;margin:0 auto;display:grid}.footer-brand{grid-column:1/-1;max-width:340px}.footer-name{margin-bottom:10px;font-size:24px;font-weight:700}.footer-brand p{color:var(--footer-muted);margin:0;font-size:15px}.footer-label{color:var(--footer-dim);letter-spacing:.06em;margin-bottom:14px;font-size:12px}.footer-stack{flex-direction:column;gap:9px;font-size:15px;display:flex}.footer-stack a{color:var(--footer-link)}.footer-bottom{max-width:var(--max-wide);padding:24px var(--pad-x) 40px;color:var(--footer-dim);text-align:center;border-top:1px solid #353535;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin:0 auto;display:flex}.footer-bottom span:first-child{font-size:13px}@media (max-width:760px){:root{--section-y:56px}.hero{padding-top:34px;padding-bottom:44px}.page{padding-top:34px}.hero h1,.page-title{font-size:38px}.hero .lead,.lead{font-size:18px}.wide-inner,.focus-grid,.faq-wrap{padding-bottom:48px}.wide-inner,.faq-wrap{padding-top:48px}.focus-heading{padding-top:40px;padding-bottom:18px}.focus-heading .section-label{margin-bottom:0}.focus-grid{padding-bottom:40px;display:block}.focus-tile{border:0;border-top:1px solid var(--divider);background:0 0;grid-template-columns:minmax(112px,.8fr) minmax(0,1.4fr);align-items:baseline;gap:18px;min-height:0;padding:17px 0;display:grid}.focus-tile:last-child{border-bottom:1px solid var(--divider)}.focus-tile h3{margin:0;font-size:16px;line-height:1.35}.focus-tile p{font-size:13.5px;line-height:1.5}.faq-button{font-size:19px}.project-copy h2{font-size:30px}.project-row--reverse .project-visual{order:1}.project-row--reverse .project-copy{order:2}.profile-intro{grid-template-columns:1fr}.portrait{max-width:260px}.info-grid{margin-bottom:36px}.info-tile{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:15px 0}.info-tile p{font-size:14px;line-height:1.45}.book-row{grid-template-columns:1fr;gap:18px}.book-link{justify-self:start}.footer-inner{padding-top:36px;padding-bottom:28px;display:block}.footer-brand{margin-bottom:26px}.footer-inner>div:not(.footer-brand)+div{margin-top:22px}.footer-label{margin-bottom:10px}.footer-stack{flex-flow:wrap;gap:8px 20px}.footer-bottom{padding-top:20px;padding-bottom:28px}}
