:root{--paper:#efefec;--ink:#11110f;--muted:#575752;--rule:#34342f;--faint:#d7d6d0;--warm:#f8f5ec;--accent:#7b2f1d;--grid-line:#11110f06;--paper-glow:#ffffff6b;--surface-soft:#ffffff3d;--surface-faint:#ffffff2e;--surface-card:#ffffff29;--surface-warm:#f8f5ec3d;--accent-wash:#7b2f1d14;--accent-wash-soft:#7b2f1d0f;--accent-outline:#7b2f1d47;--accent-outline-strong:#7b2f1d52;--footer-microstroke:#11110f2e;--grain-opacity:.34;--grain-cloud-opacity:.42;--sticky-surface:#efefece0;--max:1080px;color-scheme:light dark;font-family:Berkeley Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{--paper:#111213;--ink:#f3efe6;--muted:#b1a89a;--rule:#817669;--faint:#262422;--warm:#1d1a18;--accent:#f0a36d;--grid-line:#f3efe609;--paper-glow:#f0a36d1f;--surface-soft:#f3efe612;--surface-faint:#f0a36d09;--surface-card:#f3efe60f;--surface-warm:#1d1a185c;--accent-wash:#f0a36d29;--accent-wash-soft:#f0a36d1a;--accent-outline:#f0a36d6b;--accent-outline-strong:#f0a36d8f;--footer-microstroke:#f3efe633;--grain-opacity:.38;--grain-cloud-opacity:.48;--sticky-surface:#111213e6;color-scheme:dark}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--paper:#111213;--ink:#f3efe6;--muted:#b1a89a;--rule:#817669;--faint:#262422;--warm:#1d1a18;--accent:#f0a36d;--grid-line:#f3efe609;--paper-glow:#f0a36d1f;--surface-soft:#f3efe612;--surface-faint:#f0a36d09;--surface-card:#f3efe60f;--surface-warm:#1d1a185c;--accent-wash:#f0a36d29;--accent-wash-soft:#f0a36d1a;--accent-outline:#f0a36d6b;--accent-outline-strong:#f0a36d8f;--footer-microstroke:#f3efe633;--grain-opacity:.38;--grain-cloud-opacity:.48;--sticky-surface:#111213e6;color-scheme:dark}}*{box-sizing:border-box}@view-transition{navigation:auto}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;min-width:320px}@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}}body{background:linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 42px 42px, radial-gradient(circle at 50% 0%, var(--paper-glow), transparent 36rem), var(--paper);letter-spacing:0;min-height:100vh;margin:0;font-size:15px;line-height:1.45;position:relative}p,li,dd,a,button{overflow-wrap:anywhere}body:before{z-index:0;content:"";pointer-events:none;mix-blend-mode:multiply;opacity:var(--grain-opacity);background-image:url(/grain.png);background-size:220px 220px;position:fixed;inset:0}body:after{z-index:0;color:var(--paper-glow);content:"";mix-blend-mode:soft-light;opacity:var(--grain-cloud-opacity);pointer-events:none;background:radial-gradient(circle at 14% 16%,currentColor,#0000 32rem),radial-gradient(circle at 80% 18%,currentColor,#0000 30rem),radial-gradient(circle at 48% 78%,currentColor,#0000 38rem);position:fixed;inset:0}html[data-theme=dark] body:before,html[data-theme=dark] body:after{filter:invert();mix-blend-mode:screen}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent)}::selection{background:var(--ink);color:var(--paper)}.site-shell{z-index:1;width:min(100% - 28px, var(--max));margin:0 auto;padding:28px 0 56px;position:relative}.site-header,.site-footer{border-top:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:20px;padding-top:12px;display:flex}.site-header{view-transition-name:site-header}.brand{view-transition-name:site-brand}.nav{view-transition-name:site-nav}.site-header{margin-bottom:clamp(56px,11vw,132px);animation:.65s cubic-bezier(.16,1,.3,1) both settle-in}.brand{gap:2px;text-decoration:none;display:grid}.brand strong,.nav a,.site-footer a{text-transform:uppercase;font-size:13px;font-weight:500}.brand span,.site-footer span{color:var(--muted);font-size:13px}.nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;display:flex}.nav a,.theme-toggle{background:linear-gradient(currentColor 0 0) 0 100%/0 1px no-repeat;text-decoration:none;transition:background-size .18s,color .18s}.nav a[aria-current=page]{background-size:100% 1px}.brand[aria-current=page],.nav a[aria-current=page]{cursor:default;pointer-events:none}.theme-toggle{border:1px solid var(--rule);width:19px;height:19px;color:var(--muted);cursor:pointer;font:inherit;text-align:center;background-color:#0000;padding:0;font-size:13px;line-height:1}.theme-toggle:hover,.theme-toggle:focus-visible,.theme-toggle[aria-pressed=true]{color:var(--ink);background-color:var(--accent-wash);outline:1px solid var(--accent-outline);outline-offset:-1px}.site-footer{min-height:74px;margin-top:clamp(64px,10vw,120px);position:relative;overflow:hidden}.footer-microtext{z-index:0;color:#0000;text-transform:uppercase;user-select:none;opacity:.12;-webkit-text-stroke:.18px var(--footer-microstroke);pointer-events:none;max-height:56px;font-size:6px;line-height:1.05;position:absolute;inset:12px 0 auto;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.site-footer>span,.site-footer>a{z-index:1;position:relative}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:12px}.rule{border:0;border-top:1px solid var(--rule);margin:18px 0}.double-rule{border-top:3px double var(--rule)}.hero{grid-template-rows:auto 1fr auto;min-height:min(72vh,760px);display:grid}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:clamp(28px,8vw,96px);animation:.8s cubic-bezier(.16,1,.3,1) 80ms both settle-in;display:grid}.identity{max-width:720px}.identity h1{max-width:10ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(58px,12vw,154px);font-weight:400;line-height:.88}.identity p{max-width:56ch;margin:clamp(24px,4vw,42px) 0 0;font-size:clamp(18px,2.6vw,28px);line-height:1.22}.invoice-box{border:1px solid var(--rule);background:linear-gradient(135deg, var(--surface-warm), transparent 78%), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 42px 42px;box-shadow:inset 0 0 0 1px var(--surface-faint);transform-origin:100% 0;animation:.9s cubic-bezier(.16,1,.3,1) .18s both paper-mark;position:relative;overflow:hidden}.invoice-box:before{content:"";mix-blend-mode:multiply;opacity:.18;pointer-events:none;background-image:url(/grain.png);background-size:220px 220px;position:absolute;inset:0}html[data-theme=dark] .invoice-box:before{filter:invert();mix-blend-mode:screen;opacity:.16}.invoice-box dl{z-index:1;grid-template-columns:auto 1fr;gap:4px 18px;margin:0;padding:10px;display:grid;position:relative}.invoice-box dt,.invoice-box dd{margin:0;font-size:13px}.invoice-box dd{text-align:right}.ledger{border-collapse:collapse;width:100%;animation:.76s cubic-bezier(.16,1,.3,1) .18s both settle-in}.ledger caption{padding-bottom:8px;font-size:13px}.ledger th,.ledger td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:6px 8px;font-weight:400}.ledger th:last-child,.ledger td:last-child{text-align:right}.ledger th{color:var(--muted);text-transform:uppercase;font-size:12px}.hero-actions{flex-wrap:wrap;gap:12px 22px;margin-top:30px;display:flex}.button-link{border:1px solid var(--rule);background:var(--surface-soft);padding:9px 12px;text-decoration:none;transition:background .18s,color .18s,transform .18s}.button-link:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}.section{padding-top:clamp(52px,9vw,96px)}.home-continuation{padding-top:clamp(56px,12vw,136px);scroll-margin-top:24px}.home-work-list{animation:none}.home-work-item{padding-block:18px}.continuation-link{color:var(--muted);text-align:right;text-transform:uppercase;margin:18px 0 0;font-size:12px}.home-contact-panel{max-width:none}.section-header{border-top:1px solid var(--rule);grid-template-columns:170px 1fr;gap:24px;margin-bottom:24px;padding-top:12px;display:grid}.section-header h2{text-transform:uppercase;margin:0;font-size:15px;font-weight:500}.section-header p{max-width:68ch;color:var(--muted);margin:0}.work-list{border-top:1px solid var(--rule);gap:1px;display:grid}.work-item{border-bottom:1px solid var(--rule);grid-template-columns:120px minmax(0,1fr) auto;align-items:baseline;gap:20px;padding:14px 0;transition:background .18s,padding .18s;display:grid}.work-item:hover{background:var(--surface-faint)}.work-item h3,.work-item p,.work-item dl{margin:0}.work-item h3{font-size:16px;font-weight:500}.work-item h3 a{text-decoration:none}.work-item h3 a:hover{text-decoration:underline}.work-item p,.work-role{color:var(--muted)}.work-detail{align-items:flex-start;gap:6px;margin-top:10px;display:flex}.work-item details{flex:1;min-width:0}.work-item summary{cursor:pointer;width:max-content;color:var(--muted);text-transform:uppercase;font-size:12px}.work-item summary:hover{color:var(--accent)}.case-study-count{color:var(--muted);text-decoration:none;transition:color .18s,transform .18s;display:inline-block}.case-study-shortcuts{gap:6px;padding-top:1px;font-size:12px;display:flex}.case-study-count:hover,.case-study-count:focus-visible{color:var(--accent);transform:translateY(-1px)}.case-study-ref{color:var(--muted);margin-right:6px}.case-study-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.work-item details::details-content{block-size:0;transition:block-size .26s cubic-bezier(.16, 1, .3, 1), content-visibility .26s allow-discrete;overflow:clip}.work-item details[open]::details-content{block-size:auto}.work-item dl{gap:10px;max-width:720px;padding-top:12px;display:grid}.work-item dl div{grid-template-columns:92px 1fr;gap:16px;display:grid}.work-item dt{color:var(--muted);text-transform:uppercase;font-size:12px}.work-item dd{margin:0}.work-streams{gap:10px;margin:0;padding:0;list-style:none;display:grid}.work-streams button{border:0;border-left:1px solid var(--rule);width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;gap:2px;padding-left:12px;transition:background .18s,border-color .18s,color .18s,padding .18s;display:grid}.work-streams button:hover,.work-streams button:focus-visible,.work-streams button[data-active]{border-color:var(--accent);background:var(--accent-wash-soft);outline:1px solid var(--accent-outline);outline-offset:3px;padding-left:16px}.work-streams strong{font-size:13px;font-weight:500}.work-streams span{color:var(--muted)}.work-item [data-relation]{transition:background .18s,color .18s,outline-color .18s}.relation-text{color:inherit;cursor:pointer;font:inherit;text-align:inherit;background:0 0;border:0;border-radius:2px;padding:0;display:inline}.relation-text:hover,.relation-text:focus-visible,.relation-text[data-active]{color:var(--ink);background:var(--accent-wash);outline:1px solid var(--accent-outline);outline-offset:2px}.work-item a[data-relation][data-active]{color:var(--accent);background:var(--accent-wash);outline:1px solid var(--accent-outline-strong);outline-offset:3px}.page-title{max-width:900px;margin:0 0 clamp(48px,8vw,92px);font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,8vw,104px);font-weight:400;line-height:.95}@keyframes settle-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes paper-mark{0%{opacity:0;transform:translateY(8px)rotate(.25deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}.contact-panel{border-top:3px double var(--rule);border-bottom:3px double var(--rule);gap:12px;max-width:680px;padding:26px 0;display:grid}.contact-row{grid-template-columns:150px 1fr;gap:20px;display:grid}.contact-value{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.copy-button{border:1px solid var(--rule);color:var(--muted);cursor:pointer;font:inherit;text-transform:uppercase;background:0 0;padding:3px 7px;font-size:12px;transition:background .18s,color .18s,transform .18s}.copy-button:hover,.copy-button:focus-visible{background:var(--ink);color:var(--paper);transform:translateY(-1px)}.copy-status{color:var(--muted);font-size:12px}.not-found{border-top:3px double var(--rule);border-bottom:3px double var(--rule);gap:18px;max-width:760px;padding:clamp(28px,7vw,72px) 0;display:grid}.not-found h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,8vw,96px);font-weight:400;line-height:.95}.not-found p{max-width:58ch;color:var(--muted);margin:0}.not-found .not-found-aside{color:var(--ink);text-transform:uppercase;font-size:13px}.not-found-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.breadcrumb{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.breadcrumb a{color:var(--ink)}.case-note{gap:clamp(34px,6vw,72px);margin-top:clamp(-84px,-6vw,-36px);display:grid}.case-hero{max-width:880px}.case-hero h1{max-width:16ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,10vw,132px);font-weight:400;line-height:.9}.case-hero p:last-child{max-width:62ch;color:var(--muted);margin:28px 0 0;font-size:clamp(17px,2.2vw,24px);line-height:1.28}.case-meta{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.case-meta div{gap:4px;padding:12px 16px 14px 0;display:grid}.case-meta dt,.case-section h2{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:400}.case-meta dd{margin:0}.case-control{z-index:2;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--sticky-surface);backdrop-filter:blur(8px);grid-template-columns:170px 1fr;align-items:center;gap:24px;padding:8px 0;display:grid;position:sticky;top:10px}.case-control p{color:var(--muted);text-transform:uppercase;margin:0;font-size:11px;line-height:1.4}.case-control p span{color:var(--ink);display:block}.case-control kbd{border:1px solid var(--rule);min-width:17px;color:var(--ink);font:inherit;text-align:center;margin:0 2px;padding:0 3px;display:inline-block}.case-control div{flex-wrap:wrap;gap:8px;display:flex}.case-control button{border:1px solid var(--rule);color:var(--muted);cursor:pointer;font:inherit;background:0 0;padding:6px 8px;font-size:12px;transition:background .18s,color .18s,transform .18s}.case-control button:hover,.case-control button:focus-visible,.case-control button[data-active]{background:var(--accent-wash);color:var(--ink);outline:1px solid var(--accent-outline);outline-offset:-1px}.case-section{border-top:1px solid var(--rule);grid-template-columns:170px 1fr;gap:24px;padding-top:12px;scroll-margin-top:92px;display:grid}.case-meta>*,.case-control>*,.case-section>*{min-width:0}.case-section h2,.case-section p,.case-section-label p{margin:0}.case-section p{max-width:72ch}.case-section-label{align-content:start;gap:5px;display:grid}.case-section-label p{color:var(--muted);font-size:12px;line-height:1.35}.related-case{color:var(--muted);border-top-style:double;margin-top:clamp(12px,3vw,28px)}.related-case a{color:var(--ink)}.related-case-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}@media (width>=761px){.case-section-label p{max-width:20ch;font-size:11px}}.case-thread-grid{border:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.case-thread{border:0;border-right:1px solid var(--rule);background:var(--surface-card);min-height:168px;color:inherit;cursor:pointer;font:inherit;text-align:left;gap:14px;padding:14px;transition:background .18s,color .18s,outline-color .18s;display:grid}.case-thread:last-child{border-right:0}.case-thread span{font-weight:500}.case-thread small{color:var(--muted);font:inherit}.case-thread:hover,.case-thread:focus-visible,.case-thread[data-active],.case-ledger tr[data-active],.case-flow li[data-active]{background:var(--accent-wash);outline:1px solid var(--accent-outline);outline-offset:-1px}.case-ledger{border-collapse:collapse;width:100%}.case-ledger th,.case-ledger td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:9px 10px;font-weight:400}.case-ledger th{color:var(--muted);text-transform:uppercase;font-size:12px}.case-flow ol{border-top:1px solid var(--rule);gap:1px;margin:0;padding:0;list-style:none;display:grid}.case-flow li{border-bottom:1px solid var(--rule);padding:10px}@media (width<=760px){.site-shell{width:min(100% - 22px, var(--max));padding-top:18px}.site-header,.site-footer,.hero-grid,.section-header,.work-item,.contact-row,.case-meta,.case-control,.case-section,.case-thread-grid{grid-template-columns:1fr}.site-header,.site-footer{display:grid}.nav{justify-content:flex-start}.hero{min-height:auto}.invoice-box{max-width:360px}.work-item{gap:6px}.work-role:before{content:"Role: ";color:var(--muted);text-transform:uppercase}.work-item dl div{grid-template-columns:1fr;gap:2px}.ledger th:first-child,.ledger td:first-child{display:none}.case-thread{border-right:0;border-bottom:1px solid var(--rule);min-height:auto}.case-thread:last-child{border-bottom:0}.case-ledger{table-layout:fixed}.case-ledger th,.case-ledger td{overflow-wrap:anywhere;padding-inline:7px}.case-control{gap:8px;top:0}.case-control div{gap:6px}.case-control button{flex:130px}.case-section{scroll-margin-top:126px}.case-note{margin-top:-24px}}.case-prose{gap:22px;display:grid}.case-diagram{margin:0}.case-diagram figcaption{color:var(--muted);margin-bottom:10px;font-size:12px}.case-diagram ol{border:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.case-diagram li{background:var(--paper);align-content:start;gap:12px;padding:16px;display:grid}.case-diagram strong{font-weight:500}.case-diagram span{color:var(--muted);font-size:13px}@media (width<=760px){.case-diagram ol{grid-template-columns:1fr}}.case-ledger th:first-child{width:28%}.case-ledger td p+p{color:var(--muted);margin-top:10px}
