@import url('https://fonts.googleapis.com/css2?family=Alegreya+Sans:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,400;0,500;1,400&display=swap');
:root{--paper:#fbfaf6;--ink:#2a2a22;--olive:#26260f;--cream:#efece2;--muted:#6c6b5f;--link:#3d3d1c;--line:#d7d5c9;--surface:#f2f0e8;--serif:'EB Garamond',Georgia,serif;--sans:'Alegreya Sans',system-ui,sans-serif;--page:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font:1.125rem/1.6 var(--sans)}::selection{background:var(--olive);color:var(--cream)}a{color:inherit;text-underline-offset:6px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}img,svg{max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(3.25rem,6.3vw,5.75rem);line-height:1.04;letter-spacing:-.035em}h2{font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.025em}h3{font-size:2rem;line-height:1.2}em{font-weight:400}:focus-visible{outline:2px solid currentColor;outline-offset:6px}.shell{width:min(var(--page),calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;line-height:1.5}.muted{color:var(--muted)}.small{font-size:.9375rem}.review-bar{background:var(--cream);padding:6px 0;font-size:.8125rem;color:var(--muted)}.review-bar .shell{display:flex;gap:20px;justify-content:space-between}.review-bar a{text-decoration:none}.header{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.brand{text-transform:uppercase;letter-spacing:.17em;text-decoration:none;font-size:.875rem;white-space:nowrap}.nav{display:flex;gap:32px;align-items:center}.nav a{font-size:1rem;text-decoration:none;padding:8px 0}.nav a:hover,.nav a[aria-current]{text-decoration:underline}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 14px;color:inherit}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:var(--paper);z-index:10}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.6fr .7fr;gap:80px;padding:85px 0 75px;align-items:end}.hero .eyebrow{margin-bottom:30px}.hero h1{max-width:780px}.hero-aside{padding-bottom:8px}.hero-aside p+p{margin-top:18px}.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:32px;padding:23px 0;border-top:1px solid var(--line)}.section-top h2{font:500 .75rem/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase}.work-lead{display:grid;grid-template-columns:1.15fr 1fr;background:var(--olive);color:var(--cream);margin-bottom:24px}.work-copy{padding:50px 46px;display:flex;flex-direction:column;align-items:flex-start}.work-copy h3{font-size:clamp(2.3rem,3.5vw,3.1rem);margin:28px 0 20px}.work-copy p{max-width:33ch}.work-copy .eyebrow{max-width:none}.work-copy .project-link{margin-top:32px}.project-link{display:inline-block;font-size:1rem;padding:7px 0}.meta-art{padding:38px 30px;display:flex;flex-direction:column;justify-content:center;min-height:355px;background:#303019}.system{width:100%;max-width:420px;margin:auto}.system-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #74745a;padding-bottom:18px;font-size:.8125rem;margin-bottom:26px}.system-rows{display:grid;gap:11px}.system-row{display:grid;grid-template-columns:100px 1fr 32px;align-items:center;gap:14px;font-size:.875rem}.system-track{height:12px;background:#4a4a32}.system-fill{height:100%;background:var(--cream);width:var(--fill)}.system-footer{margin-top:28px;padding-top:18px;border-top:1px solid #74745a;display:flex;justify-content:space-between;gap:16px;font-size:.8125rem}.visual-caption{font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:16px}.meta-art .visual-caption{color:#c8c5b6}.secondary-work{display:grid;grid-template-columns:.9fr 1.1fr;border-bottom:1px solid var(--line);padding:40px 0;gap:60px;align-items:center}.secondary-copy h3{font-size:2.6rem;margin:14px 0 18px}.secondary-copy p{max-width:46ch}.secondary-copy .project-link{margin-top:20px}.rate-art{background:var(--cream);padding:34px;min-height:255px;display:flex;align-items:center}.behavior-steps{width:100%;list-style:none;margin:0;padding:0}.behavior-steps li{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:14px 0;font:1.55rem/1.3 var(--serif)}.behavior-steps li:last-child{border:0}.step-num{font:.75rem/1.5 var(--sans);color:var(--muted);min-width:20px}.earlier{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:0;padding:34px 0 70px;list-style:none}.earlier h3{font-size:1.7rem;margin:10px 0}.earlier p{font-size:1rem;max-width:45ch}.earlier a{font-size:.9375rem;display:inline-block;margin-top:12px}.about{background:var(--cream);padding:70px 0}.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:90px}.about h2{max-width:14ch;margin-top:20px}.about p+p{margin-top:22px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding-top:44px;margin-top:45px;border-top:1px solid #c6c3b4}.values h3{font-size:1.65rem;margin-bottom:10px}.values p{font-size:1rem}.contact{padding:75px 0 65px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.contact h2{margin:16px 0 23px}.contact p{max-width:48ch}.contact-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px}.contact-links>a:first-child{font:2rem/1.2 var(--serif)}.footer{display:flex;justify-content:space-between;gap:25px;padding:25px 0;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.footer a{color:var(--ink)}
/* Case study */
.case-hero{padding:60px 0 45px}.breadcrumb{font-size:.9375rem;display:inline-block;margin-bottom:42px}.case-hero .eyebrow{margin-bottom:22px}.case-hero h1{max-width:880px}.case-lede{font:1.8rem/1.4 var(--serif);max-width:790px;margin-top:30px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:42px 0 0;padding:25px 0;border-block:1px solid var(--line)}.facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.facts dd{margin:0;font-size:1rem;max-width:30ch}.case-overview{background:var(--olive);color:var(--cream);padding:45px 50px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:38px;margin:0 0 64px}.case-overview h2{font:500 .75rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px}.case-overview p{font-size:1.1rem}.case-body{display:grid;grid-template-columns:190px 1fr;gap:66px}.case-nav{position:sticky;top:35px;align-self:start}.case-nav .eyebrow{margin-bottom:15px}.case-nav a{display:block;font-size:.9375rem;text-decoration:none;padding:8px 0;color:var(--muted)}.case-nav a:hover{text-decoration:underline;color:var(--ink)}.story{min-width:0}.chapter{padding-bottom:65px;margin-bottom:55px;border-bottom:1px solid var(--line);scroll-margin-top:32px}.chapter>.eyebrow{margin-bottom:18px}.chapter h2{font-size:clamp(2.2rem,3.6vw,3rem);max-width:680px;margin-bottom:25px}.prose{max-width:660px}.prose p+p{margin-top:22px}.prose strong{font-weight:600}.chapter h3{font-size:1.6rem;margin-bottom:12px}.decision{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.decision p{font-size:1rem}.diagram-panel{background:var(--surface);padding:30px;margin:36px 0 0}.diagram-panel .eyebrow{margin-bottom:26px}.agreement{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.agreement div{border-top:2px solid var(--olive);padding-top:15px;font-size:1rem;line-height:1.45}.agreement strong{display:block;font-weight:500;margin-bottom:5px}.agreement-result{border-top:1px solid var(--line);padding-top:23px;margin-top:28px;font:1.55rem/1.35 var(--serif)}.diagram-panel figcaption{font-size:.8125rem;color:var(--muted);margin-top:22px}.example-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.example-heading .eyebrow{margin:0}.mode-options{display:flex;gap:5px;flex-wrap:wrap}.mode-options button{border:1px solid var(--line);padding:7px 12px;font-size:.9375rem;background:transparent;color:var(--ink);min-height:40px}.mode-options button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--cream)}.allocation{border-block:1px solid var(--line)}.allocation-row{display:grid;grid-template-columns:1.15fr 2fr 70px;align-items:center;gap:25px;padding:17px 0;border-bottom:1px solid var(--line);font-size:1rem}.allocation-row:last-child{border:0}.allocation-track{height:10px;background:var(--line)}.allocation-fill{background:var(--olive);height:100%;width:var(--fill)}.allocation-value{text-align:right;font-variant-numeric:tabular-nums}.allocation-total{display:flex;justify-content:space-between;gap:20px;font-size:.9375rem;margin-top:18px}.translation-flow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;counter-reset:translation}.translation-step{counter-increment:translation;border-top:1px solid var(--muted);padding-top:18px}.translation-step:before{content:'0' counter(translation);font:.8125rem var(--sans);color:var(--muted);display:block;margin-bottom:12px}.translation-step h3{font-size:1.5rem;margin-bottom:10px}.translation-step p{font-size:1rem}.pullquote{font:clamp(1.9rem,3.1vw,2.6rem)/1.3 var(--serif);padding:30px 0 0;margin:0;max-width:750px}.outcome-list{list-style:none;padding:0;margin:32px 0 0}.outcome-list li{padding:20px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:170px 1fr;gap:25px}.outcome-list strong{font-weight:500}.outcome-list p{font-size:1rem}.next-project{margin:0 0 65px;display:flex;justify-content:space-between;align-items:end;gap:40px}.next-project h2{font-size:2.5rem;margin-top:12px}.review-detail{border-top:1px solid var(--line);padding:22px 0;margin-top:30px;color:var(--muted);font-size:.9375rem}.review-detail summary{cursor:pointer;min-height:40px}.review-detail ul{padding-left:22px;max-width:720px}.review-detail li{margin-bottom:10px}.review-detail a{color:inherit}
@media(max-width:950px){.shell{width:calc(100% - 56px)}.hero{gap:40px;grid-template-columns:1.3fr 1fr}.hero h1{font-size:4.2rem}.work-copy{padding:35px}.system-row{grid-template-columns:80px 1fr 25px;gap:8px}.case-body{grid-template-columns:150px 1fr;gap:35px}.case-overview{padding:32px;gap:25px}.about-grid{gap:45px}.secondary-work{gap:35px}.diagram-panel{padding:24px}.allocation-row{gap:15px}}
@media(max-width:680px){html{scroll-padding-top:20px}.shell{width:calc(100% - 40px)}.review-bar .shell{gap:12px;font-size:.75rem}.header{position:relative;flex-wrap:wrap;padding:18px 0;gap:0}.menu-toggle{display:block;min-height:44px}.nav{width:100%;gap:16px;justify-content:space-between;padding-top:15px}.js .nav{display:none}.js .nav[data-open=true]{display:flex}.nav a{min-height:44px;font-size:1rem}.hero{grid-template-columns:1fr;gap:32px;padding:48px 0}.hero h1{font-size:clamp(3rem,10vw,4.5rem)}.hero .eyebrow{margin-bottom:24px}.hero-aside{max-width:46ch}.work-lead{grid-template-columns:1fr}.work-copy{padding:32px 26px}.work-copy h3{margin-top:20px}.meta-art{min-height:285px;padding:30px 26px}.system-row{grid-template-columns:90px 1fr 26px}.section-top{gap:20px}.section-top .small{font-size:.8125rem}.secondary-work{grid-template-columns:1fr;gap:25px;padding:28px 0}.secondary-copy{grid-row:1}.secondary-copy h3{font-size:2.2rem}.rate-art{min-height:220px;padding:26px}.earlier{grid-template-columns:1fr;gap:32px;padding-bottom:48px}.about{padding:48px 0}.about-grid{grid-template-columns:1fr;gap:26px}.about h2{max-width:14ch}.values{grid-template-columns:1fr;gap:28px;padding-top:30px;margin-top:30px}.contact{grid-template-columns:1fr;gap:32px;padding:48px 0}.contact-links>a:first-child{font-size:1.8rem}.footer{flex-direction:column;gap:10px}.case-hero{padding-top:32px}.breadcrumb{margin-bottom:30px}.case-hero h1{font-size:clamp(3rem,10vw,4rem)}.case-lede{font-size:1.5rem}.facts{grid-template-columns:1fr;gap:22px}.facts dd{max-width:none}.case-overview{grid-template-columns:1fr;padding:28px;margin-bottom:36px}.case-body{grid-template-columns:1fr;gap:36px}.case-nav{position:static;border-bottom:1px solid var(--line);padding-bottom:22px;display:flex;flex-wrap:wrap;gap:4px 20px}.case-nav .eyebrow{width:100%;margin-bottom:2px}.case-nav a{min-height:44px}.chapter{padding-bottom:40px;margin-bottom:38px}.decision{grid-template-columns:1fr;gap:22px}.agreement{grid-template-columns:1fr;gap:23px}.example-heading{align-items:flex-start;flex-direction:column}.allocation-row{grid-template-columns:70px 1fr 55px;gap:10px;font-size:.9375rem}.diagram-panel{padding:22px 18px}.translation-flow{grid-template-columns:1fr;gap:26px}.outcome-list li{grid-template-columns:1fr;gap:8px}.next-project{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.review-bar,.menu-toggle,.nav,.case-nav,.review-detail{display:none}.shell{width:100%}.case-body{display:block}.chapter{break-inside:avoid}.hero{padding:30px 0}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Separate private portfolio and access page */
.work-header{padding:65px 0 50px;max-width:850px}.work-header .eyebrow{margin-bottom:25px}.work-header>p:last-child{max-width:580px;margin-top:26px}.portfolio-entry{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line);padding:30px 0 48px}.portfolio-entry .eyebrow{margin-bottom:10px}.action-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;background:var(--olive);color:var(--cream);border:1px solid var(--olive);border-radius:3px;font:500 1rem/1.4 var(--sans);text-decoration:none;min-height:46px;white-space:nowrap}.action-button:hover{background:var(--link);text-decoration:none}.access-main{max-width:600px;padding:70px 0 90px;min-height:65vh}.access-main .eyebrow{margin-bottom:24px}.access-main h1{font-size:clamp(3rem,6vw,4.5rem)}.access-main>p{margin-top:25px;max-width:43ch}.access-form{margin-top:32px}.access-form label{display:block;margin-bottom:8px}.access-form input{width:100%;padding:12px 14px;border:1px solid var(--muted);border-radius:3px;background:var(--paper);color:var(--ink);min-height:48px}.access-form .action-button{margin-top:18px}.access-help{font-size:1rem;margin-top:25px}.error-message{color:#8a3024;font-size:1rem;margin-bottom:14px}.plain-button{border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:5px;font:inherit;min-height:40px}.footer form{margin:0}@media(max-width:680px){.portfolio-entry{align-items:flex-start;flex-direction:column}.work-header{padding:45px 0 32px}.access-main{padding:48px 0 65px}.access-main h1{font-size:3rem}}

/* A quieter public introduction, with the depth kept in selected work. */
.reading{width:min(680px,calc(100% - 48px));margin-inline:auto}
.quiet-home{font-size:1.125rem;line-height:1.65}
.home-intro{padding-top:85px;padding-bottom:62px}
.quiet-home h1{font:400 3rem/1.15 var(--serif);letter-spacing:-.025em;margin:0 0 8px}
.home-role{color:var(--muted);margin-bottom:30px}
.home-statement{font:400 1.75rem/1.38 var(--serif);margin-bottom:30px;letter-spacing:-.01em}
.home-copy p+p{margin-top:20px}
.home-work-link{margin-top:30px}
.home-work-link a{font-weight:500}
.home-work-link span{display:block;color:var(--muted);font-size:.9375rem;margin-top:5px}
.home-practice{background:var(--olive);color:var(--cream);padding:54px 0 58px}
.quiet-home h2{font:400 2rem/1.2 var(--serif);letter-spacing:-.015em;margin-bottom:25px}
.home-practice p+p,.home-hello p+p{margin-top:20px}
.home-hello{padding-top:58px;padding-bottom:48px}
.hello-links{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;margin:24px 0 0;padding:0}
.hello-links a{display:inline-block;padding:6px 0}
.home-footer{font-size:.875rem;color:var(--muted);padding-bottom:32px}
.simple-header .brand{font:400 1.375rem/1.2 var(--serif);letter-spacing:0;text-transform:none}
.home-return{font-size:1rem}
.quiet-work .work-header h1{font-size:3rem;line-height:1.15}
.quiet-work .work-header{padding:50px 0 38px}
.quiet-work .work-header>p:last-child{margin-top:16px}
.quiet-work .eyebrow{font-size:.9375rem;letter-spacing:0;text-transform:none;font-weight:400}
.quiet-work .work-copy h3{font-size:2.4rem}
.quiet-work .secondary-copy h3{font-size:2.2rem}
@media(max-width:680px){.reading{width:calc(100% - 44px)}.home-intro{padding-top:48px;padding-bottom:42px}.quiet-home h1{font-size:2.5rem}.home-statement{font-size:1.5rem}.home-role{margin-bottom:25px}.home-practice{padding:40px 0 44px}.home-hello{padding-top:42px;padding-bottom:34px}.quiet-home h2{font-size:1.8rem}.hello-links{gap:8px 24px}.quiet-work .work-header{padding-top:34px}}

.home-practice .practice-item+.practice-item{margin-top:30px}.home-practice .practice-item h3{font:400 1.375rem/1.35 var(--serif);letter-spacing:0;margin-bottom:10px}
