@font-face{font-family:Instrument;src:url('/assets/instrument-serif-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/instrument-serif-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:DM;src:url('/assets/dm-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('/assets/dm-sans-latin-600-normal.woff2') format('woff2');font-weight:600 800;font-display:swap}
:root{--paper:#f5f3ed;--white:#fcfbf7;--ink:#172f40;--muted:#52616b;--blue:#184ea6;--blue-soft:#e8edf7;--line:#d1d7d8;--green:#216047;--red:#993d32;--serif:Instrument,Georgia,serif;--sans:DM,system-ui,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-padding-top:32px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}button,input{font:inherit}a,button,input{-webkit-tap-highlight-color:transparent}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible+span{outline:3px solid var(--blue);outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}::selection{background:#d4e0f8;color:var(--ink)}.shell{width:min(calc(100% - 112px),var(--max));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:2.5rem;line-height:1;text-decoration:none}.wordmark span{color:var(--blue)}nav{display:flex;gap:32px;align-items:center}nav a{font-size:.875rem;text-decoration:none;min-height:44px;display:flex;align-items:center}.nav-contact{gap:14px;border-bottom:1px solid var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.03;text-wrap:balance}h1 em,h2 em{font-weight:400;color:var(--blue)}h2{font-size:clamp(2.6rem,4.8vw,4.5rem)}.eyebrow{font-size:.875rem;color:var(--muted);font-weight:600}.hero{padding-block:84px 82px;display:flex;flex-wrap:wrap;gap:72px;align-items:center}.hero-copy{flex:1.55 1 30rem;min-width:0}.hero-aside{flex:1 1 20rem;min-width:0}.hero .eyebrow{display:flex;align-items:center;gap:12px}.small-line{width:28px;height:2px;background:var(--blue)}.hero h1{font-size:clamp(3.8rem,6.9vw,6.8rem);margin:25px 0 25px;line-height:.98}.hero-lead{font-size:1.1rem;max-width:540px;color:var(--muted);margin-bottom:30px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;text-decoration:none;min-height:50px;padding:12px 22px;border:1px solid transparent;border-radius:3px;font-size:.9375rem;font-weight:600;transition:background-color 140ms,color 140ms}.primary{background:var(--blue);color:var(--white)}.primary:hover{background:#123d84;color:var(--white)}.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.secondary:hover{background:var(--blue-soft)}.hero-aside{border-top:1px solid var(--ink);padding-top:18px;margin-top:35px}.margin-label{font-size:.875rem;color:var(--muted)}.practice{list-style:none;padding:0;margin:22px 0 0}.practice li{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding:24px 0}.practice-n{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--blue)}.practice strong{font-size:1.125rem;font-weight:600}.practice p{font-size:.875rem;color:var(--muted);margin-top:5px}.practice-point{width:8px;height:8px;border:1px solid var(--blue);border-radius:50%;margin-left:auto;flex-shrink:0}.practice li:nth-child(2) .practice-point{background:var(--blue)}.aside-note{display:flex;gap:16px;font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--muted);line-height:1.25;padding-top:28px}.aside-note>span{font-style:normal;color:var(--blue)}.facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-block:1px solid var(--line);padding-block:24px;gap:30px}.facts p{display:flex;flex-direction:column;gap:4px}.facts strong{font-size:1rem;font-weight:600}.facts span{font-size:.875rem;color:var(--muted)}.work{padding-top:94px}.section-top{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:40px;align-items:end;margin-bottom:52px}.section-top>.eyebrow{align-self:start;padding-top:8px}.section-top>p:last-child{font-size:.9375rem;color:var(--muted);padding-bottom:4px}.work-entry{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:40px;padding:50px 0;border-top:1px solid var(--line)}.work-meta{display:flex;flex-direction:column;gap:24px;color:var(--muted);font-size:.875rem}.index{font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--blue)}.tag{color:var(--muted);font-size:.8125rem}.work-copy h3{font-family:var(--serif);font-size:clamp(2rem,3vw,2.9rem);line-height:1.12;margin:12px 0 18px;text-wrap:balance}.work-copy h3 a{text-decoration:none}.work-copy>p:not(.tag){color:var(--muted);max-width:520px}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;margin-top:14px;font-size:.9375rem;color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue)}.work-proof{align-self:center;border-left:1px solid var(--line);padding-left:32px}.proof-number{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.1;display:block;margin-bottom:12px}.work-proof p{font-size:.9375rem;line-height:1.6}.proof-note{display:block;color:var(--muted);font-size:.8125rem;margin-top:12px;max-width:190px}.about{border-top:1px solid var(--ink);margin-top:55px;padding-top:70px;padding-bottom:80px;display:grid;grid-template-columns:.7fr 2.5fr;gap:40px}.about>div{max-width:760px}.about h2{margin-bottom:32px}.about p:not(.eyebrow){max-width:690px;margin-top:18px;color:var(--muted);font-size:1.0625rem}.about .community{font-size:.9375rem!important;border-top:1px solid var(--line);padding-top:24px;margin-top:28px!important}.contact{border-top:1px solid var(--line);padding-block:64px 90px;position:relative}.contact h2{margin:22px 0 30px;font-size:clamp(3.5rem,7vw,6rem)}.footer{display:flex;align-items:center;gap:32px;min-height:105px;border-top:1px solid var(--line);padding-block:22px}.footer .wordmark{font-size:2rem}.footer p{font-size:.8125rem;color:var(--muted);margin-left:auto}.footer>a:last-child{font-size:.875rem;text-decoration:none;min-height:44px;display:flex;align-items:center}.skip{position:fixed;left:20px;top:-100px;background:var(--ink);color:var(--white);padding:12px 20px;z-index:10}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.quiet-link{min-height:44px;display:inline-flex;align-items:center;gap:15px;font-size:.9375rem;text-decoration:none}.work-download{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 28px;padding-top:22px}.work-download>p{color:var(--muted);font-size:.9375rem}.work-download .text-link{margin-top:0}
/* Case studies */
.case-hero{padding-block:40px 64px}.back-link{display:inline-flex;min-height:44px;align-items:center;gap:8px;font-size:.875rem;text-decoration:none;color:var(--muted);margin-bottom:38px}.case-hero>.eyebrow{margin-bottom:22px}.case-hero h1{font-size:clamp(3.3rem,6.3vw,6rem);max-width:1000px}.case-deck{max-width:780px;font-size:1.125rem;line-height:1.85;color:var(--muted);margin-top:28px}.case-facts{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-top:1px solid var(--line);margin-top:42px;padding-top:24px;gap:32px}.case-facts p{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.case-facts strong{font-weight:600}.case-facts span{color:var(--muted)}.lab{border:1px solid var(--line);border-radius:4px;padding:38px 40px;background:var(--white)}.lab-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.lab-heading h2{font-size:clamp(2.5rem,4vw,3.7rem);margin-top:12px}.lab-heading>p{font-size:.8125rem;line-height:1.7;color:var(--muted)}.lab-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding-bottom:24px}.segmented{margin:0;display:flex;border:1px solid var(--line);padding:4px;border-radius:4px;gap:4px;min-width:0}.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 17px;border-radius:2px;font-size:.875rem}.segmented input:checked+span{background:var(--ink);color:var(--white)}.step-count{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.trace-layout{display:grid;grid-template-columns:1fr 1fr;gap:54px;padding-top:30px}.trace-steps{list-style:none;padding:0;margin:0}.trace-steps li{display:flex;gap:19px;padding:17px 15px;margin-bottom:5px;border-radius:3px;color:var(--muted);position:relative}.trace-steps li>span{font-size:.8125rem;min-width:20px;padding-top:3px;color:var(--muted)}.trace-steps strong{font-size:1rem;font-weight:600}.trace-steps small{font-size:.8125rem;display:block;margin-top:3px}.trace-steps li[aria-current="step"]{background:var(--blue-soft);color:var(--blue)}.trace-steps li.done>span{color:var(--green)}.trace-inspector{padding:24px 27px;background:var(--paper);align-self:start;border:1px solid var(--line);border-radius:3px;min-width:0}.inspector-label{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.8125rem;padding-bottom:22px;border-bottom:1px solid var(--line)}[data-trace-badge]{color:var(--blue);font-weight:600;text-align:right}.state-values{margin:0}.state-values>div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.state-values dt{color:var(--muted);font-size:.875rem}.state-values dd{margin:0;font-weight:600;font-size:.875rem;text-align:right}.trace-explanation{font-size:.9375rem;min-height:100px;margin-top:23px;line-height:1.8}.lab[data-outcome="broken"] [data-trace-badge],.lab[data-outcome="broken"] [data-delivery]{color:var(--red)}.lab[data-outcome="fixed"] [data-trace-badge],.lab[data-outcome="fixed"] [data-delivery]{color:var(--green)}.lab-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.case-body{display:grid;grid-template-columns:.65fr 2fr;gap:70px;padding-block:76px}.case-body aside>p:last-child{margin-top:18px;color:var(--muted);font-family:var(--serif);font-size:1.65rem;line-height:1.3}.prose{max-width:790px}.prose h2{font-family:var(--sans);font-size:1.375rem;font-weight:600;margin-bottom:18px;line-height:1.35}.prose h2:not(:first-child){margin-top:36px}.prose p{margin-top:16px;line-height:1.85;color:var(--muted)}.prose p:first-of-type{margin-top:0}.prose .evidence-note{font-size:.875rem;line-height:1.8}.result-callout{padding:25px 28px;background:var(--blue-soft);margin-top:28px;border-radius:3px}.result-callout strong{font-weight:600;font-size:1.125rem}.result-callout p{margin:10px 0 0;color:var(--ink)}.next-case{border-top:1px solid var(--line);padding-block:35px 70px}.next-case a{display:flex;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.25;text-decoration:none;margin-top:16px}.evidence-links{display:flex;gap:14px 28px;flex-wrap:wrap;margin-top:20px}.evidence-links a{font-size:.9375rem;color:var(--blue);min-height:44px;display:flex;align-items:center}.contribution{border-top:1px solid var(--line);padding:24px 0}.contribution h3{font-family:var(--sans);font-size:1.05rem;font-weight:600}.contribution p{margin:10px 0}.contribution a{font-size:.875rem;color:var(--blue)}
.component-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:start;padding-top:12px}.component-map{padding-block:8px}.component-button{display:flex;flex-direction:column;align-items:center;text-align:center;background:transparent;border:1px solid var(--line);border-radius:3px;padding:22px 14px;min-height:130px;color:var(--ink);width:100%;gap:4px}.component-button:hover{background:var(--paper)}.component-button[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft)}.component-kind{font-size:.8125rem;color:var(--muted)}.component-button strong{font-size:1.0625rem;font-weight:600;overflow-wrap:anywhere}.component-button small{font-size:.8125rem;color:var(--muted)}.component-map>.component-button{width:65%;margin:auto}.component-branches{display:grid;grid-template-columns:1fr 1fr;gap:20px}.branch-lines{height:40px;display:grid;grid-template-columns:1fr 1fr;width:50%;margin:0 auto}.branch-lines span{height:20px;border-bottom:1px solid var(--line);position:relative}.branch-lines span:first-child{border-right:1px solid var(--line)}.branch-lines span:after{content:'';height:20px;border-left:1px solid var(--line);position:absolute;top:20px}.branch-lines span:last-child:after{right:0}.map-caption{font-size:.8125rem;color:var(--muted);text-align:center;margin-top:18px}.component-detail{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:3px;min-height:420px}.component-detail h3{font-family:var(--serif);font-size:2.4rem;line-height:1.2;margin:10px 0 18px;overflow-wrap:anywhere}.component-detail>p:not(.eyebrow){font-size:.9375rem;color:var(--muted)}.component-detail dl{margin:22px 0 0}.component-detail dl>div{border-top:1px solid var(--line);padding:13px 0;font-size:.875rem}.component-detail dt{font-weight:600}.component-detail dd{margin:6px 0 0;color:var(--muted)}.component-detail .text-link{margin-top:8px}.lifecycle{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px;padding-block:20px;border-block:1px solid var(--line)}.lifecycle div{display:flex;flex-direction:column;gap:6px}.lifecycle span{font-size:.8125rem;color:var(--blue)}.lifecycle strong{font-size:.9375rem;font-weight:600}.lifecycle small{font-size:.8125rem;color:var(--muted)}.workflow-picker{border:0;padding:0;margin:0 0 28px;display:flex;gap:12px;flex-wrap:wrap}.workflow-picker legend{font-size:.875rem;margin-bottom:12px;font-weight:600}.workflow-picker label{position:relative;cursor:pointer}.workflow-picker input{position:absolute;opacity:0;width:1px;height:1px}.workflow-picker span{display:flex;align-items:center;min-height:46px;border:1px solid var(--line);border-radius:3px;padding:10px 18px;font-size:.9375rem}.workflow-picker input:checked+span{background:var(--ink);color:var(--white);border-color:var(--ink)}.workflow-content{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;border-top:1px solid var(--line);padding-top:28px}.workflow-stage>span{font-size:.8125rem;color:var(--blue)}.workflow-stage h3{font-family:var(--serif);font-size:2rem;line-height:1.15;margin-block:13px 16px}.workflow-stage>p{font-size:.9375rem;color:var(--muted);line-height:1.8;min-height:145px}.workflow-principle{display:flex;align-items:baseline;gap:18px;border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.workflow-principle>span{color:var(--blue);font-size:1.6rem}.workflow-principle p{font-family:var(--serif);font-size:1.6rem;font-style:italic;line-height:1.3;min-height:42px}
@media(min-width:1500px){.hero{padding-block:100px 100px}}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.hero{gap:40px;padding-block:65px}.hero h1{font-size:clamp(3.9rem,7vw,5.8rem)}.hero-lead{font-size:1rem}.practice li{gap:13px}.practice strong{font-size:1rem}.section-top,.work-entry{grid-template-columns:.45fr 1.4fr .8fr;gap:25px}.work-proof{padding-left:20px}.case-body{gap:36px;grid-template-columns:.6fr 2fr}.lab{padding:30px}.trace-layout{gap:25px}.trace-inspector{padding:22px}.trace-explanation{min-height:150px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.header{min-height:88px;gap:18px}nav{gap:18px}nav a{font-size:.8125rem}.wordmark{font-size:2.1rem}.hero{display:block;padding-block:48px}.hero h1{font-size:clamp(3.9rem,10.5vw,6rem);max-width:600px}.hero-lead{max-width:560px}.hero-aside{margin-top:50px;max-width:560px}.practice{display:grid;grid-template-columns:1fr;gap:0}.practice li{padding:18px 0}.aside-note{font-size:1.4rem;padding-top:22px}.facts{grid-template-columns:1fr 1fr;gap:24px}.facts p:last-child{grid-column:1/-1}.work{padding-top:62px}.section-top{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.section-top h2 br{display:none}.section-top>p:last-child br{display:none}.work-entry{grid-template-columns:50px 1fr;gap:22px;padding-block:34px}.work-meta{gap:16px}.work-meta>span:last-child{display:none}.work-copy h3{font-size:2.5rem}.work-proof{grid-column:2;border-left:none;padding:20px 0 0;border-top:1px solid var(--line);margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.proof-number{font-size:2.8rem}.proof-note{grid-column:1/-1;max-width:none;margin-top:4px}.about{grid-template-columns:1fr;gap:25px;margin-top:20px;padding-block:45px 55px}.contact{padding-block:45px 60px}.footer{flex-wrap:wrap;gap:10px 22px}.footer p{width:calc(100% - 100px);text-align:right}.footer>a:last-child{margin-left:auto}.case-hero{padding-top:20px;padding-bottom:40px}.back-link{margin-bottom:28px}.case-hero h1{font-size:clamp(3rem,9vw,4.5rem)}.case-deck{font-size:1.0625rem;margin-top:24px}.case-facts{grid-template-columns:1fr;gap:20px;margin-top:28px}.lab{padding:24px 18px}.lab-heading{display:block;margin-bottom:26px}.lab-heading>p{margin-top:18px}.lab-heading>p br{display:none}.lab-toolbar{display:block;padding-bottom:18px}.segmented{width:100%}.segmented label{flex:1}.segmented span{padding:8px 10px;text-align:center}.step-count{margin-top:15px}.trace-layout{grid-template-columns:1fr;padding-top:20px;gap:20px}.trace-steps li{padding:12px 13px}.trace-inspector{padding:20px}.trace-explanation{min-height:112px}.lab-actions{justify-content:space-between}.case-body{grid-template-columns:1fr;gap:30px;padding-block:48px}.case-body aside>p:last-child{display:none}.prose h2{font-size:1.25rem}.next-case{padding-bottom:45px}}
@media(max-width:900px){.component-layout{grid-template-columns:1fr;gap:30px}.component-map{max-width:640px;width:100%;margin:auto}.component-detail{min-height:320px}.workflow-content{gap:20px}.workflow-stage h3{font-size:1.8rem}.workflow-stage>p{min-height:200px}}
@media(max-width:760px){.work-download{justify-content:flex-start}.component-detail{padding:22px;min-height:390px}.component-branches{gap:12px}.component-button{padding:18px 10px}.component-button strong{font-size:.9375rem}.component-map>.component-button{width:72%}.workflow-content{grid-template-columns:1fr;gap:24px}.workflow-stage{border-bottom:1px solid var(--line);padding-bottom:22px}.workflow-stage:last-child{border-bottom:0;padding-bottom:0}.workflow-stage h3{font-size:2rem;margin-block:8px 10px}.workflow-stage>p{min-height:0}.workflow-principle p{min-height:85px}.workflow-picker{gap:9px}.workflow-picker span{padding:9px 12px;font-size:.875rem}.lifecycle{grid-template-columns:1fr;gap:18px}.lifecycle small{font-size:.875rem}}
@media(max-width:390px){nav{gap:12px}.header nav>a:nth-child(2){display:none}.hero h1{font-size:3.7rem}.hero .eyebrow{font-size:.8125rem}.work-entry{grid-template-columns:35px 1fr;gap:15px}.work-copy h3{font-size:2.1rem}.work-proof{display:block}.proof-number{font-size:2.6rem}.proof-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.header nav,.lab-actions,.lab-toolbar,.contact,.next-case{display:none}.shell{width:100%}.hero{padding-block:30px}.case-hero h1,.hero h1{font-size:40pt}.lab,.case-body,.work-entry{break-inside:avoid}.footer{margin-top:30px}.case-body{padding-block:30px}body{background:white;color:#172f40}}

@media(min-width:761px) and (max-width:1000px){.work-entry{grid-template-columns:50px minmax(0,1fr)}.work-proof{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:10px}.proof-note{max-width:none}}
