:root{--paper:#f6f5f0;--ink:#202721;--muted:#586257;--line:#d9ddd1;--green:#456343;--lime:#e4eccf;--serif:Georgia,'Times New Roman',serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button,summary,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}::selection{background:#dce9b4}[hidden]{display:none!important}.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:16px;padding:12px;background:var(--ink);color:#fff;z-index:100;transform:translateY(-200%)}.skip-link:focus{transform:none}.header{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:32px;font-weight:750;letter-spacing:-2px}.brand>span{color:#8d9588;font-weight:350}.brand small{font:10px var(--mono);letter-spacing:1.6px}.header nav{display:flex;gap:28px;font-size:13px}.header nav a{display:flex;align-items:center;gap:6px;min-height:44px}.header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.5px;color:var(--muted);margin:0 0 22px}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(48px,5.3vw,76px);font-weight:520;line-height:1.08;letter-spacing:-3.6px;margin:0 0 26px}h2{font-size:38px;font-weight:500;line-height:1.2;letter-spacing:-1.5px;margin:0}em{font-family:var(--serif);font-weight:400;color:var(--green);letter-spacing:-.04em}.lede{font-size:17px;line-height:1.85;color:var(--muted);max-width:620px;margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;min-height:48px;padding:14px 20px;border-radius:4px}.button:hover{background:var(--green)}.text-link{font-size:13px}.hero{padding:75px 0 78px;display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:center}.hero-actions{display:flex;align-items:center;gap:28px}.index-card{border:1px solid #ccd7bf;background:var(--lime);padding:30px;border-radius:5px;transform:rotate(1deg);box-shadow:0 12px 30px #2c3a2310}.index-card>.eyebrow{display:block;margin-bottom:25px}.index-card ol{padding:0;margin:0;list-style:none}.index-card li{display:flex;gap:18px;padding:16px 0;border-top:1px solid #bdc9ab}.index-card li>span{font:11px var(--mono);color:var(--green);padding-top:4px}.index-card strong{font-size:19px;font-weight:550;letter-spacing:-.5px}.index-card p{margin:4px 0 0;font-size:12px;color:#4e5c46;line-height:1.7}.card-foot{display:block;font:8px var(--mono);letter-spacing:1.4px;border-top:1px solid #bdc9ab;padding-top:18px;margin-top:10px;color:#4e5c46}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.library{padding-bottom:72px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{display:block;padding:26px 24px;background:#eceee4;border:1px solid var(--line);border-radius:4px;transition:background .15s}.project-card:hover{background:#e1e7d5;border-color:#abb89f}.project-pageweft{background:#e4ebe6}.project-sonaweft{background:#ece7dd}.project-number{font:9px/1.7 var(--mono);letter-spacing:.7px;color:var(--muted);display:block}.project-card h3{font-size:24px;font-weight:550;letter-spacing:-.8px;margin:25px 0 12px;display:flex;justify-content:space-between;gap:12px}.project-card h3 span{font-size:19px;color:var(--green)}.project-card>p{font-size:13px;color:var(--muted);min-height:66px;line-height:1.75;margin:0 0 28px}.project-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #cdd4c5;padding-top:15px;font:9px/1.6 var(--mono);color:var(--muted)}.search-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;border-block:1px solid var(--line);padding:42px 0 48px;margin-bottom:68px}.search-section>div>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:275px}.search-panel label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.search-row{display:flex;gap:12px}.search-row input{width:100%;min-width:0;border:1px solid #bbc4b5;border-radius:4px;padding:15px;background:#fdfcf8;color:var(--ink);font-size:14px;min-height:50px}.search-row button{border:1px solid var(--green);border-radius:4px;background:var(--lime);padding:10px 18px;min-height:44px}#search-status{font-size:12px;color:var(--muted);min-height:21px;margin:12px 0}.search-results{list-style:none;padding:0;margin:0}.search-results li{border-top:1px solid var(--line)}.search-results a{display:block;padding:15px 0}.search-results a:hover strong{text-decoration:underline;text-underline-offset:4px}.search-results strong{font-size:15px;display:block}.search-results span{font:10px var(--mono);color:var(--green);display:block;margin-bottom:4px}.search-results p{font-size:12px;color:var(--muted);margin:5px 0 0}.journal-preview{padding-bottom:72px}.journal-entry{display:grid;grid-template-columns:130px 1fr 25px;gap:20px;border-top:1px solid var(--line);padding:24px 0}.journal-entry time{font:10px/1.7 var(--mono);color:var(--muted);padding-top:6px}.journal-entry h3{font-size:21px;letter-spacing:-.5px;margin:0 0 5px;font-weight:550}.journal-entry p{font-size:13px;color:var(--muted);margin:0}.journal-entry:hover h3{text-decoration:underline;text-underline-offset:5px}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;padding-block:25px;font:10px/1.8 var(--mono);color:var(--muted)}.footer a{display:inline-flex;align-items:center;min-height:32px}.section-page{padding-top:30px;padding-bottom:75px}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted)}.section-intro{padding:38px 0 24px;max-width:850px}.section-intro h1{font-size:64px}.section-copy{max-width:820px;margin-bottom:40px}.document-list{max-width:1e3px}.document-row{display:grid;grid-template-columns:125px minmax(0,1fr)24px;gap:24px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}.badge{display:inline-block;font:9px/1.6 var(--mono);letter-spacing:.5px;border:1px solid #c9d1c0;border-radius:3px;background:#ecf0e2;padding:5px 8px;justify-self:start;max-width:100%}.document-row h2{font-size:22px;letter-spacing:-.5px;line-height:1.4;margin:0 0 5px}.document-row p{font-size:13px;color:var(--muted);margin:0;line-height:1.8}.document-row:hover h2{text-decoration:underline;text-underline-offset:4px}.reading-page{padding-top:25px;padding-bottom:65px}.breadcrumbs{font-size:12px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}.breadcrumbs span{align-self:center}.article-header{padding:32px 0 28px;max-width:960px}.article-header h1{font-size:clamp(38px,4.5vw,60px);letter-spacing:-2px;line-height:1.15}.article-header .eyebrow{font-size:10px;text-transform:uppercase;margin-bottom:18px}.article-header .lede{font-size:16px;margin-bottom:18px}.article-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font:10px/1.7 var(--mono);color:var(--muted);align-items:center}.article-meta a{min-height:40px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.notice{max-width:960px;border-left:3px solid #718660;padding:14px 18px;background:#eaeddf;color:#46553d;font-size:12px;line-height:1.9;margin-bottom:36px}.reading-grid{display:grid;grid-template-columns:minmax(0,800px)minmax(180px,1fr);gap:65px;align-items:start}.prose{min-width:0;font-size:15px;line-height:1.9}.prose h1{font-size:34px;letter-spacing:-1px}.prose h2{font-size:27px;letter-spacing:-.7px;margin:44px 0 18px;scroll-margin-top:24px}.prose h3{font-size:21px;letter-spacing:-.4px;margin:30px 0 14px}.prose p{margin:0 0 19px}.prose li{margin:9px 0}.prose ul,.prose ol{padding-left:24px}.prose a{color:#34572e;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.prose code{font:12px/1.7 var(--mono);background:#e9ecdf;padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}.prose pre{padding:20px;background:#23362a;color:#ecf1df;border-radius:4px;overflow:auto;max-width:100%;font:12px/1.8 var(--mono);tab-size:2;scrollbar-gutter:stable}.prose pre code{background:0 0;color:inherit;font:inherit;padding:0;overflow-wrap:normal}.prose .highlight{position:relative}.prose .highlight pre{margin:0}.prose .highlight{margin:22px 0}.copy-code{position:absolute;right:8px;top:8px;padding:8px 10px;min-height:36px;border:1px solid #a2b292;background:#23362a;color:#ecf1df;border-radius:3px;font:10px var(--mono)}.copy-code:focus-visible{outline-color:#ecf1df}.prose .highlight:has(.copy-code) pre{padding-top:48px}.table-wrap{max-width:100%;overflow:auto;margin:22px 0;scrollbar-gutter:stable}.table-wrap:focus-visible{outline:2px solid var(--green);outline-offset:3px}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;min-width:100%;font-size:12px;line-height:1.8}.prose th,.prose td{border:1px solid var(--line);padding:12px 15px;text-align:left;min-width:130px}.prose th{background:#e9eddf;font-weight:600}.prose td:first-child{font-weight:500}.prose blockquote{margin:24px 0;border-left:3px solid #879b70;padding:12px 20px;background:#eef0e7;font-size:14px}.prose blockquote p:last-child{margin:0}.prose hr{border:0;border-top:1px solid var(--line);margin:35px 0}.prose img{max-width:100%;height:auto}.toc{position:sticky;top:24px;border-left:1px solid var(--line);padding-left:22px;font-size:12px}.toc summary{font-size:11px;font-weight:650;cursor:pointer;min-height:32px}.toc nav>ul{padding:0;list-style:none}.toc ul ul{padding-left:15px;list-style:none}.toc li{margin:12px 0;line-height:1.6;overflow-wrap:anywhere}.toc a{color:var(--muted)}.toc a:hover{text-decoration:underline}.toc>p{font:9px/1.8 var(--mono);color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.article-end{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:44px;font-size:12px}@media(min-width:1400px){.hero{gap:100px}.index-card{padding:34px}}@media(max-width:1000px){.shell{width:calc(100% - 56px)}.hero{gap:35px;grid-template-columns:1.4fr 1fr}h1{font-size:56px}.index-card{padding:23px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-section{gap:40px;grid-template-columns:1fr 1.3fr}.reading-grid{gap:30px;grid-template-columns:minmax(0,1fr)190px}.toc{padding-left:17px}.footer{font-size:9px}}@media(max-width:700px){.shell{width:calc(100% - 40px)}.header{height:auto;min-height:105px;flex-wrap:wrap;gap:0;padding-block:12px}.brand{font-size:29px}.header nav{gap:24px;font-size:12px;width:100%}.header nav a{min-height:40px}.hero{grid-template-columns:1fr;gap:32px;padding:40px 0 55px}h1{font-size:clamp(43px,9vw,58px);letter-spacing:-2.3px}.lede{font-size:15px}.hero-actions{gap:22px;flex-wrap:wrap}.index-card{transform:none;padding:24px}.index-card li{padding:13px 0}.index-card>.eyebrow{margin-bottom:18px}.project-grid{grid-template-columns:1fr}.project-card{padding:24px}.project-card>p{min-height:0;max-width:440px}.project-card h3{margin-top:20px}.section-heading{display:block}.section-heading>p{margin-top:18px}.section-heading .text-link{display:inline-block;margin-top:20px}h2{font-size:32px}.library{padding-bottom:45px}.search-section{grid-template-columns:1fr;gap:20px;padding-block:32px;margin-bottom:44px}.search-section>div>p:not(.eyebrow){max-width:450px}.journal-entry{grid-template-columns:minmax(0,1fr)20px;gap:5px 15px;padding-block:22px}.journal-entry time{grid-column:1/-1}.journal-entry h3{font-size:20px}.journal-preview{padding-bottom:40px}.footer{flex-wrap:wrap;gap:8px 24px}.footer>span{width:100%}.section-intro{padding-top:26px}.section-intro h1{font-size:48px;letter-spacing:-2px}.document-row{grid-template-columns:minmax(0,1fr)20px;gap:10px}.document-row .badge{grid-column:1/-1}.document-row h2{font-size:21px}.article-header{padding-top:24px}.article-header h1{font-size:38px}.article-meta{gap:6px 20px}.reading-grid{display:flex;flex-direction:column;gap:24px}.toc{position:static;order:-1;border:1px solid var(--line);padding:15px 18px;width:100%;background:#eff0e7}.toc>p{display:none}.toc summary{min-height:32px}.toc nav>ul{margin-bottom:0}.prose{width:100%;font-size:14px}.prose h2{font-size:25px;margin-top:34px}.prose h3{font-size:20px}.prose pre{font-size:11px;padding:16px}.notice{margin-bottom:24px}.breadcrumbs{font-size:11px}.section-copy{margin-bottom:28px}}@media print{.header,.footer,.toc,.skip-link,.copy-code,.article-end{display:none!important}.shell{width:100%}.reading-grid{display:block}.article-header h1{font-size:30pt}.prose pre{white-space:pre-wrap;background:#eee;color:#111}.prose a{color:#111}.table-wrap{overflow:visible}.prose table{font-size:9pt}.notice{break-inside:avoid}.reading-page{padding:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}.environment-preview{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:36px;border:1px solid var(--line);background:#e9eddf;margin:0 0 60px;border-radius:6px}.environment-preview p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:440px}.environment-preview-art{display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:12px;font:12px var(--mono)}.environment-preview-art span{padding:14px;background:var(--paper);border:1px solid #c4ceb8;border-radius:4px}.environment-preview-art i{font-style:normal;color:var(--green)}.environment-preview-art b{width:100%;text-align:center;margin-top:20px;font-weight:400}.environment-preview:hover h2 em{text-decoration:underline;text-underline-offset:8px}@media(max-width:700px){.header nav{gap:16px;flex-wrap:wrap}.environment-preview{grid-template-columns:1fr;gap:12px;padding:24px;margin-bottom:40px}.environment-preview-art{font-size:10px;gap:8px}.environment-preview-art span{padding:10px}}