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