:root{--bg:#f8f5ef;--paper:#fffdf8;--sage:#a3b19b;--sage-l:#e3e8dc;--sand:#e8dcc8;--forest:#2f4a3a;--ink:#2b2a27;--muted:#6b6a63;--line:#e4dccd}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.75 "Source Sans 3","Helvetica Neue",Arial,sans-serif}
h1,h2,h3,h4,.brand{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;color:var(--forest);font-weight:600;line-height:1.2}
h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:.2em 0}h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:2em 0 .5em}h3{font-size:1.45rem;margin:1.6em 0 .4em}
a{color:var(--forest)}a:hover{color:#4f7a5f}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.narrow{max-width:740px;margin:0 auto;padding:0 24px}
header.site{border-bottom:1px solid var(--line);background:var(--paper)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}
.brand{font-size:1.7rem;text-decoration:none;letter-spacing:.02em}.brand span{color:#6f8466}
nav a{margin-left:22px;text-decoration:none;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}nav a:hover{color:var(--forest)}
.hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;color:#fff;background:#2f4a3a center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,24,.1),rgba(20,30,24,.65))}
.hero .wrap{position:relative;z-index:1;padding-bottom:9vh}.hero h1{color:#fff;max-width:760px}.hero p{max-width:600px;font-size:1.15rem}
.btn{display:inline-block;background:var(--forest);color:#fff!important;padding:12px 26px;border-radius:999px;text-decoration:none;font-size:.95rem;letter-spacing:.04em;border:0;cursor:pointer}
.btn.light{background:var(--sand);color:var(--forest)!important}
section{padding:80px 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--muted)}
.grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card .in{padding:22px 24px 26px}.card h3{margin-top:.2em}
.card p{color:var(--muted);font-size:.98rem}
.pillars{background:var(--sage-l)}.sandbg{background:var(--sand)}
.newsletter{background:var(--forest);color:#f3efe6;text-align:center}.newsletter h2{color:#fff;margin-top:0}
.newsletter form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.newsletter input{padding:12px 18px;border-radius:999px;border:0;min-width:260px;font-size:1rem}
article.post{background:var(--paper);padding:56px 0 72px}
.post-hero{width:100%;max-height:520px;object-fit:cover}
.meta{color:var(--muted);font-size:.9rem}
.notice{background:var(--sand);border-radius:10px;padding:14px 18px;font-size:.92rem;margin:20px 0}
.notice.health{background:#f1e9e1;border-left:4px solid #b4825a}
.product{border:1px solid var(--line);border-left:5px solid var(--sage);border-radius:12px;padding:22px 24px;margin:28px 0;background:#fbf9f3}
.product h4{font-size:1.3rem;margin:0 0 .3em}.product .tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.product ul{margin:.4em 0 .8em;padding-left:1.2em}.product .links{font-size:.9rem;word-break:break-all;color:var(--muted)}
.product .price{font-style:italic;color:var(--forest)}
.acc{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.acc .product{margin:0}
figure{margin:32px 0}figcaption,.credit{font-size:.8rem;color:var(--muted);margin-top:6px}
blockquote{border-left:3px solid var(--sage);margin:28px 0;padding:4px 20px;font-family:Georgia,serif;font-style:italic;color:var(--forest)}
ol.sources{font-size:.88rem;color:var(--muted)}
footer.site{border-top:1px solid var(--line);padding:40px 0;font-size:.88rem;color:var(--muted);background:var(--paper)}
footer.site a{margin-right:16px}
.page-head{padding:70px 0 20px;text-align:center}
@media(max-width:640px){body{font-size:17px}nav a{margin:0 14px 0 0;font-size:.8rem}section{padding:56px 0}.hero{min-height:60vh}}

/*seo*/.product h3{font-size:1.3rem;margin:0 0 .3em}.lede{font-size:1.08rem}.faq h3{font-size:1.25rem}.related ul{padding-left:1.2em}.cat-h{text-align:center;font-size:1.6rem;margin:0 0 24px}
