*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-20{top:5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-3{margin-bottom:.75rem}.mt-0{margin-top:0}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-auto{height:auto}.h-full{height:100%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-screen-md{max-width:768px}.max-w-screen-sm{max-width:640px}.max-w-screen-xl{max-width:1280px}.shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-black\/15{border-color:#00000026}.border-black\/25{border-color:#00000040}.border-neutral-200{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity))}.bg-black\/5{background-color:#0000000d}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black\/75{color:#000000bf}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-75{opacity:.75}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}[hidden]{display:none!important}.article-toc nav{max-height:calc(100vh - 200px);overflow-y:auto;margin-top:14px}.article-pagination>div:last-child{text-align:right}@media (max-width: 760px){.article-toc nav{max-height:200px}}:root{color-scheme:light;--paper: #f7f6f2;--ink: #242521;--muted: #686b65;--line: #dcded5;--accent: #0c6b4a;--surface: #eeeee7;--wash: #dfefe6;--warm: #eee3d9;--serif: "Newsreader", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif}html.dark{color-scheme:dark;--paper: #1b1d1c;--ink: #efeee8;--muted: #a9ada6;--line: #383d37;--accent: #5fd1a0;--surface: #242824;--wash: #1e392c;--warm: #382d28}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;background:var(--paper)}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}main{min-height:60vh}::-moz-selection{background:var(--accent);color:var(--paper)}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.shell{width:calc(100% - 96px);max-width:1240px;margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:21px;font-weight:650;letter-spacing:-.9px;white-space:nowrap}.wordmark span{color:var(--accent)}.desktop-nav,.header-actions{display:flex;align-items:center;gap:32px;font-size:14px}.desktop-nav a:hover,.desktop-nav a[aria-current],.nav-more[open] summary{color:var(--accent)}.header-actions{gap:20px}.header-contact{border-bottom:1px solid var(--ink);padding-bottom:3px}.header-contact span{margin-left:12px}.theme-button{background:none;border:1px solid var(--line);width:44px;height:44px;border-radius:50%;font-size:22px;display:grid;place-items:center}.dark-icon,html.dark .light-icon{display:none}html.dark .dark-icon{display:inline}.nav-more{position:relative}summary{list-style:none}summary::-webkit-details-marker{display:none}.nav-popover{position:absolute;top:36px;right:0;width:200px;padding:16px;border:1px solid var(--line);background:var(--paper);box-shadow:0 12px 30px #0000000d}.nav-popover a{display:block;padding:8px}.mobile-menu{display:none}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);color:#fff;padding:12px;z-index:100}.skip-link:focus{top:12px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;display:flex;gap:12px;align-items:center;color:var(--muted)}.eyebrow .index{color:var(--accent)}.hero{padding-top:54px}.hero-grid{display:grid;grid-template-columns:1fr 245px;gap:72px;align-items:center}.hero h1{font-family:var(--serif);font-size:clamp(56px,6.9vw,96px);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:30px 0 26px}.hero h1 em{color:var(--accent);font-weight:400}.hero-intro{max-width:565px;color:var(--muted);font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:12px 21px;background:var(--accent);color:var(--paper);font-size:14px;font-weight:500;border:1px solid var(--accent);border-radius:2px;transition:transform .2s,opacity .2s}.button:hover{opacity:.88;transform:translateY(-2px)}.text-link{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:4px;display:inline-flex;gap:22px;align-items:center}.text-link:hover{color:var(--accent);border-color:var(--accent)}.portrait{margin:0;padding-top:20px}.portrait img{width:245px;height:280px;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 40%;object-position:50% 40%;filter:grayscale(100%);border-radius:2px}.portrait figcaption{margin-top:15px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between}.hero-foot{margin-top:32px;padding-block:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 48px;color:var(--muted);font-size:12px}.hero-foot p{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0}.hero-foot-past{justify-content:flex-end;text-align:right}.hero-foot-label{white-space:nowrap}.hero-foot a{font-weight:500;color:var(--ink);border-bottom:1px solid transparent;padding-bottom:2px}.hero-foot a:hover{color:var(--accent);border-color:var(--accent)}.section{padding-block:60px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.section h2,.section-title{font:400 clamp(36px,4vw,52px)/1.15 var(--serif);letter-spacing:-.035em;margin:12px 0 0}.selected-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.project-feature{display:block;min-width:0}.project-feature.lead{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;background:var(--surface)}.project-visual{overflow:hidden;background:var(--wash);aspect-ratio:1.65;padding:30px;display:flex;align-items:center;justify-content:center}.project-visual img{width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;box-shadow:0 12px 28px #00000012;transition:transform .35s}.project-feature:hover img{transform:translateY(-5px)}.lead .project-visual{aspect-ratio:auto;min-height:335px;background:var(--wash)}.feature-copy{padding-top:22px}.lead .feature-copy{padding:36px 38px;display:flex;flex-direction:column;justify-content:center}.feature-copy h3{font-size:23px;font-weight:550;line-height:1.25;letter-spacing:-.02em;margin:12px 0}.lead .feature-copy h3{font:400 clamp(30px,3vw,38px)/1.15 var(--serif);letter-spacing:-.03em}.feature-copy p{font-size:14px;color:var(--muted);line-height:1.8;margin:0;max-width:470px}.feature-outcome{display:flex;justify-content:space-between;gap:14px;padding-top:20px;margin-top:22px;border-top:1px solid var(--line);align-items:center;font-size:12px}.feature-outcome strong{font:400 26px/1.1 var(--serif);letter-spacing:-.03em;display:inline-block;margin-bottom:4px}.feature-arrow{font-size:26px;color:var(--accent)}.metric-visual{background:var(--wash);width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:200px}.metric-visual strong{font:400 clamp(52px,5vw,76px)/1 var(--serif);letter-spacing:-.05em;color:var(--accent)}.metric-visual span{font-size:12px;color:var(--muted);margin-top:18px}.metric-visual small{font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:26px;color:var(--accent)}.experience-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px}.section-description{color:var(--muted);font-size:15px;max-width:340px;margin:22px 0}.experience-row{display:grid;grid-template-columns:1fr auto;gap:5px 24px;padding:22px 0;border-bottom:1px solid var(--line)}.experience-row:first-child{padding-top:0}.experience-row h3{font-size:17px;font-weight:500;margin:0}.experience-row p,.experience-row time{margin:0;color:var(--muted);font-size:12px}.experience-row time{grid-column:2;grid-row:1/3;text-align:right}.beyond{display:grid;grid-template-columns:1fr 1fr;background:var(--warm);margin-block:16px 60px}.beyond-copy{padding:44px}.beyond h2{font:400 45px/1.1 var(--serif);letter-spacing:-.035em;margin:20px 0}.beyond p{font-size:15px;color:var(--muted);margin:0 0 16px}.beyond img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;min-height:330px}.beyond .text-link{margin-top:20px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:65px 90px;border-top:1px solid var(--line)}.contact-section h2{font:400 clamp(42px,5vw,66px)/1.1 var(--serif);letter-spacing:-.045em;margin:20px 0}.contact-section p{color:var(--muted);max-width:370px;font-size:14px;margin:0 0 26px}.contact-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.contact-form label{display:block;font-size:12px;margin-bottom:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);border-radius:0;padding:9px 0;margin-bottom:22px}.contact-form textarea{resize:vertical;min-height:95px}.contact-form .button{margin-top:5px}.site-footer{border-top:1px solid var(--line);padding-top:36px;padding-bottom:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}.site-footer p{font-size:12px;color:var(--muted);margin:5px 0}.footer-links{display:flex;gap:24px;font-size:12px;align-items:center}.footer-bottom{display:flex;width:100%;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.footer-bottom div{display:flex;gap:20px}.page-top{padding:64px 0 30px}.page-heading{font:400 clamp(42px,5vw,68px)/1.12 var(--serif);color:var(--ink);letter-spacing:-.045em}.page-description{color:var(--muted);max-width:680px;font-size:17px}.page-bottom{padding:15px 0 75px}.archive-row{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.archive-row:first-child{border-top:1px solid var(--line)}.archive-row h2,.archive-row h3{font-size:21px;font-weight:550;line-height:1.3;letter-spacing:-.02em;margin:8px 0}.archive-row p{color:var(--muted);font-size:14px;margin:0;max-width:710px}.archive-row:hover h3,.archive-row:hover h2{color:var(--accent)}.archive-row .row-arrow{color:var(--accent);font-size:24px;flex-shrink:0}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 0;padding:0}.tag{font-size:10px;letter-spacing:.04em;color:var(--muted);background:var(--surface);padding:3px 7px;border-radius:2px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.filter-button{border:1px solid var(--line);border-radius:2px;padding:8px 13px;background:transparent;font-size:12px}.filter-button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.results-count{color:var(--muted);font-size:12px}.archive-heading{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:55px 0 4px;padding-bottom:14px}.measure,.article-header,.reading-layout,.about-intro{--measure: 740px;max-width:var(--measure);margin-inline:auto}.article-header.with-toc,.reading-layout.with-toc{--measure: 1004px}.article-header h1{font:400 clamp(37px,4.4vw,62px)/1.1 var(--serif);letter-spacing:-.04em;margin:22px 0}.article-header .article-summary{font-size:18px;color:var(--muted);max-width:720px}.article-meta{margin-top:30px}.article-links{display:flex;flex-wrap:wrap;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article-links a{display:inline-flex;align-items:center;gap:10px;padding:13px 0;margin-right:28px;font-size:13px;color:var(--muted)}.article-links a:hover{color:var(--accent)}.talk-row{display:grid;grid-template-columns:1fr auto;gap:20px 48px;align-items:start;padding:26px 0;border-bottom:1px solid var(--line)}.talk-list>.talk-row:first-child{border-top:1px solid var(--line)}.talk-row .eyebrow span+span:before{content:"·";margin-right:12px}.talk-row h3{font-size:21px;font-weight:550;line-height:1.3;letter-spacing:-.02em;margin:8px 0}.talk-row h3 .row-arrow{font-size:18px;margin-left:6px;opacity:0;transition:opacity .2s}.talk-row h3 a:hover{color:var(--accent)}.talk-row h3 a:hover .row-arrow,.talk-row h3 a:focus-visible .row-arrow{opacity:1}.talk-row p{color:var(--muted);font-size:14px;margin:0;max-width:640px}.talk-row .talk-place{font-size:12px;margin-top:6px}.talk-resources{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:4px}.talk-resources a{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:3px;white-space:nowrap}.talk-resources a:hover{color:var(--accent);border-color:var(--accent)}.talk-row.compact{grid-template-columns:1fr;gap:14px}.talk-row.compact .talk-resources{flex-direction:row;align-items:center;justify-content:flex-start;gap:20px;padding-top:0}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:64px;align-items:start}.reading-layout.with-toc{grid-template-columns:minmax(0,740px) 200px}.article-toc{position:sticky;top:120px;font-size:12px;border-left:1px solid var(--line);padding-left:20px}.article-toc a{display:block;color:var(--muted);padding:6px 0;line-height:1.5}.article-toc a:hover{color:var(--accent)}article{color:var(--tw-prose-body);max-width:full}article :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}article :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}article :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}article :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}article :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}article :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}article :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}article :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}article :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}article :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}article :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}article :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}article :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}article :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}article :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}article :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}article :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}article :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}article :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}article :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}article :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}article :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}article :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}article :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}article :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}article :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}article :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}article :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}article :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}article :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}article :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}article :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}article :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}article :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}article :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}article :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}article :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}article :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}article :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}article :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}article :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}article :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}article :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}article :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}article :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}article :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}article :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}article :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}article :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}article :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}article :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}article :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}article :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}article :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}article :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}article{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}article :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}article :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}article :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}article :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}article :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}article :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}article :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}article :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}article :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}article :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}article :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}article :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}article :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}article :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}article :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}article :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}article :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}article :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}article :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}article :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}article :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}article :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}article :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}article :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}article{max-width:none;color:var(--ink);font-size:16px;line-height:1.9;overflow-wrap:anywhere;--tw-prose-body: var(--ink);--tw-prose-headings: var(--ink);--tw-prose-links: var(--accent);--tw-prose-bold: var(--ink);--tw-prose-quotes: var(--ink);--tw-prose-code: var(--ink);--tw-prose-counters: var(--muted);--tw-prose-bullets: var(--muted);--tw-prose-hr: var(--line);--tw-prose-th-borders: var(--line);--tw-prose-td-borders: var(--line)}html.dark article{--tw-prose-body: var(--ink);--tw-prose-headings: var(--ink);--tw-prose-links: var(--accent);--tw-prose-bold: var(--ink);--tw-prose-quotes: var(--ink);--tw-prose-code: var(--ink)}article :is(h1,h2,h3,h4){scroll-margin-top:115px;line-height:1.3}article h2{font-size:25px;font-weight:600;letter-spacing:-.02em}article h3{font-size:22px}article h4{font-size:18px}article img{height:auto;margin:28px auto;border-radius:3px}article pre{overflow-x:auto}article table{display:block;overflow-x:auto;font-size:13px}article blockquote{border-color:var(--accent)}article a{text-underline-offset:4px}article iframe{max-width:100%}.article-pagination{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:30px;border-top:1px solid var(--line);margin-top:45px}.article-pagination a{font-size:15px}.article-pagination small{display:block;color:var(--muted);margin-bottom:8px}.article-pagination a:last-child{text-align:right}.work-entry{scroll-margin-top:115px;display:grid;grid-template-columns:190px 1fr;gap:40px;border-top:1px solid var(--line);padding:35px 0}.work-entry h2{font-size:23px;font-weight:550;letter-spacing:-.02em;margin:0 0 8px}.work-entry .role{color:var(--accent);font-size:14px;margin:0 0 6px}.work-entry .location{color:var(--muted);font-size:12px}.work-entry article{font-size:15px}.about-links{display:flex;flex-wrap:wrap;gap:20px;margin:30px 0}.empty-state{padding:40px 0;color:var(--muted)}.search-input{width:100%;padding:17px 20px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:2px}.search-help{color:var(--muted);font-size:13px;margin-top:15px}.animate,.animate.left,.animate.right{opacity:1;transform:none}.blend{transition:color .2s,background .2s}.slides-panel{margin:0 0 40px}.slides-bar{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:12px}.slides-bar .eyebrow{display:block}.slides-actions{display:flex;gap:24px}.slides-actions a,.slides-actions button{background:none;border:0;padding:0 0 3px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.slides-actions a:hover,.slides-actions button:hover{color:var(--accent);border-color:var(--accent)}.slides-frame{position:relative;height:60vh;border:1px solid var(--line);background:var(--surface);transition:height .3s}.slides-frame.expanded{height:82vh}.slides-frame iframe{width:100%;height:100%;border:0;display:block}.slides-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;background:var(--surface);color:var(--muted);font-size:13px}.slides-state a{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:2px}.slides-fallback{border:1px solid var(--line);padding:24px;margin:0 0 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.slides-fallback p{margin:0;color:var(--muted);font-size:13px}.bg-white,.dark .dark\:bg-black{background-color:var(--paper)}.text-black,.dark .dark\:text-white{color:var(--ink)}@media (max-width: 1000px){.shell{width:calc(100% - 56px)}.desktop-nav{gap:20px}.hero-grid{grid-template-columns:1fr 200px;gap:35px}.portrait img{width:200px;height:240px}.hero h1{font-size:72px}.lead .feature-copy{padding:28px}.experience-grid,.contact-section{gap:40px}.reading-layout.with-toc{grid-template-columns:minmax(0,1fr) 170px;gap:30px}}@media (max-width: 760px){.shell{width:calc(100% - 40px)}.header-inner{height:72px}.desktop-nav,.header-contact{display:none}.mobile-menu{display:block;font-size:13px}.mobile-menu nav{position:absolute;top:71px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.header-actions{gap:15px}.wordmark{font-size:19px}.hero{padding:44px 0 0}.hero-grid{grid-template-columns:1fr;gap:25px}.hero h1{font-size:clamp(49px,10vw,72px);margin:24px 0}.hero-intro{font-size:15px}.portrait{display:none}.hero-foot{margin-top:35px;grid-template-columns:minmax(0,1fr);gap:10px;font-size:11px}.hero-foot-past{justify-content:flex-start;text-align:left}.hero-actions{gap:22px}.section{padding-block:38px}.section-heading{align-items:flex-start}.section-heading .text-link{font-size:12px;white-space:nowrap;margin-top:32px;gap:10px}.selected-grid{grid-template-columns:1fr;gap:32px}.project-feature.lead{display:block}.lead .project-visual{aspect-ratio:1.6;min-height:0}.lead .feature-copy{padding:25px}.feature-copy h3{font-size:29px}.project-visual{padding:22px}.experience-grid,.beyond,.notes-grid,.contact-section{grid-template-columns:1fr;gap:30px}.experience-row time{font-size:11px}.beyond{gap:0;margin-bottom:38px}.beyond-copy{padding:30px}.beyond img{min-height:0;max-height:320px}.beyond h2{font-size:38px}.contact-section{padding:40px 0 55px}.footer-links{gap:18px}.footer-bottom{flex-direction:column}.page-top{padding-top:40px}.reading-layout{display:flex;flex-direction:column;gap:25px}.reading-layout>div{min-width:0;width:100%}.article-toc{position:static;order:-1;width:100%}.work-entry{grid-template-columns:1fr;gap:14px}.talk-row{grid-template-columns:1fr;gap:16px}.talk-resources{flex-direction:row;align-items:center;justify-content:flex-start;gap:20px;padding-top:0}.talk-row h3 .row-arrow{opacity:1}.article-links a{margin-right:22px}.article-header .article-summary{font-size:16px}.archive-row h3{font-size:25px}.eyebrow{font-size:10px}.form-row{gap:15px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-neutral-100:hover{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity))}.group:hover .group-hover\:text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.dark\:border-neutral-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.dark\:border-white\/20:is(.dark *){border-color:#fff3}.dark\:border-white\/25:is(.dark *){border-color:#ffffff40}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-neutral-400:is(.dark *){--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity))}.dark\:text-white\/75:is(.dark *){color:#ffffffbf}.dark\:hover\:bg-white\/15:hover:is(.dark *){background-color:#ffffff26}.hover\:dark\:bg-neutral-800:is(.dark *):hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.group:hover .group-hover\:dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (min-width: 768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
