@font-face{font-family:NeueMontreal;font-weight:400;font-style:normal;font-display:swap;src:url(NeueMontreal-Regular.645146e6.woff2)format("woff2"),url(NeueMontreal-Regular.3175f0ba.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#000;--color-text:#f5f5f5;--color-link:var(--color-text);--color-link-hover:#ccc;--color-cursor:#f5f5f5;--color-selection-bg:var(--color-text);--color-selection-text:var(--color-bg);--color-selection-shadow:#404040;--color-about-bg:var(--color-bg);--color-about-text:var(--color-text);--color-about-title:#f5f5f5;--color-about-caption:#f5f5f5;--color-loading-before:#ccc;--color-loading-after:#1a1a1a;--text-shadow:1px 1px 1px rgba(255,255,255,.004)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fff;--color-text:#000;--color-link:var(--color-text);--color-link-hover:#333;--color-cursor:#000;--color-selection-bg:var(--color-text);--color-selection-text:var(--color-bg);--color-selection-shadow:gray;--color-about-bg:var(--color-bg);--color-about-text:var(--color-text);--color-about-title:#000;--color-about-caption:#000;--color-loading-before:#333;--color-loading-after:#f1e9db;--text-shadow:1px 1px 1px rgba(0,0,0,.004)}:root{--surface:#131313;--muted:#aaa;--rule:#343434;--page-pad:clamp(24px, 3vw, 48px);--ease-out:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{--surface:#f1f1ef;--muted:#555;--rule:#ccc}*{box-sizing:border-box}html{background:var(--color-bg);scroll-padding-top:24px}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100svh;margin:0;font-family:NeueMontreal,sans-serif;font-size:16px;display:flex}body[data-page=home]{min-height:var(--viewport-height,100svh)}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{text-wrap:balance;overflow-wrap:anywhere;font-weight:400}p{text-wrap:pretty;line-height:1.5}a,button{color:inherit;-webkit-tap-highlight-color:transparent}a{text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:0;padding:8px}button:active{transform:translateY(1px)}a:focus-visible{outline-offset:5px;outline:2px solid}button:focus-visible{outline-offset:5px;outline:2px solid}img{max-width:100%;height:auto;display:block}main{flex:1;width:100%;max-width:1600px;margin-left:auto;margin-right:auto}.skip-link{background:var(--color-bg);z-index:20;padding:12px;position:absolute;top:8px;left:24px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header,.site-footer{padding:24px var(--page-pad);text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;font-size:14px;display:flex}.site-header{min-height:80px}.site-brand{white-space:nowrap;letter-spacing:-.025em}.header-context{color:var(--muted);font-size:12px}.site-nav{flex-wrap:wrap;gap:24px;display:flex}.site-nav [aria-current=page],.site-header a:hover,.site-footer a:hover{text-underline-offset:5px;text-decoration:underline}.site-footer{color:var(--muted);padding-bottom:max(24px, env(safe-area-inset-bottom));flex-wrap:wrap}.preferences{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.preferences>div{align-items:center;gap:4px;display:flex}.preferences button{color:var(--color-text);min-width:32px;min-height:40px}.preferences button.active{text-underline-offset:6px;text-decoration:underline}.preferences span{opacity:.5}.type-mask{display:block}.is-entering .type-mask{overflow:hidden}.type-mask>span{display:block}.entrance-intro{padding:64px var(--page-pad) 48px;grid-template-columns:1fr 1fr;align-items:end;gap:48px;display:grid}.entrance-intro h1{letter-spacing:-.04em;max-width:6em;font-size:48px;line-height:1}.entrance-intro p{max-width:360px;color:var(--muted);justify-self:end;font-size:18px}.practices{padding:0 var(--page-pad)}.practice-link{border-top:1px solid var(--rule);grid-template-columns:32px minmax(0,1fr) 144px 48px;align-items:center;gap:24px;min-height:180px;padding:24px 0;display:grid}.practice-link:last-child{border-bottom:1px solid var(--rule)}.practice-number{color:var(--muted);align-self:start;padding-top:12px;font-size:12px}.practice-link h2{letter-spacing:-.05em;text-transform:uppercase;font-size:max(48px,min(7vw,96px));line-height:1.05}.practice-name{transition:transform .6s var(--ease-out);display:block}.practice-image{object-fit:contain;background:var(--surface);filter:grayscale();width:144px;height:120px;transition:filter .5s var(--ease-out)}.arrow{transition:transform .5s var(--ease-out);font-size:48px;display:inline-block}.practice-link:hover .practice-name{transform:translate(8px)}.practice-link:focus-visible .practice-name{transform:translate(8px)}.practice-link:hover .arrow{transform:translate(5px,-3px)}.practice-link:focus-visible .arrow{transform:translate(5px,-3px)}.practice-link:hover .practice-image{filter:grayscale(0)}.entrance-footnote{padding:32px var(--page-pad) 48px;color:var(--muted);justify-content:space-between;gap:24px;font-size:14px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px}.software-hero{padding:64px var(--page-pad) 80px;grid-template-columns:1.25fr 1fr;align-items:end;gap:64px;display:grid}.software-hero h1{letter-spacing:-.05em;text-transform:uppercase;max-width:11ch;font-size:max(48px,min(7.5vw,96px));line-height:.98}.software-hero .eyebrow{margin-bottom:32px}.software-statement{justify-self:end;max-width:400px}.software-statement p{color:var(--muted);font-size:20px;line-height:1.4}.text-link{border-bottom:1px solid var(--muted);justify-content:space-between;align-items:center;gap:32px;padding-top:16px;padding-bottom:8px;display:inline-flex}.text-link .arrow{font-size:24px}.text-link:hover .arrow{transform:translate(4px,-2px)}.software-statement .text-link{margin-top:24px}.work-section{padding:48px var(--page-pad);scroll-margin-top:24px}.section-heading{border-top:1px solid var(--rule);justify-content:space-between;gap:24px;margin-bottom:48px;padding-top:24px;display:flex}.project-heading{grid-template-columns:1fr 1fr;align-items:center;gap:64px;margin-bottom:48px;display:grid}.project-heading h2{letter-spacing:-.05em;font-size:max(60px,min(8vw,96px));line-height:1}.project-summary{color:var(--muted);font-size:20px}.project-stack{word-spacing:12px;color:var(--muted);text-transform:uppercase;margin-top:16px;font-size:12px}.project-image{background:var(--surface);padding:32px}.project-image img{width:100%}.project-actions{flex-wrap:wrap;gap:40px;margin-top:16px;display:flex}.project-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:64px;display:grid}.project-facts h3{margin:16px 0;font-size:24px;line-height:1.3}.project-facts p{color:var(--muted)}.project-credit{color:var(--muted);margin-top:32px;font-size:14px}.project-credit a{text-underline-offset:3px;text-decoration:underline}.work-row,.background-grid{grid-template-columns:1fr 1fr;gap:64px;display:grid}.work-row h2,.background-grid h2{letter-spacing:-.04em;font-size:48px;line-height:1}.work-row p,.background-grid p{color:var(--muted);font-size:18px}.career-history{gap:32px;margin-top:40px;display:grid}.career-history dt{text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:12px}.career-history dd{font-size:18px;line-height:1.4}.career-history dd span{display:block}.career-history .organization{color:var(--muted);font-size:16px}.cross-practice{padding:64px var(--page-pad);justify-content:space-between;align-items:center;gap:32px;display:flex}.cross-practice h2{max-width:360px;font-size:30px;line-height:1.2}.cross-practice a{font-size:24px}@media (max-width:900px){.practice-link{grid-template-columns:24px minmax(0,1fr) 96px 32px;gap:16px;min-height:160px}.practice-image{width:96px;height:96px}.arrow{font-size:32px}.software-hero,.project-heading,.work-row,.background-grid{gap:32px}.project-facts{gap:24px}.site-footer{gap:16px}}@media (max-width:600px){.site-header{flex-wrap:wrap;gap:16px;min-height:72px;font-size:12px}.header-context{display:none}.site-nav{gap:16px}.entrance-intro{grid-template-columns:1fr;gap:24px;padding-top:32px;padding-bottom:32px}.entrance-intro h1{font-size:48px}.entrance-intro p{justify-self:start;font-size:16px}.practice-link{grid-template-columns:20px minmax(0,1fr) 24px;gap:12px;min-height:112px;padding-top:24px;padding-bottom:24px}.practice-image{display:none}.practice-link h2{letter-spacing:-.04em;font-size:max(24px,min(7.8vw,36px))}.practice-number{align-self:center;padding-top:0}.practice-link .arrow{font-size:24px}.entrance-footnote{flex-direction:column;gap:16px;padding-top:24px;padding-bottom:32px;font-size:12px}.site-footer{gap:16px;font-size:12px}.preferences{gap:16px}.software-hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:48px}.software-hero h1{font-size:max(42px,min(12.8vw,60px))}.software-statement{justify-self:start}.software-statement p{font-size:18px}.work-section{padding-top:32px;padding-bottom:32px}.section-heading{gap:16px;margin-bottom:32px}.project-heading,.project-facts,.work-row,.background-grid{grid-template-columns:1fr;gap:24px}.project-heading{margin-bottom:32px}.project-heading h2{font-size:72px}.project-summary{font-size:18px}.project-image{padding:12px}.project-actions{gap:24px}.project-facts{gap:32px;margin-top:40px}.work-row h2,.background-grid h2{font-size:36px}.cross-practice{flex-direction:column;align-items:start;gap:24px;padding-top:40px;padding-bottom:40px}.cross-practice h2{font-size:24px}.cross-practice a{font-size:20px}body[data-page=home]{--entrance-space:clamp(8px, calc(var(--viewport-height,100svh) * .02), 16px)}body[data-page=home] .site-header{min-height:48px;padding-top:12px;padding-bottom:12px}body[data-page=home] .entrance-intro{padding-block:var(--entrance-space);gap:12px}body[data-page=home] .entrance-intro h1{font-size:clamp(36px, var(--viewport-height,100svh) * .07, 48px)}body[data-page=home] .entrance-intro p{font-size:clamp(14px, var(--viewport-height,100svh) * .024, 16px)}body[data-page=home] .practice-link{min-height:clamp(64px, var(--viewport-height,100svh) * .115, 96px);padding-top:16px;padding-bottom:16px}body[data-page=home] .entrance-footnote{padding-block:var(--entrance-space);gap:8px}body[data-page=home] .site-footer{padding-top:8px;padding-bottom:max(8px, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;display:grid}body[data-page=home] .site-footer>p{grid-area:1/1}body[data-page=home] .site-footer>a{grid-area:1/2}body[data-page=home] .preferences{grid-area:2/1/auto/-1;justify-content:space-between}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.practice-name,.arrow{transform:none!important}}