:root{--paper:#f8f6f0;--white:#fffefa;--ink:#182e32;--muted:#5d6c6b;--line:#d9dfd7;--green:#245d50;--mint:#dce9d8;--orange:#c2613b;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip{position:absolute;top:-100px;left:16px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.wrap{max-width:1200px;margin:auto;padding:0 34px}.preview{background:var(--ink);color:#e4ebe4;text-align:center;padding:7px 18px;font-size:11px;letter-spacing:.09em}.preview span{color:#b8c9bf}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.monogram{display:grid;place-items:center;width:42px;height:42px;background:var(--green);color:white;font:italic 24px var(--serif);border-radius:50%}.brand strong{font-size:21px;letter-spacing:-.8px}.brand small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:28px;font-size:13px}nav a{text-decoration:none}nav a:hover{color:var(--orange)}.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--green)}.hero{display:grid;grid-template-columns:1fr 330px;align-items:end;gap:50px;padding:65px 0 58px}.hero h1{font:normal clamp(46px,6.6vw,84px)/1.04 var(--serif);letter-spacing:-3px;margin:19px 0 0;max-width:750px}.hero h1 em{font-weight:normal;color:var(--green)}.hero-aside{padding-bottom:7px}.hero-aside p{color:var(--muted);font-size:15px;margin:0 0 21px}.text-link{font-size:12px;font-weight:650;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:5px}.text-link span{margin-left:14px}.featured{display:grid;grid-template-columns:1.12fr 1fr;border:1px solid var(--line);background:var(--white);margin-bottom:64px}.feature-art{position:relative;min-height:340px;background:#dfe9da;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:32px;color:var(--green)}.feature-art::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#245d5009 1px,transparent 1px),linear-gradient(90deg,#245d5009 1px,transparent 1px);background-size:28px 28px}.art-top,.art-bottom{position:relative;display:flex;justify-content:space-between;font:10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.1em}.art-top span:last-child{border:1px solid #245d5050;padding:1px 8px;border-radius:20px}.feature-art svg{position:relative;width:100%;height:190px;margin:14px 0}.feature-copy{padding:37px 42px;align-self:center}.feature-copy h2{font:normal clamp(27px,3vw,39px)/1.17 var(--serif);letter-spacing:-1px;margin:16px 0}.feature-copy h2 a{text-decoration:none}.feature-copy p{color:var(--muted);font-size:14px;margin:15px 0 23px}.meta{font-size:11px;color:var(--muted)}.meta b{color:var(--green);font-weight:650}.dot{padding:0 8px;color:#96a49c}.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.section-top h2{font:normal 34px var(--serif);letter-spacing:-1px;margin:0}.section-top .count{font-size:12px;color:var(--muted)}.tools{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;gap:6px}.filters button{border:1px solid transparent;background:none;border-radius:20px;font-size:12px;padding:6px 14px;cursor:pointer;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--ink);color:white}.search{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.search input{width:175px;border:0;border-bottom:1px solid #b7c5ba;background:transparent;padding:7px;color:var(--ink);font-size:12px}.post-row{display:grid;grid-template-columns:58px 1fr 180px;gap:20px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line)}.post-row[hidden]{display:none}.post-number{font:italic 23px var(--serif);color:#93a696;padding-top:2px}.post-row h3{font:normal 27px/1.22 var(--serif);letter-spacing:-.5px;margin:10px 0 8px}.post-row h3 a{text-decoration:none}.post-row h3 a:hover,.feature-copy h2 a:hover{color:var(--green)}.post-row p{font-size:14px;color:var(--muted);max-width:690px;margin:0}.row-side{text-align:right;font-size:11px;color:var(--muted);padding-top:4px}.row-side a{display:inline-block;color:var(--green);margin-top:17px;font-size:13px;text-decoration:none}.empty{padding:40px 0;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;background:var(--mint);padding:38px 42px;margin:64px 0}.about h2{font:normal 31px/1.2 var(--serif);margin:13px 0}.about p{font-size:14px;margin:0;color:#365448}.about p+p{margin-top:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:24px 0 34px;font-size:11px;color:var(--muted)}footer a{color:var(--green)}.article-header{max-width:850px;padding:50px 0 39px}.back{display:inline-block;font-size:12px;color:var(--muted);text-decoration:none;margin-bottom:40px}.article-header h1{font:normal clamp(38px,5.3vw,65px)/1.1 var(--serif);letter-spacing:-1.7px;margin:20px 0}.article-lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:770px}.article-layout{display:grid;grid-template-columns:220px minmax(0,710px);gap:65px;margin-bottom:60px;align-items:start}.article-aside{position:sticky;top:30px;border-top:2px solid var(--green);padding-top:19px;font-size:12px;color:var(--muted)}.article-aside strong{color:var(--green);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.article-aside p{font:italic 21px/1.4 var(--serif);color:var(--ink)}.article-aside nav{display:block}.article-aside nav a{display:block;margin:13px 0;font-size:12px}.prose h2{font:normal 29px/1.25 var(--serif);margin:38px 0 18px;letter-spacing:-.6px;scroll-margin-top:30px}.prose h2:first-child{margin-top:0}.prose p{margin:0 0 22px;font-size:16px;line-height:1.9;color:#334b4d}.article-end{border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:12px}.related{border-top:1px solid var(--line);padding-top:28px;margin-bottom:55px}.related h2{font:normal 27px var(--serif)}.related-links{display:grid;grid-template-columns:1fr 1fr;gap:30px}.related-links a{font:normal 22px/1.35 var(--serif);text-decoration:none;color:var(--green)}.js-only{display:none}.js .js-only{display:flex}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:28px;padding:45px 0}.hero h1{letter-spacing:-2px}.hero-aside{max-width:500px}.featured{grid-template-columns:1fr 1fr}.feature-copy{padding:27px}.article-layout{grid-template-columns:170px 1fr;gap:30px}.post-row{grid-template-columns:35px 1fr 110px;gap:14px}.about{gap:30px}}@media(max-width:600px){.wrap{padding:0 21px}.site-header{min-height:88px;gap:12px}.brand strong{font-size:18px}.monogram{width:34px;height:34px;font-size:21px}nav{gap:15px;font-size:12px}.hero h1{font-size:49px}.featured{grid-template-columns:1fr;margin-bottom:43px}.feature-art{min-height:265px;padding:25px}.feature-art svg{height:145px}.feature-copy{padding:28px}.tools{align-items:start;flex-direction:column}.search{width:100%}.search input{flex:1}.post-row{grid-template-columns:29px 1fr;gap:10px;padding:25px 0}.post-row h3{font-size:25px}.row-side{grid-column:2;text-align:left;padding:0}.row-side a{margin:0 0 0 16px}.about{grid-template-columns:1fr;padding:27px;gap:8px;margin:43px 0}.about h2{margin-bottom:14px}.article-layout{grid-template-columns:1fr;gap:28px}.article-aside{position:static}.article-aside nav{display:none}.article-aside p{font-size:22px;margin-bottom:0}.article-header{padding-top:30px}.back{margin-bottom:25px}.article-lead{font-size:17px}.related-links{grid-template-columns:1fr}footer{align-items:start;flex-direction:column;gap:8px}.preview{font-size:10px}.preview span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.preview,.site-header,.article-aside,.related,footer,.tools{display:none!important}body{background:white}.wrap{max-width:none;padding:0}.article-layout{display:block}.article-header{padding-top:0}.back{display:none}.prose p{font-size:11pt}.article-header h1{font-size:30pt}h2{break-after:avoid}}
.calendar-note{font-size:13px;color:var(--muted);margin:0 0 22px;max-width:780px}.prose a{color:var(--green)}

.prose pre{max-width:100%;overflow-x:auto;padding:18px 20px;margin:0 0 26px;border:1px solid var(--line);border-radius:6px;background:#eef3ef;line-height:1.65;tab-size:2}.prose pre code{font:12px/1.65 ui-monospace,Consolas,monospace;white-space:pre;color:#233d36}@media print{.prose pre{white-space:pre-wrap;overflow:visible}.prose pre code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:9pt}}

/* Keep wide code examples inside their grid track, including on phones. */
.article-layout>*{min-width:0}.prose{min-width:0;overflow-wrap:anywhere}.prose pre{width:100%;min-width:0}
@media(max-width:600px){.article-layout{grid-template-columns:minmax(0,1fr)}.prose pre{padding:14px 12px;white-space:pre-wrap;overflow-wrap:anywhere}.prose pre code{font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}}

.article-author{font-size:13px;color:var(--muted);margin:0 0 16px}.article-author a{color:var(--green)}
@media(max-width:600px){.site-header{flex-wrap:wrap;padding:18px 0}.site-header nav{flex-wrap:wrap;gap:18px}.brand small{letter-spacing:.08em;font-size:9px}}
