:root{
  --bg:#f6f8f2; --card:#fffffe; --line:#e2e7d8; --ink:#232a20; --ink-soft:#5c6553;
  --green:#4a7a52; --green-deep:#356040; --clay:#b07b53; --cream:#eef2e6;
  --serif:"Hoefler Text","Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:"Avenir Next","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --maxw:1080px; --read:64ch;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#14170f; --card:#1a1e15; --line:#2a3020; --ink:#eef1e6; --ink-soft:#aab29a; --green:#7fae83; --green-deep:#7fae83; --cream:#20261a; }
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.72;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.narrow{max-width:var(--read);margin:0 auto}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-9999px}.skip:focus{position:fixed;left:8px;top:8px;background:var(--green);color:#fff;padding:8px 14px;border-radius:6px;z-index:99}
header.site{padding:26px 0 20px;text-align:center;border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-size:30px;letter-spacing:.02em;font-weight:600;display:inline-flex;align-items:center;gap:11px}
.brand .leaf{width:26px;height:26px}
nav.mast{margin-top:16px;display:flex;gap:30px;justify-content:center;flex-wrap:wrap;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
nav.mast a{padding-bottom:3px;border-bottom:1px solid transparent;transition:.15s}
nav.mast a:hover,nav.mast a[aria-current="true"]{color:var(--ink);border-color:var(--green)}
.hero{position:relative;height:min(62vh,540px);margin-bottom:8px;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover}
.hero .veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,25,15,.72),rgba(20,25,15,.15) 55%,rgba(20,25,15,.35))}
.hero .cap{position:absolute;left:0;right:0;bottom:0;padding:0 26px 46px}
.hero .cap .inner{max-width:var(--maxw);margin:0 auto;color:#fff}
.hero .eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.hero h1{font-family:var(--serif);font-size:clamp(30px,5vw,52px);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:12px 0 12px;max-width:16ch}
.hero p{font-size:18px;max-width:52ch;opacity:.92}
.hero a.more{display:inline-block;margin-top:18px;color:#fff;border-bottom:2px solid var(--green);padding-bottom:3px;font-weight:600}
section{padding:44px 0}
.rule{text-align:center;font-family:var(--serif);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);position:relative;margin-bottom:34px}
.rule::before,.rule::after{content:"";position:absolute;top:50%;width:26%;height:1px;background:var(--line)}
.rule::before{left:0}.rule::after{right:0}
.posts{display:flex;flex-direction:column;gap:34px}
.item{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center}
.item:nth-child(even){grid-template-columns:1fr 300px}
.item:nth-child(even) .ph{order:2}
@media(max-width:720px){.item,.item:nth-child(even){grid-template-columns:1fr}.item:nth-child(even) .ph{order:0}}
.item .ph{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--cream)}
.item .ph img{width:100%;height:100%;object-fit:cover}
.item .cat{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep);font-weight:600}
.item h3{font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.2;margin:8px 0 8px}
.item h3 a:hover{color:var(--green-deep)}
.item p{color:var(--ink-soft);font-size:16px}
.item .meta{margin-top:10px;font-size:13px;color:var(--ink-soft);font-style:italic}
.topics{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.chip{display:block;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:12px 24px;font-family:var(--serif);font-size:17px;transition:.15s}
.chip:hover{border-color:var(--green);color:var(--green-deep)}
.crumbs{font-size:13px;color:var(--ink-soft);padding-top:24px}
.crumbs a{color:var(--green-deep)}.crumbs span{padding:0 7px;opacity:.5}
article.doc{max-width:var(--read);margin:0 auto;padding:14px 26px 48px}
.eyebrow2{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep)}
article.doc h1{font-family:var(--serif);font-size:clamp(30px,4.6vw,46px);font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:10px 0 14px}
.byline{font-size:14px;color:var(--ink-soft);font-style:italic;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:8px}
article.doc figure.lead{margin:10px 0;border-radius:18px;overflow:hidden;aspect-ratio:16/9}
article.doc figure.lead img{width:100%;height:100%;object-fit:cover}
article.doc figure.lead figcaption{display:none}
article.doc h2{font-family:var(--serif);font-size:28px;font-weight:600;margin:36px 0 12px;letter-spacing:-.01em}
article.doc h3{font-size:19px;margin:24px 0 8px;font-weight:700}
article.doc p{font-size:18.5px;margin:16px 0;color:color-mix(in srgb,var(--ink) 90%,var(--ink-soft))}
article.doc ul,article.doc ol{margin:14px 0 14px 26px}
article.doc li{font-size:18.5px;margin:9px 0;color:color-mix(in srgb,var(--ink) 90%,var(--ink-soft))}
article.doc strong{color:var(--ink)}
article.doc a{color:var(--green-deep);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--green) 40%,transparent)}
article.doc code{font-family:ui-monospace,Consolas,monospace;font-size:.9em;background:var(--cream);padding:1px 6px;border-radius:4px}
article.doc table{width:100%;border-collapse:collapse;margin:24px 0;font-size:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
article.doc th{background:var(--cream);text-align:left;padding:11px 15px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line)}
article.doc td{padding:11px 15px;border-bottom:1px solid var(--line)}
article.doc tr:last-child td{border-bottom:none}
article.doc blockquote{border-left:3px solid var(--green);background:var(--cream);padding:14px 20px;margin:24px 0;border-radius:0 12px 12px 0}
.leafnote,.answer{background:var(--cream);border-radius:14px;padding:20px 24px;margin:26px 0;font-size:16.5px}
.leafnote b,.answer b{color:var(--green-deep);display:block;margin-bottom:5px;font-family:var(--serif);font-size:17px}
.answer{border:1px solid color-mix(in srgb,var(--green) 30%,var(--line))}
.toc{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:18px 24px;margin:24px 0}
.toc b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.toc ul{list-style:none;margin:10px 0 0}.toc li{margin:7px 0}.toc a{color:var(--green-deep);font-size:16px;font-family:var(--serif)}
.faq{max-width:var(--read);margin:0 auto;padding:0 26px 20px}
.faq h2{font-family:var(--serif);font-size:26px;font-weight:600;margin-bottom:14px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:17px;font-family:var(--serif);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"\273F  ";color:var(--green)}
.faq p{padding:0 0 14px;color:var(--ink-soft);font-size:16px}
.cathead{padding:44px 0 6px;text-align:center}
.cathead h1{font-family:var(--serif);font-size:clamp(30px,4.4vw,44px);font-weight:600;margin:8px 0 12px}
.cathead p{color:var(--ink-soft);font-size:17.5px;max-width:60ch;margin:0 auto}
.soon{max-width:var(--read);margin:32px auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 28px}
.soon b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.soon ul{list-style:none;margin-top:12px}.soon li{padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-family:var(--serif);font-size:18px}
.soon li:last-child{border:none}.soon li::before{content:"\273F  ";color:var(--green)}
footer.site{border-top:1px solid var(--line);margin-top:30px;padding:40px 0;text-align:center;color:var(--ink-soft)}
footer.site .brand{font-size:22px;margin-bottom:12px}
.fnav{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;font-size:14px;margin-bottom:18px}
.fnav a:hover{color:var(--green-deep)}
.fine{font-size:12.5px;line-height:1.6;max-width:74ch;margin:0 auto;color:var(--ink-soft)}
.oops{min-height:50vh;display:grid;place-items:center;text-align:center;padding:60px 26px}
.oops h1{font-family:var(--serif);font-size:60px;color:var(--green-deep)}

:root{--green:#4a7a52;--green-deep:#356040}