@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display:ital@0;1&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--paper:#f7f8f3;--ink:#242b25;--muted:#6c736b;--line:#dcded5;--green:#365a41;--lime:#e1e9b9;--wash:#edf0e6;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"IBM Plex Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}:is(a:focus-visible,button:focus-visible,input:focus-visible){outline:2px solid var(--green);outline-offset:5px}a:hover{color:var(--green)}button{color:inherit}.wrap{width:min(1160px,100% - 96px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;height:106px;display:flex}.brand{letter-spacing:-1.05px;white-space:nowrap;align-items:center;font-size:25px;font-weight:700;display:flex}.brand-light{font-weight:450}.brand-period{color:var(--green)}.brand-mark{flex-direction:column;gap:4px;width:23px;height:24px;margin-right:13px;display:flex;transform:rotate(-7deg)}.brand-mark span{border:1.7px solid var(--green);border-radius:1px;width:22px;height:5px}.brand-mark span:nth-child(2){width:18px}.brand-mark span:nth-child(3){width:14px}nav{align-items:center;gap:31px;font-size:13px;font-weight:500;display:flex}nav>a{padding:8px 0;position:relative}nav>a[aria-current=page]:after{content:"";background:var(--green);height:2px;position:absolute;bottom:0;left:0;right:0}.search-open{border:0;border-left:1px solid var(--line);background:0 0;align-items:center;gap:9px;padding:9px 0 9px 25px;display:flex}.search-open svg{width:19px;height:19px}.search-label{display:none}.intro{padding:57px 0 52px;position:relative}.eyebrow,.section-kicker{font:11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1.55px;color:var(--green);align-items:center;gap:9px;display:flex}.eyebrow:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px}h1,h2,h3,p{margin-top:0}.intro h1{font:normal clamp(44px,4.7vw,62px)/1.08 var(--serif);letter-spacing:-1.9px;max-width:900px;margin:20px 0 19px}.intro h1 em{color:var(--green);font-weight:400}.intro p{color:var(--muted);max-width:530px;margin-bottom:0;font-size:15px;line-height:1.8}.intro .issue{writing-mode:vertical-rl;color:#939b90;font:10px/1.5 var(--mono);letter-spacing:1.1px;position:absolute;bottom:59px;right:0}.content-grid{grid-template-columns:minmax(0,1fr) 284px;gap:53px;padding-bottom:65px;display:grid}.section-heading{border-top:1px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:15px 0 20px;display:flex}.section-heading h2{font:500 12px/1.5 var(--sans);align-items:center;gap:9px;margin:0;display:flex}.section-heading h2:before{content:"";background:var(--green);width:5px;height:5px}.subtle-link{color:var(--muted);font-size:11px}.subtle-link span{color:var(--green);margin-left:5px}.feature{border:1px solid var(--line);background:#fcfcf8;grid-template-columns:1.13fr 1fr;min-height:256px;transition:border-color .2s;display:grid}.feature:hover{border-color:#96a08e}.feature-copy{flex-direction:column;align-items:flex-start;padding:28px 25px 24px;display:flex}.meta{color:var(--muted);font:10px/1.5 var(--mono);flex-wrap:wrap;align-items:center;gap:9px;display:flex}.tag{font:10px/1.5 var(--sans);background:var(--wash);color:var(--green);border-radius:3px;padding:2px 7px}.example-inline{color:#777d72;font-size:10px}.feature h2{font:normal 29px/1.15 var(--serif);letter-spacing:-.45px;max-width:260px;margin:18px 0 12px}.feature p{color:var(--muted);margin-bottom:19px;font-size:12px;line-height:1.75}.read-link{align-items:center;gap:15px;margin-top:auto;font-size:11px;font-weight:550;display:flex}.read-link span{color:var(--green);font-size:19px;line-height:1}.feature-art{isolation:isolate;background:#e8eddf;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.feature-art:before{content:"";opacity:.45;z-index:-1;background-image:radial-gradient(#b6c1aa 1px,#0000 1px);background-size:14px 14px;position:absolute;inset:0}.art-files{width:190px;height:173px;position:relative}.art-sheet{background:#f9faf4;border:1px solid #bdc8b2;border-radius:5px;width:140px;height:164px;position:absolute;top:7px;left:23px;transform:rotate(-8deg);box-shadow:0 8px 15px #394b3320}.art-sheet.back{background:#d7dfc9;top:2px;left:43px;transform:rotate(9deg)}.art-sheet.front{flex-direction:column;gap:12px;padding:13px;display:flex}.art-top{font:8px var(--mono);color:#758269;border-bottom:1px solid #d8dfcf;justify-content:space-between;padding-bottom:10px;display:flex}.art-code{font:9px/1.9 var(--mono);color:#83976e}.art-code b{color:#365a41;font-weight:500}.art-lines{background:#dce2d2;width:70%;height:3px;transform:translateY(4px);box-shadow:0 8px #e3e7db}.art-label{background:var(--green);color:#f5f7e9;font:10px var(--mono);border:1px solid #253e2c;padding:8px 15px;position:absolute;bottom:-1px;right:-6px;transform:rotate(4deg);box-shadow:0 4px 7px #243d2922}.art-spark{color:#748b61;font-size:28px;position:absolute;top:23px;right:19px}.journal-tools{border-bottom:1px solid var(--line);align-items:center;gap:18px;margin:25px 0 0;display:flex}.filter{color:var(--muted);background:0 0;border:0;padding:10px 0 12px;font-size:11px;position:relative}.filter[aria-pressed=true]{color:var(--ink);font-weight:650}.filter[aria-pressed=true]:after{content:"";background:var(--green);height:2px;position:absolute;bottom:-1px;left:0;right:0}.post{border-bottom:1px solid var(--line);grid-template-columns:78px minmax(0,1fr) 22px;align-items:start;gap:18px;padding:26px 0;display:grid}.post-date{color:var(--muted);font:10px/1.9 var(--mono);padding-top:3px}.post h3{font:normal 24px/1.2 var(--serif);letter-spacing:-.25px;margin:7px 0 9px}.post p{color:var(--muted);max-width:490px;margin:0;font-size:12px;line-height:1.8}.post-arrow{color:#7b8873;padding-top:28px;font-size:18px}.post:hover h3{color:var(--green)}.all-posts{justify-content:center;gap:12px;padding-top:25px;font-size:11px;display:flex}.all-posts span{color:var(--green)}.sidebar .section-heading{padding-bottom:17px}.project-mini{border-bottom:1px solid var(--line);grid-template-columns:39px minmax(0,1fr) 15px;align-items:start;gap:12px;padding:13px 0 18px;display:grid}.project-icon{color:#587247;background:#e8eddd;border:1px solid #d7decd;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.project-icon svg{stroke-width:1.3px;width:21px;height:21px}.project-icon.amber{color:#9c8150;background:#f2eadb;border-color:#e7ddca}.project-icon.lilac{color:#887598;background:#eae8f0;border-color:#dbd7e6}.project-mini h3{margin:0 0 3px;font-size:12px;font-weight:600;line-height:1.6}.project-mini p{color:var(--muted);margin-bottom:8px;font-size:11px;line-height:1.6}.project-mini .mini-arrow{color:#929c8c;padding-top:3px;font-size:14px}.status{font:9px/1.6 var(--mono);color:#77806f;align-items:center;gap:5px;display:flex}.status:before{content:"";border:1px solid #8c9c7c;border-radius:50%;width:4px;height:4px}.sidebar-note{background:#eef0e5;border:1px solid #e2e5d7;margin-top:30px;padding:21px 20px 19px}.note-label{font:10px var(--mono);color:#657555;align-items:center;gap:7px;margin-bottom:12px;display:flex}.note-label svg{width:14px;height:14px}.sidebar-note h3{font:normal 22px/1.2 var(--serif);margin:0 0 9px}.sidebar-note p{color:var(--muted);margin-bottom:15px;font-size:11px;line-height:1.85}.sidebar-note a{font-size:10px;font-weight:550}.topics{padding-top:28px}.topics h3{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:14px}.topic-list{flex-wrap:wrap;gap:7px;display:flex}.topic-list a{border:1px solid var(--line);border-radius:3px;padding:4px 9px;font-size:10px}.topic-list a:hover{background:var(--wash);border-color:#aebca1}.sample-note{color:#808778;margin:23px 0 0;font-size:10px;line-height:1.75}.sample-note span{color:#68755b;font:9px var(--mono);margin-bottom:4px;display:block}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding-block:26px 34px;font-size:10px;display:flex}.site-footer>div{align-items:center;gap:20px;display:flex}.footer-brand{color:var(--ink);letter-spacing:-.3px;font-size:12px;font-weight:600}.footer-links{white-space:nowrap}.page-intro{padding-bottom:35px}.page-intro p{max-width:650px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 0 70px;display:grid}.project-card{border:1px solid var(--line);background:#fcfcf8}.project-card:hover{border-color:#8b9d7f}.project-visual{background:#e8eddd;place-items:center;height:205px;display:grid;position:relative;overflow:hidden}.project-visual.amber{background:#f1ebdf}.project-visual.lilac{background:#ebe8ef}.project-visual .project-icon{background:#f9faf5;border-radius:17px;width:88px;height:88px;transform:rotate(-9deg);box-shadow:8px 13px #365a4110}.project-visual .project-icon svg{width:43px;height:43px}.project-number{color:#839478;font:10px var(--mono);position:absolute;top:16px;left:18px}.project-caption{padding:22px}.project-caption h2{font:normal 27px var(--serif);margin:9px 0}.project-caption p{color:var(--muted);min-height:58px;font-size:12px}.project-caption .read-link{margin-top:20px}.article-layout{grid-template-columns:minmax(0,700px) 220px;align-items:start;gap:80px;padding-bottom:85px;display:grid}.article-top{padding:35px 0 30px}.back-link{color:var(--muted);font-size:11px}.article-header{border-bottom:1px solid var(--line);margin-bottom:30px;padding:16px 0 30px}.article-header h1{font:normal clamp(34px,4vw,48px)/1.12 var(--serif);letter-spacing:-.9px;margin:19px 0}.article-lede{color:var(--muted);margin:0;font-size:18px;line-height:1.7}.article-body{color:#495046;font-size:16px;line-height:1.95}.article-body h2{font:normal 30px/1.3 var(--serif);color:var(--ink);margin:33px 0 14px}.article-body p{margin-bottom:22px}.article-body ul{margin-bottom:24px;padding-left:22px}.article-body li{padding-left:5px}.article-body blockquote{font:normal 24px/1.45 var(--serif);color:var(--green);border-left:3px solid #a6b58a;margin:30px 0;padding:12px 0 12px 24px}.example-banner{color:#6c775b;background:#edf0e3;border:1px solid #dfe5d4;margin-bottom:30px;padding:12px 15px;font-size:11px;line-height:1.7}.article-aside{border-top:1px solid var(--line);color:var(--muted);margin-top:16px;padding-top:18px;font-size:12px}.article-aside h2{color:var(--ink);font-size:11px;font-weight:600}.article-aside a{margin:10px 0;display:block}.article-end{border-top:1px solid var(--line);margin-top:40px;padding-top:22px}.archive-year{font:normal 32px var(--serif);margin:0;padding:20px 0 0}.archive{max-width:820px;padding-bottom:70px}.empty-state{color:var(--muted);padding:35px 0;font-size:13px}.about{max-width:700px;padding-bottom:80px}.about p{color:#5e675b;font-size:16px;line-height:1.9}.about h2{font:normal 29px var(--serif);margin-top:30px}.about a{text-underline-offset:4px;text-decoration:underline}dialog{background:var(--paper);width:min(640px,100% - 32px);max-height:85vh;color:var(--ink);border:1px solid #d3d9ca;border-radius:8px;padding:28px;box-shadow:0 25px 90px #22301d35}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#20281ed0}.search-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.search-head h2{font:normal 29px var(--serif);margin:0}.search-head button{background:0 0;border:0;padding:4px 8px;font-size:28px;line-height:1}.search-head+label+input{width:100%;color:var(--ink);background:#fff;border:1px solid #b5c1a8;border-radius:3px;padding:13px 15px;font-size:15px}.search-count{color:var(--muted);margin:16px 0 6px;font-size:11px}.search-result{border-bottom:1px solid var(--line);padding:15px 3px;display:block}.search-result h3{margin:4px 0;font-size:15px}.search-result p{color:var(--muted);margin:0;font-size:12px}.search-hint{color:var(--muted);margin:18px 0 0;font-size:10px}kbd{font-family:var(--mono);border:1px solid var(--line);border-radius:3px;padding:2px 4px}.skip-link{z-index:100;background:var(--green);color:#fff;padding:10px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.noscript{padding:30px}@media (min-width:1500px){.wrap{width:min(1200px,100% - 140px)}.intro{padding-top:65px;padding-bottom:58px}.content-grid{grid-template-columns:minmax(0,1fr) 295px;gap:65px}.feature{min-height:276px}.feature-copy{padding:30px}.feature h2{font-size:33px}}@media (max-width:1000px){.wrap{width:calc(100% - 64px)}.content-grid{grid-template-columns:minmax(0,1fr) 235px;gap:28px}.feature{grid-template-columns:1.2fr 1fr}.feature-copy{padding:22px 18px}.feature h2{font-size:26px}.art-files{transform:scale(.85)}.post{grid-template-columns:64px minmax(0,1fr) 14px;gap:12px}.post h3{font-size:23px}.site-footer>div{gap:12px}.site-footer>div:first-child>span{display:none}.article-layout{grid-template-columns:minmax(0,1fr) 180px;gap:35px}.project-grid{gap:16px}}@media (max-width:720px){.wrap{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;place-content:center space-between;gap:9px 16px;height:91px}.brand{font-size:22px}.brand-mark{width:20px;margin-right:10px;transform:scale(.9)rotate(-7deg)}nav{gap:20px;font-size:11px}.search-open{padding-left:13px}.intro{padding:38px 0 36px}.eyebrow{letter-spacing:1.2px;font-size:9px}.intro h1{letter-spacing:-1.3px;margin-top:18px;font-size:43px;line-height:1.13}.intro p{max-width:440px;font-size:13px}.intro .issue{display:none}.content-grid{grid-template-columns:1fr;gap:38px;padding-bottom:40px}.section-heading{padding-bottom:17px}.feature{min-height:245px}.feature-copy{padding:22px}.feature h2{font-size:29px}.feature p{font-size:12px}.art-files{transform:scale(.95)}.sidebar{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.sidebar>.section-heading{grid-column:1/-1}.project-list{grid-column:1}.sidebar-note{grid-area:2/2;align-self:start;margin:0}.topics{grid-area:3/2;padding-top:20px}.sample-note{grid-column:1/-1;margin-top:20px}.post{grid-template-columns:62px minmax(0,1fr) 16px;gap:14px;padding:23px 0}.post h3{font-size:23px}.post p{font-size:12px}.site-footer{flex-wrap:wrap;padding-top:23px;font-size:10px}.footer-links{gap:17px!important}.project-grid{grid-template-columns:1fr;gap:22px}.project-card{grid-template-columns:150px 1fr;display:grid}.project-visual{height:100%;min-height:210px}.project-caption{padding:22px}.project-caption p{min-height:0}.article-layout{grid-template-columns:1fr;gap:20px;padding-bottom:40px}.article-aside{margin-top:0}.article-header h1{font-size:39px}.article-lede{font-size:16px}.article-body{font-size:15px}.article-aside a{margin:6px 15px 6px 0;display:inline-block}.about{padding-bottom:45px}.about p{font-size:15px}}@media (max-width:470px){.site-header{justify-content:flex-start;height:114px}.brand{width:100%;font-size:24px}nav{gap:27px;width:100%}.search-open{margin-left:auto;padding:0 3px 0 16px}.intro h1{font-size:40px}.feature{grid-template-columns:1fr 128px;min-height:262px}.feature-copy{padding:21px 17px}.feature h2{font-size:27px}.feature p{font-size:11px}.art-files{flex-shrink:0;transform:scale(.7)}.art-spark{font-size:22px;top:20px;right:6px}.art-label{right:0}.journal-tools{gap:23px}.post{grid-template-columns:1fr 15px;gap:8px}.post-date{grid-column:1/-1;gap:5px;font-size:9px;line-height:1;display:flex}.post-date br{display:none}.post-body{grid-column:1}.post-arrow{grid-column:2;padding-top:30px}.post h3{font-size:25px}.sidebar{display:block}.sidebar-note{margin-top:26px}.topics{padding-top:23px}.sample-note{margin-top:23px}.project-card{grid-template-columns:1fr}.project-visual{height:170px;min-height:170px}.project-caption p{min-height:0}.site-footer{gap:16px}.site-footer>div{gap:12px}.article-header h1{font-size:35px}dialog{padding:21px}.search-head h2{font-size:26px}}.content-grid>section,.content-grid>aside{min-width:0}.feature p,.post p,.project-mini h3{font-size:13px}.project-mini p,.sidebar-note p{font-size:12px}@media (max-width:720px){nav>a,.search-open,.filter{align-items:center;min-height:44px;display:inline-flex}.site-header{min-height:114px}.feature p,.post p{font-size:12px}}@media (max-width:360px){.intro h1{font-size:36px}.feature{grid-template-columns:minmax(0,1fr) 96px}.feature-copy{padding:18px 12px}.feature h2{font-size:24px}.art-files{transform:scale(.6)}.journal-tools{justify-content:space-between;gap:0}.filter{font-size:10px}.section-heading>.subtle-link{font-size:9px}nav{gap:23px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.article-body>h2{margin-top:2em}.article-body>h2:first-child{margin-top:0}.article-body ul,.article-body ol{padding-left:1.5em}.article-body li{margin:.35em 0}.article-body a{text-underline-offset:3px;text-decoration:underline}.article-body p:empty{min-height:1em}.article-body,.article-header{overflow-wrap:anywhere}.state-page{max-width:680px;margin:80px auto;padding:24px}.state-page h1{font:normal 42px/1.1 var(--serif)}.state-page a{text-decoration:underline}
