@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2")}:root{color:#111;font-synthesis:none;--paper:#f2f1ec;--ink:#111;--blue:#203487;--muted:#626761;--rule:#c9ccc5;--rail:60px;--gutter:28px;--mono:"JetBrains Mono",monospace;--label-size:.875rem;--meta-size:.8125rem;--index-size:.75rem;-webkit-font-smoothing:antialiased;background:#f2f1ec;font-family:Archivo,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button{font:inherit}a:focus-visible,button:focus-visible{outline-offset:5px;outline:2px solid}[tabindex="-1"]:focus{outline:none}::selection{background:var(--blue);color:var(--paper)}h1,h2,h3,p,dl,dd,figure{margin:0}h1,h2,h3{font-weight:500}p{text-wrap:pretty}button:disabled{opacity:.45;cursor:default}.mono{font-family:var(--mono);font-size:var(--meta-size);line-height:1.6}.muted{color:var(--muted)}.eyebrow{font:var(--label-size)/1.6 var(--mono);letter-spacing:.045em;text-transform:uppercase;color:var(--muted)}.skip-link{z-index:100;background:var(--blue);color:var(--paper);padding:12px 18px;position:fixed;top:16px;left:20px;transform:translateY(-200%)}.skip-link:focus{color:var(--paper);transform:translateY(0)}.page-enter{animation:.24s ease-out page-enter}.rail-section{grid-template-columns:var(--rail) minmax(0,1fr);border-bottom:1px solid var(--ink);display:grid}.rail{border-right:1px solid var(--rule);font:var(--index-size)/1.5 var(--mono);padding:36px 0 0 16px}.site-nav{padding:20px var(--gutter) 16px;border-bottom:1px solid var(--ink);font-size:var(--label-size);letter-spacing:.02em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;display:grid}.identity{flex-direction:column;gap:2px;width:-moz-fit-content;width:fit-content;display:flex}.identity .muted{font-size:var(--meta-size)}.disciplines{flex-wrap:wrap;justify-content:center;justify-self:center;gap:8px 24px;display:flex}.disciplines>span{white-space:nowrap}.site-nav nav{flex-wrap:wrap;justify-self:end;gap:24px;display:flex}.hero-rail{border-right:1px solid var(--rule);font:16px var(--mono);flex-direction:column;justify-content:space-between;padding:42px 0 32px 20px;display:flex}.hero-content{isolation:isolate;min-height:550px;padding:48px var(--gutter) 40px;flex-direction:column;justify-content:space-between;gap:56px;display:flex;position:relative;overflow:hidden}.home-title{letter-spacing:-.045em;text-transform:uppercase;max-width:1300px;font-size:clamp(48px,7.9vw,126px);line-height:.92}.home-title .title-opening{letter-spacing:-.015em}.home-title .title-accent{color:var(--blue)}.headline-word{vertical-align:bottom;white-space:nowrap;display:inline-block;position:relative;overflow:hidden}.headline-measure{visibility:hidden}.headline-text{white-space:nowrap;position:absolute;inset:0}.headline-fixed{display:inline-block}.hero-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:64px;max-width:1050px;display:grid}.hero-intro>p{max-width:580px;font-size:17px;line-height:1.5}.hero-details{font-size:var(--label-size);grid-template-columns:3.5rem minmax(0,1fr);gap:8px 22px;display:grid}.hero-details dt{color:var(--muted)}.line-field{z-index:-1;pointer-events:none;opacity:.24;width:100%;height:100%;position:absolute;inset:0}.line-field path{fill:none;stroke:#6478a9;opacity:.7;stroke-dasharray:1400;animation:line-dash var(--duration) linear infinite}.work-heading{border-bottom:1px solid var(--rule)}.work-heading .rail{padding-top:17px;padding-bottom:16px}.work-heading .work-columns{color:var(--muted);font-size:var(--label-size);text-transform:uppercase;padding-top:16px;padding-bottom:16px}.work-heading h2{font:inherit;color:var(--ink)}.work-columns{padding:32px var(--gutter);grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) 140px 118px;align-items:start;gap:24px;display:grid}.project-row{transition:background .16s,color .16s}.project-row:focus-visible{outline-offset:-4px}.project-row:hover{color:var(--paper);background:var(--blue)}.project-row:hover .work-name p,.project-row:hover .work-context{color:inherit}.project-row:hover .rail{border-color:#6072a7}.work-name h3{letter-spacing:-.025em;margin-bottom:8px;font-size:clamp(23px,2.1vw,32px);line-height:1.1}.work-name p,.work-context{color:var(--muted)}.work-name p{font-size:var(--label-size)}.work-summary{max-width:610px;font-size:16px;line-height:1.5}.work-year{white-space:nowrap;justify-content:space-between;gap:8px;padding-left:32px;display:flex}.supporting-work{padding:36px var(--gutter);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px 56px;display:grid}.supporting-work h2{letter-spacing:-.025em;margin:14px 0 10px;font-size:clamp(24px,2.3vw,34px);line-height:1.1}.supporting-work p:not(.eyebrow):not(.supporting-role){max-width:700px;margin-bottom:14px;font-size:16px;line-height:1.55}.supporting-role{color:var(--muted);font-size:var(--label-size)}.text-link{color:var(--blue);border-bottom:1px solid;padding-bottom:3px;font-size:14px;line-height:1.5;display:inline-block}.text-link:hover{color:var(--ink)}.about-layout{padding:36px var(--gutter);grid-template-columns:minmax(0,1.15fr) minmax(0,1.2fr) minmax(0,.85fr);align-items:start;gap:40px;display:grid}.about-layout>div{min-width:0}.about-lead{letter-spacing:-.025em;text-wrap:pretty;max-width:560px;margin:20px 0 18px;font-size:clamp(24px,2vw,30px);line-height:1.25}.about-description{max-width:520px;font-size:16px;line-height:1.55}.method-list{border-top:1px solid var(--ink);margin:20px 0 0;padding:0;list-style:none}.method-list li{border-bottom:1px solid var(--rule);grid-template-columns:24px minmax(0,1fr);gap:14px;padding:16px 0;display:grid}.method-number{color:var(--blue);padding-top:1px}.method-list h4{margin:0;font-size:16px;font-weight:500;line-height:1.5}.method-list p{color:#30362f;max-width:480px;margin-top:5px;font-size:16px;line-height:1.5}.tool-groups{border-top:1px solid var(--ink);margin-top:20px}.tool-groups>div{border-bottom:1px solid var(--rule);grid-template-columns:64px minmax(0,1fr);gap:14px;padding:16px 0;display:grid}.tool-groups dt{color:var(--blue);padding-top:1px}.tool-groups dd{text-wrap:pretty;font-size:16px;line-height:1.6}.brush-study{align-self:stretch;min-height:0;position:relative;container-type:size}.brush-frame{aspect-ratio:575/901;background:var(--blue);width:100%;max-width:63.818cqh;position:absolute;top:0;right:0;overflow:hidden}.brush-frame iframe{border:0;width:100%;height:100%;display:block}.reflections-content{padding:36px var(--gutter) 24px}.reflection-list{margin-top:24px}.reflection-row{border-top:1px solid var(--rule);grid-template-columns:90px minmax(0,1fr) 220px;align-items:baseline;gap:24px;padding:21px 0;display:grid}.reflection-row h3{letter-spacing:-.02em;font-size:clamp(20px,2vw,28px);line-height:1.2}.reflection-kind{color:var(--muted);justify-content:space-between;gap:14px;display:flex}.contact-content{padding:40px var(--gutter) 24px}.contact-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;display:flex}.contact-name{letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(32px,4.2vw,60px);line-height:1}.contact-button{border:1px solid var(--blue);min-height:48px;color:var(--blue);justify-content:space-between;align-items:center;gap:28px;padding:14px 20px;font-size:17px;line-height:1.2;transition:background .15s,color .15s;display:inline-flex}.contact-button:hover{background:var(--blue);color:var(--paper)}.contact-bottom{border-top:1px solid var(--ink);color:var(--muted);font-size:var(--meta-size);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:40px;padding-top:14px;display:flex}.contact-bottom>a{color:var(--ink);font-size:var(--label-size)}.copyright{white-space:nowrap;margin-left:28px}.detail-header{padding:20px var(--gutter) 16px;border-bottom:1px solid var(--ink);font-size:var(--label-size);text-transform:uppercase;letter-spacing:.02em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.detail-header>div{color:var(--muted);font-size:var(--meta-size);text-align:right}.back-link{align-items:center;gap:10px;display:inline-flex}.header-divider{opacity:.5;margin-inline:4px}.case-screen>.detail-header{background:var(--blue);color:#e7edef;border-color:#6072a7}.case-screen>.detail-header>div{color:#aebedb}.case-screen .back-link:hover{color:#e5b039}.case-hero{background:var(--blue);color:#e7edef;border-bottom:0}.case-hero .rail{white-space:nowrap;border-color:#3a5197;padding-top:28px;padding-left:14px}.case-hero-content{isolation:isolate;min-height:420px;padding:40px var(--gutter) 32px;flex-direction:column;gap:40px;display:flex;position:relative;overflow:hidden}.case-hero .line-field{opacity:.5}.case-hero .line-field path{stroke:#aebedb}.case-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.case-title-group{flex:1;min-width:0}.case-title-group h1{letter-spacing:-.04em;font-size:clamp(48px,9vw,140px);line-height:.9}.case-subtitle{letter-spacing:-.015em;max-width:760px;margin-top:24px;font-size:clamp(18px,2.1vw,28px);line-height:1.3}.case-index{letter-spacing:-.02em;color:#aebedb;font-size:clamp(20px,3vw,44px)}.case-metadata{font-size:var(--label-size);text-transform:uppercase;letter-spacing:.02em;border-top:1px solid #3a5197;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin-top:auto;padding-top:14px;display:grid}.case-metadata>div{flex-direction:column;gap:4px;display:flex}.case-metadata dt{color:#aebedb}.case-section-content{padding:28px var(--gutter)}.introduction-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.introduction-grid>div{border-top:1px solid var(--ink);padding-top:12px}.introduction-grid p{margin-top:12px;font-size:17px;line-height:1.5}.introduction-grid .outcome{border-color:var(--blue)}.outcome .eyebrow{color:var(--blue)}.case-image-frame{aspect-ratio:16/7;border:1px solid var(--rule);background:#e8e8e2;position:relative;overflow:hidden}.case-image img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.case-image figcaption{font-size:var(--meta-size);text-transform:uppercase;letter-spacing:.02em;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:12px;display:flex}.narrative-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;display:grid}.case-lead{letter-spacing:-.01em;max-width:820px;font-size:clamp(18px,1.8vw,24px);line-height:1.4}.case-external-link{margin-top:20px}.process-grid{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:14px 0 0;padding:0;list-style:none;display:grid}.process-grid li{background:var(--paper);flex-direction:column;gap:14px;min-height:220px;padding:18px 16px 22px;display:flex}.process-grid h3{letter-spacing:-.02em;font-size:22px;line-height:1.1}.process-grid p{color:#30362f;margin-top:auto;font-size:16px;line-height:1.5}.metrics-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin-top:14px;display:grid}.metrics-grid>div{border-bottom:1px solid var(--rule);flex-direction:column;gap:8px;padding:20px 0 22px;display:flex}.metric-value{font:clamp(28px,3vw,40px)/1.1 var(--mono);letter-spacing:-.03em;color:var(--blue);overflow-wrap:anywhere}.metrics-grid h3{letter-spacing:-.01em;font-size:16px;line-height:1.4}.metric-note{color:var(--muted);font-size:16px;line-height:1.5}.narrative-groups{flex-direction:column;gap:22px;max-width:820px;display:flex}.narrative-groups h3{margin-bottom:10px;font-size:18px;line-height:1.4}.narrative-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.narrative-list li{color:#30362f;grid-template-columns:16px minmax(0,1fr);gap:10px;font-size:17px;line-height:1.5;display:grid}.narrative-list li>span{font:12px/1.5 var(--mono);color:var(--muted);padding-top:4px}.next-page{border-bottom:0}.next-page>a{padding:28px var(--gutter);justify-content:space-between;align-items:flex-end;gap:20px;transition:background .15s,color .15s;display:flex}.next-page>a:hover{background:var(--blue);color:var(--paper)}.next-page>a:hover .eyebrow{color:inherit}.next-title{letter-spacing:-.035em;max-width:900px;margin-top:10px;font-size:clamp(32px,5vw,72px);line-height:.95;display:block}.next-arrow{font:28px var(--mono)}.reflection-screen{flex-direction:column;min-height:100vh;display:flex}.reflection-screen main{flex-direction:column;flex:1;display:flex}.reflection-hero{padding:40px var(--gutter) 32px;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);align-items:end;gap:32px 48px;display:grid}.reflection-hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:900px;font-size:clamp(34px,4.6vw,72px);line-height:1}.reflection-metadata{font-size:var(--label-size);text-transform:uppercase;letter-spacing:.02em;border-top:1px solid var(--ink);grid-template-columns:auto minmax(0,1fr);gap:6px 20px;padding-top:10px;display:grid}.reflection-metadata dt,.reflection-byline dt{color:var(--muted)}.reflection-body-section{flex:1}.reflection-body-layout{padding:32px var(--gutter) 48px;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:32px;display:grid}.reflection-dek{color:#444;border-top:1px solid var(--ink);align-self:start;padding-top:10px;font-size:16px;line-height:1.5}.reflection-prose{flex-direction:column;gap:22px;max-width:640px;display:flex}.reflection-prose p{letter-spacing:-.005em;font-size:18px;line-height:1.5}.reflection-byline{text-transform:uppercase;letter-spacing:.02em;border-top:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr);align-content:start;gap:6px 16px;padding-top:10px;display:grid}.closing-swatches{gap:8px;padding-top:10px;display:flex}.closing-swatches i{background:#3865ba;width:9px;height:9px;display:block}.closing-swatches i:nth-child(2){background:#267f33}.closing-swatches i:nth-child(3){background:#b3444b}.reflection-screen .next-title{letter-spacing:-.03em;font-size:clamp(24px,3.4vw,48px);line-height:1}.not-found-content{padding:80px var(--gutter);min-height:60vh}.not-found-content h1{letter-spacing:-.035em;margin:24px 0;font-size:clamp(36px,6vw,80px);line-height:1}.not-found-content>p:not(.eyebrow){max-width:500px;margin-bottom:32px;font-size:18px;line-height:1.5}@keyframes line-dash{to{stroke-dashoffset:-1400px}}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:1050px){.work-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) 86px}.work-context{display:none}.work-year{padding-left:0}.about-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}.about-tools{grid-column:1/-1}.tool-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.tool-groups>div{grid-template-columns:1fr;gap:8px}.reflection-row{grid-template-columns:50px minmax(0,1fr) 200px}.process-grid,.case-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.reflection-body-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.reflection-byline{grid-column:2}}@media (max-width:900px){.site-nav{grid-template-columns:1fr auto;gap:16px 24px}.disciplines{grid-area:2/1/auto/-1}.site-nav nav{grid-area:1/2}.brush-study{aspect-ratio:575/901;justify-self:center;width:min(100%,520px);container-type:normal}.brush-frame{max-width:none}}@media (max-width:700px){:root{--rail:2.5rem;--gutter:20px}.site-nav{grid-template-columns:1fr auto;gap:18px;padding:20px}.disciplines{gap:8px 12px}.site-nav nav{gap:16px}.rail{padding-left:5px}.hero-content{padding:32px var(--gutter);gap:40px;min-height:540px}.hero-rail{padding-left:12px}.home-title{overflow-wrap:anywhere;font-size:clamp(42px,9.5vw,66px)}.hero-intro{grid-template-columns:1fr;gap:26px}.hero-intro>p{font-size:16px}.hero-details{gap:6px 14px}.work-heading .work-columns{padding:14px var(--gutter);display:block}.work-heading .work-columns>span{display:none}.work-heading .rail{padding-top:14px;padding-bottom:14px}.work-columns{padding:24px var(--gutter);grid-template-columns:minmax(0,1fr) 78px;gap:14px}.work-name{grid-area:1/1}.work-summary{grid-area:2/1/auto/-1}.work-year{grid-area:1/2}.supporting-work{padding:28px var(--gutter);grid-template-columns:1fr;gap:20px}.about-layout{padding:32px var(--gutter);grid-template-columns:1fr}.about-lead{font-size:28px}.about-tools{grid-column:auto}.tool-groups{display:block}.tool-groups>div{grid-template-columns:64px minmax(0,1fr);gap:14px}.reflections-content{padding:28px var(--gutter)}.reflection-row{grid-template-columns:1fr;gap:8px}.reflection-kind{justify-content:flex-start;gap:16px}.contact-content{padding:28px var(--gutter)}.contact-bottom{gap:24px;margin-top:32px}.copyright{margin-top:6px;margin-left:0;display:block}.detail-header{gap:12px;padding:18px 20px}.back-link{flex-wrap:wrap;gap:6px}.detail-header .header-divider{margin-inline:0}.case-hero .rail{padding-left:4px}.case-hero-content{padding:28px var(--gutter);min-height:480px}.case-title-group{flex:1 0 100%}.case-title-group h1{overflow-wrap:anywhere;font-size:clamp(42px,10vw,70px)}.case-subtitle{margin-top:18px}.case-metadata{gap:16px}.introduction-grid,.narrative-layout,.metrics-grid{grid-template-columns:1fr}.case-image-frame{aspect-ratio:4/3}.narrative-layout{gap:20px}.metrics-grid>div:last-child{border-bottom:0}.reflection-hero,.reflection-body-layout{padding:28px var(--gutter);grid-template-columns:1fr;gap:28px}.reflection-byline{grid-column:auto}.reflection-hero h1{font-size:clamp(34px,8vw,54px)}.reflection-prose p{font-size:17px}}@media (max-width:420px){.process-grid,.case-metadata{grid-template-columns:1fr}.site-nav{grid-template-columns:minmax(0,1fr);gap:16px}.site-nav nav{grid-area:2/1;justify-content:space-between;justify-self:stretch;gap:12px}.disciplines{grid-row:3}.detail-header{flex-direction:column;align-items:flex-start}.detail-header>div{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.line-field path,.page-enter{animation:none}.headline-scramble .headline-measure{visibility:visible}.headline-scramble .headline-text{display:none}*,:before,:after{transition-duration:0s!important}}
